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

Reply via email to