AMashenkov commented on code in PR #1603:
URL: https://github.com/apache/ignite-3/pull/1603#discussion_r1092165794


##########
modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java:
##########
@@ -185,36 +252,42 @@ public void testAnyValAggr() {
         assertEquals("Ilya", val);
     }
 
-    @Test
-    public void testColocatedAggregate() {
-        sql("CREATE TABLE t1(id INT, val0 VARCHAR, val1 VARCHAR, val2 VARCHAR, 
PRIMARY KEY(id, val1)) "
-                + "COLOCATE BY (val1)");
-
-        sql("CREATE TABLE t2(id INT, val0 VARCHAR, val1 VARCHAR, val2 VARCHAR, 
PRIMARY KEY(id, val1)) "
-                + "COLOCATE BY (val1)");
-
-        for (int i = 0; i < 100; i++) {
-            sql("INSERT INTO t1 VALUES (?, ?, ?, ?)", i, "val" + i, "val" + i 
% 2, "val" + i);
+    @ParameterizedTest
+    @MethodSource("provideRules")
+    public void testColocatedAggregate(String[] rules) {
+        try {
+            sql("CREATE TABLE t1(id INT, val0 VARCHAR, val1 VARCHAR, val2 
VARCHAR, PRIMARY KEY(id, val1)) "
+                    + "COLOCATE BY (val1)");
+
+            sql("CREATE TABLE t2(id INT, val0 VARCHAR, val1 VARCHAR, val2 
VARCHAR, PRIMARY KEY(id, val1)) "
+                    + "COLOCATE BY (val1)");
+
+            for (int i = 0; i < 100; i++) {
+                sql("INSERT INTO t1 VALUES (?, ?, ?, ?)", i, "val" + i, "val" 
+ i % 2, "val" + i);
+            }
+
+            sql("INSERT INTO t2 VALUES (0, 'val0', 'val0', 'val0'), (1, 
'val1', 'val1', 'val1')");
+
+            String sql = "SELECT val1, count(val2) FROM t1 GROUP BY val1";
+
+            assertQuery(sql)
+                    .disableRules(rules)
+                    .returns("val0", 50L)
+                    .returns("val1", 50L)
+                    .check();
+
+            sql = "SELECT t2.val1, agg.cnt "
+                    + "FROM t2 JOIN (SELECT val1, COUNT(val2) AS cnt FROM t1 
GROUP BY val1) AS agg ON t2.val1 = agg.val1";
+
+            assertQuery(sql)
+                    .disableRules(rules)
+                    .returns("val0", 50L)
+                    .returns("val1", 50L)
+                    .check();
+        } finally {
+            sql("DROP TABLE IF EXISTS t1");
+            sql("DROP TABLE IF EXISTS t2");
         }
-
-        sql("INSERT INTO t2 VALUES (0, 'val0', 'val0', 'val0'), (1, 'val1', 
'val1', 'val1')");
-
-        String sql = "SELECT val1, count(val2) FROM t1 GROUP BY val1";
-
-        assertQuery(sql)
-                
.matches(QueryChecker.matches(".*Exchange.*Colocated.*Aggregate.*"))

Review Comment:
   I guess we checked here some pushdown-aggregate rules are applied,
   but now we disable rules and never check any rules are applied.
   Should we have both kind of tests?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to