You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/03/22 00:54:58 UTC
(doris) 16/24: [test](Nereids) refine group by eliminate regression test (#32543)
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
commit 26efde292528eb5ea025e1dac28a37123c653005
Author: xzj7019 <13...@users.noreply.github.com>
AuthorDate: Thu Mar 21 17:27:37 2024 +0800
[test](Nereids) refine group by eliminate regression test (#32543)
---
.../eliminate_gby_key/eliminate_gby_key.out | 164 ---------------------
.../eliminate_gby_key/eliminate_gby_key.groovy | 108 +++++++++-----
2 files changed, 72 insertions(+), 200 deletions(-)
diff --git a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.out b/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.out
deleted file mode 100644
index a7e82975a53..00000000000
--- a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.out
+++ /dev/null
@@ -1,164 +0,0 @@
--- This file is automatically generated. You should know what you did if you want to edit this
--- !1 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[t2_c1#10] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c1#13 AS `t2_c1`#10] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !2 --
-cost = 11.09
-PhysicalResultSink[334] ( outputExprs=[t2_c2#9] )
-+--PhysicalDistribute[331]@6 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[328]@6 ( stats=1, projects=[t2_c2#19 AS `t2_c2`#9] )
- +--PhysicalHashAggregate[325]@5 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19], partitionExpr=Optional[[c1#13, c3#18, t2_c2#19]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18, 19], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18], [19]], exprIdToEquivalenceSet={13=0, 18=1, 19=2} ) Order: ([])], stats=1 )
- +--PhysicalProject[322]@4 ( stats=1, projects=[substring(c2#14, 1, 3) AS `t2_c2`#19, c1#13, c3#18] )
- +--PhysicalHashJoin[319]@3 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[316]@2 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[313]@2 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@1 ( stats=1 )
-
--- !3 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[c3#11] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c3#18 AS `c3`#11] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !4 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[cnt#12] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[cnt#20 AS `cnt`#12] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !5 --
-cost = 11.09
-PhysicalResultSink[334] ( outputExprs=[t2_c2#9, t2_c1#10] )
-+--PhysicalDistribute[331]@6 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[328]@6 ( stats=1, projects=[t2_c2#19 AS `t2_c2`#9, c1#13 AS `t2_c1`#10] )
- +--PhysicalHashAggregate[325]@5 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19], partitionExpr=Optional[[c1#13, c3#18, t2_c2#19]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18, 19], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18], [19]], exprIdToEquivalenceSet={13=0, 18=1, 19=2} ) Order: ([])], stats=1 )
- +--PhysicalProject[322]@4 ( stats=1, projects=[substring(c2#14, 1, 3) AS `t2_c2`#19, c1#13, c3#18] )
- +--PhysicalHashJoin[319]@3 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[316]@2 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[313]@2 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@1 ( stats=1 )
-
--- !6 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[c3#11, t2_c1#10] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c3#18 AS `c3`#11, c1#13 AS `t2_c1`#10] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !7 --
-cost = 11.09
-PhysicalResultSink[334] ( outputExprs=[c3#11, t2_c2#9] )
-+--PhysicalDistribute[331]@6 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[328]@6 ( stats=1, projects=[c3#18 AS `c3`#11, t2_c2#19 AS `t2_c2`#9] )
- +--PhysicalHashAggregate[325]@5 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19], partitionExpr=Optional[[c1#13, c3#18, t2_c2#19]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18, 19], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18], [19]], exprIdToEquivalenceSet={13=0, 18=1, 19=2} ) Order: ([])], stats=1 )
- +--PhysicalProject[322]@4 ( stats=1, projects=[substring(c2#14, 1, 3) AS `t2_c2`#19, c1#13, c3#18] )
- +--PhysicalHashJoin[319]@3 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[316]@2 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[313]@2 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@1 ( stats=1 )
-
--- !8 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[t2_c1#10, cnt#12] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c1#13 AS `t2_c1`#10, cnt#20 AS `cnt`#12] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !9 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[c3#11, cnt#12] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c3#18 AS `c3`#11, cnt#20 AS `cnt`#12] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !10 --
-cost = 12.09
-PhysicalResultSink[358] ( outputExprs=[t2_c1#10, c3#11, cnt#12] )
-+--PhysicalDistribute[355]@7 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[352]@7 ( stats=1, projects=[c1#13 AS `t2_c1`#10, c3#18 AS `c3`#11, cnt#20 AS `cnt`#12] )
- +--PhysicalHashAggregate[349]@6 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20], partitionExpr=Optional[[c1#13, c3#18]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18]], exprIdToEquivalenceSet={13=0, 18=1} ) Order: ([])], stats=1 )
- +--PhysicalProject[346]@5 ( stats=1, projects=[c1#13, c3#18] )
- +--PhysicalHashJoin[343]@4 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalProject[333]@1 ( stats=1, projects=[c1#13, c3#15] )
- | +--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[340]@3 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[337]@3 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@2 ( stats=1 )
-
--- !11 --
-cost = 11.09
-PhysicalResultSink[332] ( outputExprs=[t2_c2#9, c3#11, t2_c1#10] )
-+--PhysicalDistribute[329]@6 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[326]@6 ( stats=1, projects=[t2_c2#19 AS `t2_c2`#9, c3#18 AS `c3`#11, c1#13 AS `t2_c1`#10] )
- +--PhysicalHashAggregate[323]@5 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19], partitionExpr=Optional[[c1#13, c3#18, t2_c2#19]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18, 19], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18], [19]], exprIdToEquivalenceSet={13=0, 18=1, 19=2} ) Order: ([])], stats=1 )
- +--PhysicalProject[320]@4 ( stats=1, projects=[substring(c2#14, 1, 3) AS `t2_c2`#19, c1#13, c3#18] )
- +--PhysicalHashJoin[317]@3 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[314]@2 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[311]@2 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@1 ( stats=1 )
-
--- !12 --
-cost = 11.09
-PhysicalResultSink[330] ( outputExprs=[t2_c2#9, c3#11, t2_c1#10, cnt#12] )
-+--PhysicalDistribute[327]@6 ( stats=1, distributionSpec=DistributionSpecGather )
- +--PhysicalProject[324]@6 ( stats=1, projects=[t2_c2#19 AS `t2_c2`#9, c3#18 AS `c3`#11, c1#13 AS `t2_c1`#10, cnt#20 AS `cnt`#12] )
- +--PhysicalHashAggregate[321]@5 ( aggPhase=LOCAL, aggMode=INPUT_TO_RESULT, maybeUseStreaming=false, groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19, count(*) AS `cnt`#20], partitionExpr=Optional[[c1#13, c3#18, t2_c2#19]], requireProperties=[DistributionSpecHash ( orderedShuffledColumns=[13, 18, 19], shuffleType=REQUIRE, tableId=-1, selectedIndexId=-1, partitionIds=[], equivalenceExprIds=[[13], [18], [19]], exprIdToEquivalenceSet={13=0, 18=1, 19=2} ) Order: [...]
- +--PhysicalProject[318]@4 ( stats=1, projects=[substring(c2#14, 1, 3) AS `t2_c2`#19, c1#13, c3#18] )
- +--PhysicalHashJoin[315]@3 ( type=INNER_JOIN, stats=1, hashCondition=[(c3#15 = c2#17)], otherCondition=[], markCondition=[] )
- |--PhysicalOlapScan[t2]@0 ( stats=1 )
- +--PhysicalDistribute[312]@2 ( stats=1, distributionSpec=DistributionSpecReplicated )
- +--PhysicalProject[309]@2 ( stats=1, projects=[c2#17, c3#18] )
- +--PhysicalOlapScan[t1]@1 ( stats=1 )
-
diff --git a/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy b/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
index 831e5e6eb3f..e092ad71e4e 100644
--- a/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
+++ b/regression-test/suites/nereids_rules_p0/eliminate_gby_key/eliminate_gby_key.groovy
@@ -45,8 +45,9 @@ suite("eliminate_gby_key") {
alter table t2 add constraint t2_c1_pk primary key (c1);
"""
- qt_1 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -60,10 +61,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c1
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18]")
+ }
- qt_2 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -77,10 +81,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c2
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19]")
+ }
- qt_3 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -94,10 +101,13 @@ suite("eliminate_gby_key") {
t1.c3)
select c3
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18]")
+ }
- qt_4 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -111,10 +121,13 @@ suite("eliminate_gby_key") {
t1.c3)
select cnt
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20]")
+ }
- qt_5 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -128,10 +141,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c2, t2_c1
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19]")
+ }
- qt_6 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -145,10 +161,13 @@ suite("eliminate_gby_key") {
t1.c3)
select c3, t2_c1
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18]")
+ }
- qt_7 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -162,10 +181,13 @@ suite("eliminate_gby_key") {
t1.c3)
select c3, t2_c2
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19]")
+ }
- qt_8 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -179,10 +201,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c1, cnt
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20]")
+ }
- qt_9 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -196,10 +221,13 @@ suite("eliminate_gby_key") {
t1.c3)
select c3, cnt
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20]")
+ }
- qt_10 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -213,10 +241,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c1, c3, cnt
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18], outputExpr=[c1#13, c3#18, count(*) AS `cnt`#20]")
+ }
- qt_11 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -230,10 +261,13 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c2, c3, t2_c1
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19]")
+ }
- qt_12 """
- explain physical plan
+ explain {
+ sql("""
+ physical plan
with temp
as (select substr(t2.c2, 1, 3) t2_c2,
t2.c1 t2_c1,
@@ -247,5 +281,7 @@ suite("eliminate_gby_key") {
t1.c3)
select t2_c2, c3, t2_c1, cnt
from temp;
- """
+ """)
+ contains("groupByExpr=[c1#13, c3#18, t2_c2#19], outputExpr=[c1#13, c3#18, t2_c2#19, count(*) AS `cnt`#20]")
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org