This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 9b91a4a5600 branch-2.1: [test](nereids) add test for normalize sort #45890 (#46112) 9b91a4a5600 is described below commit 9b91a4a5600d328fc69a3fdf36c1009bc59c1047 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Mon Dec 30 10:19:40 2024 +0800 branch-2.1: [test](nereids) add test for normalize sort #45890 (#46112) Cherry-picked from #45890 Co-authored-by: yujun <yu...@selectdb.com> --- .../nereids/rules/rewrite/NormalizeSortTest.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/NormalizeSortTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/NormalizeSortTest.java index a2bd55092b9..972969c222a 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/NormalizeSortTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/NormalizeSortTest.java @@ -21,6 +21,7 @@ import org.apache.doris.nereids.properties.OrderKey; import org.apache.doris.nereids.trees.expressions.Add; import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.StatementScopeIdGenerator; import org.apache.doris.nereids.trees.expressions.literal.IntegerLiteral; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; @@ -31,10 +32,12 @@ import org.apache.doris.nereids.util.MemoTestUtils; import org.apache.doris.nereids.util.PlanChecker; import org.apache.doris.nereids.util.PlanConstructor; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import org.junit.jupiter.api.Test; import java.util.List; +import java.util.stream.Collectors; /** * NormalizeSortTest ut @@ -70,4 +73,27 @@ class NormalizeSortTest implements MemoPatternMatchSupported { alias.toSql()))))) .when(p -> p.getOutput().equals(plan.getOutput()))); } + + @Test + void testOrderByOneSlotOneNot() { + Expression add = new Add(score.getOutput().get(0), new IntegerLiteral(1)); + List<OrderKey> orderKeys = Lists.newArrayList(new OrderKey(add, true, true), + new OrderKey(score.getOutput().get(2), true, true)); + LogicalPlan plan = new LogicalPlanBuilder(score).sort(orderKeys).build(); + PlanChecker.from(MemoTestUtils.createConnectContext(), plan) + .applyTopDown(new NormalizeSort()) + .matches(logicalProject(logicalSort(logicalProject().when(p -> p.getProjects().stream().map(Expression::toSql).collect(Collectors.toList()).equals( + ImmutableList.<NamedExpression>builder().addAll(score.getOutput()).add(new Alias(add)).build().stream().map(Expression::toSql).collect(Collectors.toList()))))) + .when(p -> p.getOutput().equals(plan.getOutput()))); + } + + @Test + void testOrderByAllKeySlot() { + List<OrderKey> orderKeys = Lists.newArrayList(new OrderKey(score.getOutput().get(2), true, true), + new OrderKey(score.getOutput().get(0), true, true)); + LogicalPlan plan = new LogicalPlanBuilder(score).sort(orderKeys).build(); + PlanChecker.from(MemoTestUtils.createConnectContext(), plan) + .applyTopDown(new NormalizeSort()) + .matchesFromRoot(logicalSort(logicalOlapScan().when(scan -> scan.equals(score)))); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org