You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ca...@apache.org on 2023/06/23 13:50:50 UTC
[doris] branch branch-1.2-lts updated: [fix](ut) fix PlannerTest testEliminatingSortNode (#21100)
This is an automated email from the ASF dual-hosted git repository.
caiconghui pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new afed5a50aa [fix](ut) fix PlannerTest testEliminatingSortNode (#21100)
afed5a50aa is described below
commit afed5a50aabc63882056e3f6e6ed2d27fa0b8523
Author: Kang <kx...@gmail.com>
AuthorDate: Fri Jun 23 21:50:43 2023 +0800
[fix](ut) fix PlannerTest testEliminatingSortNode (#21100)
---
.../java/org/apache/doris/planner/PlannerTest.java | 66 ++++++++--------------
1 file changed, 22 insertions(+), 44 deletions(-)
diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/PlannerTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/PlannerTest.java
index 74cf7bda4a..e5304b429f 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/planner/PlannerTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/planner/PlannerTest.java
@@ -563,69 +563,58 @@ public class PlannerTest extends TestWithFeService {
public void testEliminatingSortNode() throws Exception {
// success case 1
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertTrue(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertTrue(plan1.contains("SORT LIMIT:"));
+ Assertions.assertTrue(plan1.contains("order by:"));
}
// fail case 2
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k3 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k3 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertTrue(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertTrue(plan1.contains("SORT LIMIT:"));
+ Assertions.assertTrue(plan1.contains("order by:"));
}
// fail case 3
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 != 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 != 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertTrue(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertTrue(plan1.contains("SORT LIMIT:"));
+ Assertions.assertTrue(plan1.contains("order by:"));
}
// fail case 4
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 or k2 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 or k2 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertTrue(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertTrue(plan1.contains("SORT LIMIT:"));
+ Assertions.assertTrue(plan1.contains("order by:"));
}
// fail case 5
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 = 2 or k3 = 3 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 = 2 or k3 = 3 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertTrue(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertTrue(plan1.contains("SORT LIMIT:"));
+ Assertions.assertTrue(plan1.contains("order by:"));
}
// fail case 6
// TODO, support: in (select 1)
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 in (select 1) and k2 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 in (select 1) and k2 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
@@ -635,8 +624,7 @@ public class PlannerTest extends TestWithFeService {
// fail case 7
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 not in (1) and k2 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 not in (1) and k2 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
@@ -646,63 +634,53 @@ public class PlannerTest extends TestWithFeService {
// success case 1
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 = 1 and k2 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertFalse(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertFalse(plan1.contains("SORT LIMIT:"));
+ Assertions.assertFalse(plan1.contains("order by:"));
}
// success case 2
{
- String sql1 = "explain select k1 from db1.tbl1 where k3 = 3 and k2 = 2 and k1 = 1 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k3 = 3 and k2 = 2 and k1 = 1 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertFalse(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertFalse(plan1.contains("SORT LIMIT:"));
+ Assertions.assertFalse(plan1.contains("order by:"));
}
// success case 3
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 in (1) and k2 in (2) and k2 !=2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 in (1) and k2 in (2) and k2 !=2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertFalse(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertFalse(plan1.contains("SORT LIMIT:"));
+ Assertions.assertFalse(plan1.contains("order by:"));
}
// success case 4
{
- String sql1 = "explain select k1 from db1.tbl1 where k1 in (concat('1','2')) and k2 = 2 order by k1, k2 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ String sql1 = "explain select k1 from db1.tbl1 where k1 in (concat('1','2')) and k2 = 2 order by k1, k2";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertFalse(plan1.contains("SORT INFO:\n `k1`\n `k2`"));
- Assertions.assertFalse(plan1.contains("SORT LIMIT:"));
+ Assertions.assertFalse(plan1.contains("order by:"));
}
// success case 5
{
String sql1 = "explain select tbl1.k1 from db1.tbl1 join db1.tbl2 on tbl1.k1 = tbl2.k1"
- + " where tbl1.k1 = 1 and tbl2.k1 = 2 and tbl1.k2 = 3 order by tbl1.k1, tbl2.k1 limit "
- + connectContext.getSessionVariable().topnOptLimitThreshold;
+ + " where tbl1.k1 = 1 and tbl2.k1 = 2 and tbl1.k2 = 3 order by tbl1.k1, tbl2.k1";
StmtExecutor stmtExecutor1 = new StmtExecutor(connectContext, sql1);
stmtExecutor1.execute();
Planner planner1 = stmtExecutor1.planner();
String plan1 = planner1.getExplainString(new ExplainOptions(false, false));
- Assertions.assertFalse(plan1.contains("SORT INFO:"));
- Assertions.assertFalse(plan1.contains("SORT LIMIT:"));
+ Assertions.assertFalse(plan1.contains("order by:"));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org