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 <[email protected]>
---
.../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: [email protected]
For additional commands, e-mail: [email protected]