zstan commented on code in PR #1675: URL: https://github.com/apache/ignite-3/pull/1675#discussion_r1119623152
########## modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/AggregatePlannerTest.java: ########## @@ -17,466 +17,371 @@ package org.apache.ignite.internal.sql.engine.planner; -import static org.apache.ignite.internal.util.ArrayUtils.concat; -import static org.apache.ignite.internal.util.CollectionUtils.first; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static java.util.function.Predicate.not; -import java.math.BigDecimal; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; import java.util.function.Predicate; -import java.util.stream.Stream; -import org.apache.calcite.plan.RelOptUtil; -import org.apache.calcite.rel.SingleRel; -import org.apache.calcite.rel.core.Aggregate; -import org.apache.calcite.rel.core.AggregateCall; -import org.apache.calcite.rel.core.Join; -import org.apache.calcite.rel.type.RelDataType; -import org.apache.calcite.rel.type.RelDataTypeFactory; -import org.apache.calcite.sql.SqlExplainLevel; -import org.apache.calcite.sql.fun.SqlAvgAggFunction; -import org.apache.ignite.internal.sql.engine.rel.IgniteAggregate; -import org.apache.ignite.internal.sql.engine.rel.IgniteIndexScan; -import org.apache.ignite.internal.sql.engine.rel.IgniteRel; +import org.apache.calcite.rel.RelCollation; +import org.apache.calcite.rel.RelNode; +import org.apache.ignite.internal.sql.engine.rel.IgniteCorrelatedNestedLoopJoin; +import org.apache.ignite.internal.sql.engine.rel.IgniteExchange; +import org.apache.ignite.internal.sql.engine.rel.IgniteLimit; +import org.apache.ignite.internal.sql.engine.rel.IgniteMergeJoin; import org.apache.ignite.internal.sql.engine.rel.IgniteSort; -import org.apache.ignite.internal.sql.engine.rel.agg.IgniteColocatedAggregateBase; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteColocatedHashAggregate; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteColocatedSortAggregate; -import org.apache.ignite.internal.sql.engine.rel.agg.IgniteMapAggregateBase; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteMapHashAggregate; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteMapSortAggregate; -import org.apache.ignite.internal.sql.engine.rel.agg.IgniteReduceAggregateBase; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteReduceHashAggregate; import org.apache.ignite.internal.sql.engine.rel.agg.IgniteReduceSortAggregate; import org.apache.ignite.internal.sql.engine.schema.IgniteSchema; -import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution; -import org.apache.ignite.internal.sql.engine.trait.IgniteDistributions; -import org.apache.ignite.internal.sql.engine.trait.TraitUtils; -import org.apache.ignite.internal.util.Pair; -import org.hamcrest.core.IsInstanceOf; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.EnumSource; -import org.junit.jupiter.params.provider.MethodSource; /** - * AggregatePlannerTest. - * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859 + * Test that verifies plans for queries with aggregates. + * The test should not disable any rules and validates the best query plans. Review Comment: Ok we not disable any rules here, but wait appropriate aggregate algo to be involved, i.e. : ` assertPlan(sql, schema, nodeOrAnyChild(isInstanceOf(IgniteColocatedHashAggregate.class) ` If cost model or calcite inner implementation will be changed - seems we will be forced to change failed tests automatically and blindly i understand that older implementation was the same, but do u think it`s still suitable? -- 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]
