This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch aggregates-rules
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 5a0321144632a4aa8ade35a7d5e370dbf74b4516
Author: amashenkov <[email protected]>
AuthorDate: Tue Apr 16 02:48:45 2024 +0300

    Cleanup code.
---
 .../internal/sql/engine/ItAggregatesTest.java      |  4 +-
 .../internal/sql/engine/prepare/PlannerPhase.java  | 10 +--
 .../engine/rule/HashAggregateConverterRule.java    | 91 --------------------
 ...oseRule.java => HashAggregatePushDownRule.java} | 18 ++--
 .../engine/rule/SortAggregateConverterRule.java    | 99 ----------------------
 ...oseRule.java => SortAggregatePushDownRule.java} | 18 ++--
 .../planner/ColocatedHashAggregatePlannerTest.java |  2 -
 .../planner/ColocatedSortAggregatePlannerTest.java |  2 -
 .../planner/MapReduceHashAggregatePlannerTest.java |  1 -
 .../planner/MapReduceSortAggregatePlannerTest.java |  1 -
 .../internal/sql/BaseSqlIntegrationTest.java       |  2 -
 11 files changed, 24 insertions(+), 224 deletions(-)

diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
index 86cbb06e67..c71cd1e8ae 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
@@ -729,10 +729,10 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
     private static Stream<Arguments> rulesForGroupingSets() {
         List<Object[]> rules = Arrays.asList(
                 // Use map/reduce aggregates for grouping sets
-                new String[]{"ColocatedHashAggregateConverterRule", 
"ColocatedSortAggregateConverterRule"},
+                new String[]{},
 
                 // Use colocated aggregates grouping sets
-                new String[]{"MapReduceHashAggregateConverterRule", 
"ColocatedSortAggregateConverterRule"}
+                new String[]{"MapReduceHashAggregateConverterRule", 
"MapReduceSortAggregateConverterRule"}
         );
 
         return rules.stream().map(Object.class::cast).map(Arguments::of);
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PlannerPhase.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PlannerPhase.java
index de6b738f29..f945aa3064 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PlannerPhase.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PlannerPhase.java
@@ -50,14 +50,14 @@ import 
org.apache.ignite.internal.sql.engine.rule.FilterConverterRule;
 import 
org.apache.ignite.internal.sql.engine.rule.FilterSpoolMergeToHashIndexSpoolRule;
 import 
org.apache.ignite.internal.sql.engine.rule.FilterSpoolMergeToSortedIndexSpoolRule;
 import org.apache.ignite.internal.sql.engine.rule.HashAggregateConverterRule;
-import 
org.apache.ignite.internal.sql.engine.rule.HashAggregateExchangeTransposeRule;
+import org.apache.ignite.internal.sql.engine.rule.HashAggregatePushDownRule;
 import org.apache.ignite.internal.sql.engine.rule.LogicalScanConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.MergeJoinConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.NestedLoopJoinConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.ProjectConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.SetOpConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.SortAggregateConverterRule;
-import 
org.apache.ignite.internal.sql.engine.rule.SortAggregateExchangeTransposeRule;
+import org.apache.ignite.internal.sql.engine.rule.SortAggregatePushDownRule;
 import org.apache.ignite.internal.sql.engine.rule.SortConverterRule;
 import org.apache.ignite.internal.sql.engine.rule.SortExchangeTransposeRule;
 import 
org.apache.ignite.internal.sql.engine.rule.TableFunctionScanConverterRule;
@@ -235,11 +235,9 @@ public enum PlannerPhase {
             LogicalScanConverterRule.TABLE_SCAN,
             LogicalScanConverterRule.SYSTEM_VIEW_SCAN,
             HashAggregateConverterRule.COLOCATED,
-            // HashAggregateConverterRule.MAP_REDUCE,
-            HashAggregateExchangeTransposeRule.HASH_AGGREGATE_PUSH_DOWN,
             SortAggregateConverterRule.COLOCATED,
-            SortAggregateExchangeTransposeRule.SORT_AGGREGATE_PUSH_DOWN,
-            // SortAggregateConverterRule.MAP_REDUCE,
+            HashAggregatePushDownRule.HASH_AGGREGATE_PUSH_DOWN,
+            SortAggregatePushDownRule.SORT_AGGREGATE_PUSH_DOWN,
             SetOpConverterRule.COLOCATED_MINUS,
             SetOpConverterRule.MAP_REDUCE_MINUS,
             SetOpConverterRule.COLOCATED_INTERSECT,
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateConverterRule.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateConverterRule.java
index 70a088c4d0..0cbd89982c 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateConverterRule.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateConverterRule.java
@@ -17,10 +17,6 @@
 
 package org.apache.ignite.internal.sql.engine.rule;
 
-import static 
org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates.canBeImplementedAsMapReduce;
-import static 
org.apache.ignite.internal.sql.engine.util.PlanUtils.complexDistinctAgg;
-
-import java.util.List;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelOptPlanner;
 import org.apache.calcite.plan.RelOptRule;
@@ -28,23 +24,11 @@ import org.apache.calcite.plan.RelOptRuleCall;
 import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.PhysicalNode;
 import org.apache.calcite.rel.RelNode;
-import org.apache.calcite.rel.core.AggregateCall;
 import org.apache.calcite.rel.logical.LogicalAggregate;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rex.RexNode;
-import org.apache.calcite.util.ImmutableBitSet;
-import org.apache.calcite.util.mapping.Mapping;
 import org.apache.ignite.internal.sql.engine.rel.IgniteConvention;
-import org.apache.ignite.internal.sql.engine.rel.IgniteProject;
-import org.apache.ignite.internal.sql.engine.rel.IgniteRel;
 import 
org.apache.ignite.internal.sql.engine.rel.agg.IgniteColocatedHashAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.IgniteMapHashAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.IgniteReduceHashAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates;
-import 
org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates.AggregateRelBuilder;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistributions;
-import org.apache.ignite.internal.sql.engine.util.Commons;
 import org.apache.ignite.internal.sql.engine.util.HintUtils;
 
 /**
@@ -54,8 +38,6 @@ import org.apache.ignite.internal.sql.engine.util.HintUtils;
 public class HashAggregateConverterRule {
     public static final RelOptRule COLOCATED = new 
ColocatedHashAggregateConverterRule();
 
-    public static final RelOptRule MAP_REDUCE = new 
MapReduceHashAggregateConverterRule();
-
     private HashAggregateConverterRule() {
         // No-op.
     }
@@ -92,77 +74,4 @@ public class HashAggregateConverterRule {
             );
         }
     }
-
-    private static class MapReduceHashAggregateConverterRule extends 
AbstractIgniteConverterRule<LogicalAggregate> {
-        MapReduceHashAggregateConverterRule() {
-            super(LogicalAggregate.class, 
"MapReduceHashAggregateConverterRule");
-        }
-
-        @Override
-        public boolean matches(RelOptRuleCall call) {
-            LogicalAggregate aggregate = call.rel(0);
-
-            return !HintUtils.isExpandDistinctAggregate(aggregate)
-                    && canBeImplementedAsMapReduce(aggregate.getAggCallList())
-                    && !complexDistinctAgg(aggregate.getAggCallList());
-        }
-
-        /** {@inheritDoc} */
-        @Override
-        protected PhysicalNode convert(RelOptPlanner planner, RelMetadataQuery 
mq,
-                LogicalAggregate agg) {
-            RelOptCluster cluster = agg.getCluster();
-            RelTraitSet inTrait = 
cluster.traitSetOf(IgniteConvention.INSTANCE);
-            RelTraitSet outTrait = 
cluster.traitSetOf(IgniteConvention.INSTANCE);
-            Mapping fieldMappingOnReduce = 
Commons.trimmingMapping(agg.getGroupSet().length(), agg.getGroupSet());
-
-            RelTraitSet reducePhaseTraits = 
outTrait.replace(IgniteDistributions.single());
-
-            AggregateRelBuilder relBuilder = new AggregateRelBuilder() {
-
-                @Override
-                public IgniteRel makeMapAgg(RelOptCluster cluster, RelNode 
input, ImmutableBitSet groupSet,
-                        List<ImmutableBitSet> groupSets, List<AggregateCall> 
aggregateCalls) {
-                    return new IgniteMapHashAggregate(
-                            cluster,
-                            outTrait.replace(IgniteDistributions.random()),
-                            input,
-                            groupSet,
-                            groupSets,
-                            aggregateCalls
-                    );
-                }
-
-                @Override
-                public IgniteRel makeProject(RelOptCluster cluster, RelNode 
input, List<RexNode> reduceInputExprs,
-                        RelDataType projectRowType) {
-
-                    return new IgniteProject(
-                            agg.getCluster(),
-                            input.getTraitSet(),
-                            input,
-                            reduceInputExprs,
-                            projectRowType
-                    );
-                }
-
-                @Override
-                public IgniteRel makeReduceAgg(RelOptCluster cluster, RelNode 
input, ImmutableBitSet groupSet,
-                        List<ImmutableBitSet> groupSets, List<AggregateCall> 
aggregateCalls, RelDataType outputType) {
-
-                    return new IgniteReduceHashAggregate(
-                            cluster,
-                            reducePhaseTraits,
-                            convert(input, 
inTrait.replace(IgniteDistributions.single())),
-                            groupSet,
-                            groupSets,
-                            aggregateCalls,
-                            outputType
-                    );
-                }
-            };
-
-            return MapReduceAggregates.buildAggregates(agg, relBuilder, 
fieldMappingOnReduce);
-        }
-    }
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateExchangeTransposeRule.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregatePushDownRule.java
similarity index 92%
rename from 
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateExchangeTransposeRule.java
rename to 
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregatePushDownRule.java
index 22b7d12dda..006002f33c 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregateExchangeTransposeRule.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/HashAggregatePushDownRule.java
@@ -55,10 +55,10 @@ import org.immutables.value.Value;
  * phases.
  */
 @Value.Enclosing
-public class HashAggregateExchangeTransposeRule extends 
RelRule<HashAggregateExchangeTransposeRule.Config> {
-    public static final RelOptRule HASH_AGGREGATE_PUSH_DOWN = 
HashAggregateExchangeTransposeRule.Config.DEFAULT.toRule();
+public class HashAggregatePushDownRule extends 
RelRule<HashAggregatePushDownRule.Config> {
+    public static final RelOptRule HASH_AGGREGATE_PUSH_DOWN = 
HashAggregatePushDownRule.Config.DEFAULT.toRule();
 
-    
HashAggregateExchangeTransposeRule(HashAggregateExchangeTransposeRule.Config 
cfg) {
+    private HashAggregatePushDownRule(HashAggregatePushDownRule.Config cfg) {
         super(cfg);
     }
 
@@ -189,22 +189,22 @@ public class HashAggregateExchangeTransposeRule extends 
RelRule<HashAggregateExc
     }
 
     /** Configuration. */
-    @SuppressWarnings({"ClassNameSameAsAncestorName", 
"InnerClassFieldHidesOuterClassField"})
+    @SuppressWarnings({"ClassNameSameAsAncestorName"})
     @Value.Immutable
     public interface Config extends RelRule.Config {
-        HashAggregateExchangeTransposeRule.Config DEFAULT = 
ImmutableHashAggregateExchangeTransposeRule.Config.of()
-                .withDescription("HashAggregateExchangeTransposeRule")
+        HashAggregatePushDownRule.Config DEFAULT = 
ImmutableHashAggregatePushDownRule.Config.builder()
+                .withDescription("MapReduceHashAggregateConverterRule")
                 .withOperandSupplier(o0 ->
                         o0.operand(IgniteColocatedHashAggregate.class)
                                 .oneInput(o1 ->
                                         o1.operand(IgniteExchange.class)
                                                 .anyInputs()))
-                .as(HashAggregateExchangeTransposeRule.Config.class);
+                .build();
 
         /** {@inheritDoc} */
         @Override
-        default HashAggregateExchangeTransposeRule toRule() {
-            return new HashAggregateExchangeTransposeRule(this);
+        default HashAggregatePushDownRule toRule() {
+            return new HashAggregatePushDownRule(this);
         }
     }
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateConverterRule.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateConverterRule.java
index 5b90131995..d9f1c0752b 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateConverterRule.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateConverterRule.java
@@ -17,11 +17,6 @@
 
 package org.apache.ignite.internal.sql.engine.rule;
 
-import static 
org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates.canBeImplementedAsMapReduce;
-import static 
org.apache.ignite.internal.sql.engine.util.PlanUtils.complexDistinctAgg;
-import static org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
-
-import java.util.List;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelOptPlanner;
 import org.apache.calcite.plan.RelOptRule;
@@ -30,24 +25,12 @@ import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.PhysicalNode;
 import org.apache.calcite.rel.RelCollation;
 import org.apache.calcite.rel.RelNode;
-import org.apache.calcite.rel.core.AggregateCall;
 import org.apache.calcite.rel.logical.LogicalAggregate;
 import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rex.RexNode;
-import org.apache.calcite.util.ImmutableBitSet;
-import org.apache.calcite.util.mapping.Mapping;
 import org.apache.ignite.internal.sql.engine.rel.IgniteConvention;
-import org.apache.ignite.internal.sql.engine.rel.IgniteProject;
-import org.apache.ignite.internal.sql.engine.rel.IgniteRel;
 import 
org.apache.ignite.internal.sql.engine.rel.agg.IgniteColocatedSortAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.IgniteMapSortAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.IgniteReduceSortAggregate;
-import org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates;
-import 
org.apache.ignite.internal.sql.engine.rel.agg.MapReduceAggregates.AggregateRelBuilder;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistributions;
 import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
-import org.apache.ignite.internal.sql.engine.util.Commons;
 import org.apache.ignite.internal.sql.engine.util.HintUtils;
 import org.jetbrains.annotations.Nullable;
 
@@ -58,8 +41,6 @@ import org.jetbrains.annotations.Nullable;
 public class SortAggregateConverterRule {
     public static final RelOptRule COLOCATED = new 
ColocatedSortAggregateConverterRule();
 
-    public static final RelOptRule MAP_REDUCE = new 
MapReduceSortAggregateConverterRule();
-
     private SortAggregateConverterRule() {
         // No-op.
     }
@@ -105,84 +86,4 @@ public class SortAggregateConverterRule {
             );
         }
     }
-
-    private static class MapReduceSortAggregateConverterRule extends 
AbstractIgniteConverterRule<LogicalAggregate> {
-        MapReduceSortAggregateConverterRule() {
-            super(LogicalAggregate.class, 
"MapReduceSortAggregateConverterRule");
-        }
-
-        @Override
-        public boolean matches(RelOptRuleCall call) {
-            LogicalAggregate aggregate = call.rel(0);
-
-            return !HintUtils.isExpandDistinctAggregate(aggregate)
-                    && (nullOrEmpty(aggregate.getGroupSet()) || 
aggregate.getGroupSets().size() == 1)
-                    && canBeImplementedAsMapReduce(aggregate.getAggCallList())
-                    && !complexDistinctAgg(aggregate.getAggCallList());
-        }
-
-        /** {@inheritDoc} */
-        @Override
-        protected @Nullable PhysicalNode convert(RelOptPlanner planner, 
RelMetadataQuery mq, LogicalAggregate agg) {
-            RelOptCluster cluster = agg.getCluster();
-            RelCollation collation = 
TraitUtils.createCollation(agg.getGroupSet().asList());
-
-            // Create mapping to adjust fields on REDUCE phase.
-            Mapping fieldMappingOnReduce = 
Commons.trimmingMapping(agg.getGroupSet().length(), agg.getGroupSet());
-
-            // Adjust columns in output collation.
-            RelCollation outputCollation = 
collation.apply(fieldMappingOnReduce);
-
-            RelTraitSet inTraits = 
cluster.traitSetOf(IgniteConvention.INSTANCE).replace(collation);
-            RelTraitSet outTraits = 
cluster.traitSetOf(IgniteConvention.INSTANCE).replace(outputCollation);
-
-            AggregateRelBuilder relBuilder = new AggregateRelBuilder() {
-
-                @Override
-                public IgniteRel makeMapAgg(RelOptCluster cluster, RelNode 
input, ImmutableBitSet groupSet,
-                        List<ImmutableBitSet> groupSets, List<AggregateCall> 
aggregateCalls) {
-
-                    return new IgniteMapSortAggregate(
-                            cluster,
-                            outTraits.replace(IgniteDistributions.random()),
-                            convert(input, 
inTraits.replace(IgniteDistributions.random())),
-                            groupSet,
-                            groupSets,
-                            aggregateCalls,
-                            collation
-                    );
-                }
-
-                @Override
-                public IgniteRel makeProject(RelOptCluster cluster, RelNode 
input, List<RexNode> reduceInputExprs,
-                        RelDataType projectRowType) {
-
-                    return new IgniteProject(agg.getCluster(),
-                            outTraits.replace(IgniteDistributions.single()),
-                            convert(input, 
outTraits.replace(IgniteDistributions.single())),
-                            reduceInputExprs,
-                            projectRowType
-                    );
-                }
-
-                @Override
-                public IgniteRel makeReduceAgg(RelOptCluster cluster, RelNode 
input, ImmutableBitSet groupSet,
-                        List<ImmutableBitSet> groupSets, List<AggregateCall> 
aggregateCalls, RelDataType outputType) {
-
-                    return new IgniteReduceSortAggregate(
-                            cluster,
-                            outTraits.replace(IgniteDistributions.single()),
-                            convert(input, 
outTraits.replace(IgniteDistributions.single())),
-                            groupSet,
-                            groupSets,
-                            aggregateCalls,
-                            outputType,
-                            outputCollation
-                    );
-                }
-            };
-
-            return MapReduceAggregates.buildAggregates(agg, relBuilder, 
fieldMappingOnReduce);
-        }
-    }
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateExchangeTransposeRule.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregatePushDownRule.java
similarity index 92%
rename from 
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateExchangeTransposeRule.java
rename to 
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregatePushDownRule.java
index 47ffe20207..b021457c09 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregateExchangeTransposeRule.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/SortAggregatePushDownRule.java
@@ -56,10 +56,10 @@ import org.immutables.value.Value;
  * phases.
  */
 @Value.Enclosing
-public class SortAggregateExchangeTransposeRule extends 
RelRule<SortAggregateExchangeTransposeRule.Config> {
-    public static final RelOptRule SORT_AGGREGATE_PUSH_DOWN = 
SortAggregateExchangeTransposeRule.Config.DEFAULT.toRule();
+public class SortAggregatePushDownRule extends 
RelRule<SortAggregatePushDownRule.Config> {
+    public static final RelOptRule SORT_AGGREGATE_PUSH_DOWN = 
SortAggregatePushDownRule.Config.DEFAULT.toRule();
 
-    
SortAggregateExchangeTransposeRule(SortAggregateExchangeTransposeRule.Config 
cfg) {
+    private SortAggregatePushDownRule(SortAggregatePushDownRule.Config cfg) {
         super(cfg);
     }
 
@@ -197,22 +197,22 @@ public class SortAggregateExchangeTransposeRule extends 
RelRule<SortAggregateExc
     }
 
     /** Configuration. */
-    @SuppressWarnings({"ClassNameSameAsAncestorName", 
"InnerClassFieldHidesOuterClassField"})
+    @SuppressWarnings({"ClassNameSameAsAncestorName"})
     @Value.Immutable
     public interface Config extends RelRule.Config {
-        SortAggregateExchangeTransposeRule.Config DEFAULT = 
ImmutableSortAggregateExchangeTransposeRule.Config.of()
-                .withDescription("SortAggregateExchangeTransposeRule")
+        SortAggregatePushDownRule.Config DEFAULT = 
ImmutableSortAggregatePushDownRule.Config.builder()
+                .withDescription("MapReduceSortAggregateConverterRule")
                 .withOperandSupplier(o0 ->
                         o0.operand(IgniteColocatedSortAggregate.class)
                                 .oneInput(o1 ->
                                         o1.operand(IgniteExchange.class)
                                                 .anyInputs()))
-                .as(SortAggregateExchangeTransposeRule.Config.class);
+                .build();
 
         /** {@inheritDoc} */
         @Override
-        default SortAggregateExchangeTransposeRule toRule() {
-            return new SortAggregateExchangeTransposeRule(this);
+        default SortAggregatePushDownRule toRule() {
+            return new SortAggregatePushDownRule(this);
         }
     }
 }
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedHashAggregatePlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedHashAggregatePlannerTest.java
index d5c184bbbf..fec1474ed0 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedHashAggregatePlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedHashAggregatePlannerTest.java
@@ -48,9 +48,7 @@ import org.junit.jupiter.api.Test;
 public class ColocatedHashAggregatePlannerTest extends 
AbstractAggregatePlannerTest {
 
     private final String[] disableRules = {
-            "HashAggregateExchangeTransposeRule",
             "MapReduceHashAggregateConverterRule",
-            "SortAggregateExchangeTransposeRule",
             "MapReduceSortAggregateConverterRule",
             "ColocatedSortAggregateConverterRule"
     };
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedSortAggregatePlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedSortAggregatePlannerTest.java
index 38219bda43..8953888c80 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedSortAggregatePlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/ColocatedSortAggregatePlannerTest.java
@@ -47,10 +47,8 @@ import org.junit.jupiter.api.Test;
  */
 public class ColocatedSortAggregatePlannerTest extends 
AbstractAggregatePlannerTest {
     private final String[] disableRules = {
-            "HashAggregateExchangeTransposeRule",
             "MapReduceHashAggregateConverterRule",
             "MapReduceSortAggregateConverterRule",
-            "SortAggregateExchangeTransposeRule",
             "ColocatedHashAggregateConverterRule"
     };
 
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceHashAggregatePlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceHashAggregatePlannerTest.java
index ba05af4de4..05e3a54267 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceHashAggregatePlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceHashAggregatePlannerTest.java
@@ -51,7 +51,6 @@ import org.junit.jupiter.api.Test;
  */
 public class MapReduceHashAggregatePlannerTest extends 
AbstractAggregatePlannerTest {
     private final String[] disableRules = {
-            "SortAggregateExchangeTransposeRule",
             "MapReduceSortAggregateConverterRule",
             "ColocatedSortAggregateConverterRule"
     };
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceSortAggregatePlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceSortAggregatePlannerTest.java
index e570a0e384..76fca16b6c 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceSortAggregatePlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/MapReduceSortAggregatePlannerTest.java
@@ -52,7 +52,6 @@ import org.junit.jupiter.api.Test;
  */
 public class MapReduceSortAggregatePlannerTest extends 
AbstractAggregatePlannerTest {
     private final String[] disableRules = {
-            "HashAggregateExchangeTransposeRule",
             "MapReduceHashAggregateConverterRule",
             "ColocatedHashAggregateConverterRule",
     };
diff --git 
a/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/BaseSqlIntegrationTest.java
 
b/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/BaseSqlIntegrationTest.java
index 4ab357b282..010c5313de 100644
--- 
a/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/BaseSqlIntegrationTest.java
+++ 
b/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/BaseSqlIntegrationTest.java
@@ -139,12 +139,10 @@ public class BaseSqlIntegrationTest extends 
ClusterPerClassIntegrationTest {
     protected enum AggregateType {
         SORT(
                 "ColocatedHashAggregateConverterRule",
-                "ColocatedSortAggregateConverterRule",
                 "MapReduceHashAggregateConverterRule"
         ),
 
         HASH(
-                "ColocatedHashAggregateConverterRule",
                 "ColocatedSortAggregateConverterRule",
                 "MapReduceSortAggregateConverterRule"
         );

Reply via email to