[teiid-commits] teiid SVN: r3183 - in branches/7.4.x: engine/src/main/java/org/teiid/query/metadata and 2 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri May 20 10:50:24 EDT 2011


Author: shawkins
Date: 2011-05-20 10:50:24 -0400 (Fri, 20 May 2011)
New Revision: 3183

Added:
   branches/7.4.x/metadata/src/test/java/org/teiid/metadata/index/TestStagingTable.java
   branches/7.4.x/metadata/src/test/resources/test.vdb
Modified:
   branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/RuntimeMetadataImpl.java
   branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/CompositeMetadataStore.java
   branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
Log:
TEIID-1597 fix for index metadata issues - not seen with fake metadata

Modified: branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/RuntimeMetadataImpl.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/RuntimeMetadataImpl.java	2011-05-20 14:46:55 UTC (rev 3182)
+++ branches/7.4.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/RuntimeMetadataImpl.java	2011-05-20 14:50:24 UTC (rev 3183)
@@ -79,7 +79,7 @@
     }
 
 	public Table getGroup(Object groupId) throws QueryMetadataException, TeiidComponentException {
-		if (!metadata.isVirtualGroup(groupId) && groupId instanceof Table) {
+		if (groupId instanceof Table && !metadata.isVirtualGroup(groupId)) {
 			return (Table)groupId;
 		}
 		return null;

Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/CompositeMetadataStore.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/CompositeMetadataStore.java	2011-05-20 14:46:55 UTC (rev 3182)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/CompositeMetadataStore.java	2011-05-20 14:50:24 UTC (rev 3183)
@@ -146,7 +146,7 @@
 
 	public Collection<Table> getXMLTempGroups(Table tableRecord) {
 		ArrayList<Table> results = new ArrayList<Table>();
-		String namePrefix = tableRecord.getFullName() + TransformationMetadata.DELIMITER_STRING;
+		String namePrefix = tableRecord.getName() + TransformationMetadata.DELIMITER_STRING;
 		for (Table table : tableRecord.getParent().getTables().values()) {
 			if (table.getTableType() == Type.XmlStagingTable && table.getName().startsWith(namePrefix)) {
 				results.add(table);

Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java	2011-05-20 14:46:55 UTC (rev 3182)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java	2011-05-20 14:50:24 UTC (rev 3183)
@@ -269,6 +269,10 @@
             	return parent;
             }
         } 
+        if(elementID instanceof ProcedureParameter) {
+        	ProcedureParameter columnRecord = (ProcedureParameter) elementID;
+            return columnRecord.getParent();
+        }
         throw createInvalidRecordTypeException(elementID);
     }
     

Added: branches/7.4.x/metadata/src/test/java/org/teiid/metadata/index/TestStagingTable.java
===================================================================
--- branches/7.4.x/metadata/src/test/java/org/teiid/metadata/index/TestStagingTable.java	                        (rev 0)
+++ branches/7.4.x/metadata/src/test/java/org/teiid/metadata/index/TestStagingTable.java	2011-05-20 14:50:24 UTC (rev 3183)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata.index;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.teiid.core.util.UnitTestUtil;
+import org.teiid.query.metadata.TransformationMetadata;
+
+ at SuppressWarnings("nls")
+public class TestStagingTable {
+
+	@Test public void testStagingTables() throws Exception {
+		TransformationMetadata tm = VDBMetadataFactory.getVDBMetadata(UnitTestUtil.getTestDataPath() + "/test.vdb");
+		
+		assertEquals(1, tm.getXMLTempGroups(tm.getGroupID("doc.newxmldocument")).size());
+	}
+	
+}


Property changes on: branches/7.4.x/metadata/src/test/java/org/teiid/metadata/index/TestStagingTable.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: branches/7.4.x/metadata/src/test/resources/test.vdb
===================================================================
(Binary files differ)


Property changes on: branches/7.4.x/metadata/src/test/resources/test.vdb
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream



More information about the teiid-commits mailing list