[teiid-commits] teiid SVN: r3469 - in branches/7.1.x/engine/src: test/java/org/teiid/query/optimizer and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue Sep 13 18:56:53 EDT 2011


Author: loleary
Date: 2011-09-13 18:56:53 -0400 (Tue, 13 Sep 2011)
New Revision: 3469

Modified:
   branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/FrameUtil.java
   branches/7.1.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java
Log:
TEIID-1571 - Fix for invalid merge

Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/FrameUtil.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/FrameUtil.java	2011-09-13 20:05:11 UTC (rev 3468)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/FrameUtil.java	2011-09-13 22:56:53 UTC (rev 3469)
@@ -260,7 +260,7 @@
                 ExpressionMappingVisitor.mapExpressions(groupBy, symbolMap);
                 node.setProperty(NodeConstants.Info.GROUP_COLS, groupBy.getSymbols());
                 if (!singleMapping) {
-                    GroupsUsedByElementsVisitor.getGroups(groupCols, groups);
+                    GroupsUsedByElementsVisitor.getGroups(groupBy, groups);
                 }
             }               
         } else if (type == NodeConstants.Types.SOURCE || type == NodeConstants.Types.ACCESS) {

Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java	2011-09-13 20:05:11 UTC (rev 3468)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/optimizer/TestRuleMergeVirtual.java	2011-09-13 22:56:53 UTC (rev 3469)
@@ -317,5 +317,16 @@
     
         TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);                                    
     }
+    
+    @Test public void testMergeGroupBy() throws Exception {
+    	BasicSourceCapabilities caps = TestAggregatePushdown.getAggregateCapabilities();
+    	caps.setFunctionSupport("+", true); //$NON-NLS-1$
+        ProcessorPlan plan = TestOptimizer.helpPlan("SELECT x FROM (select c.e1 as x from (select e1 from pm1.g1) as c, pm1.g2 as d) as a group by x", //$NON-NLS-1$
+                                      FakeMetadataFactory.example1Cached(), null, new DefaultCapabilitiesFinder(caps),
+                                      new String[] {
+                                          "SELECT g_0.e1 FROM pm1.g1 AS g_0, pm1.g2 AS g_1 GROUP BY g_0.e1"}, ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
+    
+        TestOptimizer.checkNodeTypes(plan, TestOptimizer.FULL_PUSHDOWN);                                    
+    }
 
 }



More information about the teiid-commits mailing list