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;
+
+@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
Show replies by date