[teiid-commits] teiid SVN: r1655 - in trunk/engine/src: test/java/com/metamatrix/query/processor and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Fri Dec 11 17:59:32 EST 2009
Author: shawkins
Date: 2009-12-11 17:59:31 -0500 (Fri, 11 Dec 2009)
New Revision: 1655
Modified:
trunk/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java
Log:
TEIID-904 fix for procedure relational failing even though there are no parameters
Modified: trunk/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java 2009-12-11 22:49:47 UTC (rev 1654)
+++ trunk/engine/src/main/java/com/metamatrix/query/resolver/command/SimpleQueryResolver.java 2009-12-11 22:59:31 UTC (rev 1655)
@@ -378,14 +378,15 @@
id = metadata.getMetadataStore().getTempGroupID(queryName);
id.setOriginalMetadataID(storedProcedureCommand.getProcedureID());
- List accessPatternIds = new LinkedList();
-
- for (Iterator i = accessPatternElementNames.iterator(); i.hasNext();) {
- String name = (String)i.next();
- accessPatternIds.add(metadata.getMetadataStore().getTempElementID(name));
+ if (!accessPatternElementNames.isEmpty()) {
+ List<TempMetadataID> accessPatternIds = new LinkedList<TempMetadataID>();
+
+ for (String name : accessPatternElementNames) {
+ accessPatternIds.add(metadata.getMetadataStore().getTempElementID(name));
+ }
+
+ id.setAccessPatterns(Arrays.asList(new TempMetadataID("procedure access pattern", accessPatternIds))); //$NON-NLS-1$
}
-
- id.setAccessPatterns(Arrays.asList(new TempMetadataID("procedure access pattern", accessPatternIds))); //$NON-NLS-1$
}
group.setMetadataID(id);
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java 2009-12-11 22:49:47 UTC (rev 1654)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcedureRelational.java 2009-12-11 22:59:31 UTC (rev 1655)
@@ -738,4 +738,20 @@
}
+ @Test public void testProcRelationalWithNoInputs() {
+ String sql = "select e1 from pm1.vsp2 order by e1 desc limit 1"; //$NON-NLS-1$
+
+ // Create expected results
+ List[] expected = new List[] {
+ Arrays.asList("c") //$NON-NLS-1$
+ };
+ // Construct data manager with data
+ FakeDataManager dataManager = new FakeDataManager();
+ TestProcessor.sampleData1(dataManager);
+ // Plan query
+ ProcessorPlan plan = TestProcessor.helpGetPlan(sql, FakeMetadataFactory.example1Cached());
+ // Run query
+ TestProcessor.helpProcess(plan, dataManager, expected);
+ }
+
}
More information about the teiid-commits
mailing list