diff --git a/pkg/executor/test/tiflashtest/tiflash_test.go b/pkg/executor/test/tiflashtest/tiflash_test.go index 3a2aff1afd89b..a7244d125f865 100644 --- a/pkg/executor/test/tiflashtest/tiflash_test.go +++ b/pkg/executor/test/tiflashtest/tiflash_test.go @@ -1507,15 +1507,15 @@ func TestDisaggregatedTiFlashQuery(t *testing.T) { require.NoError(t, err) tk.MustQuery("explain select * from t1 where c1 < 2").Check(testkit.Rows( "PartitionUnion_11 9970.00 root ", - "├─TableReader_16 3323.33 root MppVersion: 2, data:ExchangeSender_15", + "├─TableReader_16 3323.33 root MppVersion: 3, data:ExchangeSender_15", "│ └─ExchangeSender_15 3323.33 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_14 3323.33 mpp[tiflash] lt(test.t1.c1, 2)", "│ └─TableFullScan_13 10000.00 mpp[tiflash] table:t1, partition:p0 pushed down filter:empty, keep order:false, stats:pseudo", - "├─TableReader_20 3323.33 root MppVersion: 2, data:ExchangeSender_19", + "├─TableReader_20 3323.33 root MppVersion: 3, data:ExchangeSender_19", "│ └─ExchangeSender_19 3323.33 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_18 3323.33 mpp[tiflash] lt(test.t1.c1, 2)", "│ └─TableFullScan_17 10000.00 mpp[tiflash] table:t1, partition:p1 pushed down filter:empty, keep order:false, stats:pseudo", - "└─TableReader_24 3323.33 root MppVersion: 2, data:ExchangeSender_23", + "└─TableReader_24 3323.33 root MppVersion: 3, data:ExchangeSender_23", " └─ExchangeSender_23 3323.33 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_22 3323.33 mpp[tiflash] lt(test.t1.c1, 2)", " └─TableFullScan_21 10000.00 mpp[tiflash] table:t1, partition:p2 pushed down filter:empty, keep order:false, stats:pseudo")) @@ -1820,11 +1820,11 @@ func TestMPP47766(t *testing.T) { tk.MustQuery("explain select date(test_time), count(1) as test_date from `traces` group by 1").Check(testkit.Rows( "Projection_4 8000.00 root test.traces.test_time_gen->Column#5, Column#4", "└─HashAgg_8 8000.00 root group by:test.traces.test_time_gen, funcs:count(1)->Column#4, funcs:firstrow(test.traces.test_time_gen)->test.traces.test_time_gen", - " └─TableReader_20 10000.00 root MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 10000.00 root MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_18 10000.00 mpp[tiflash] table:traces keep order:false, stats:pseudo")) tk.MustQuery("explain select /*+ read_from_storage(tiflash[traces]) */ date(test_time) as test_date, count(1) from `traces` group by 1").Check(testkit.Rows( - "TableReader_31 8000.00 root MppVersion: 2, data:ExchangeSender_30", + "TableReader_31 8000.00 root MppVersion: 3, data:ExchangeSender_30", "└─ExchangeSender_30 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_5 8000.00 mpp[tiflash] date(test.traces.test_time)->Column#5, Column#4", " └─Projection_26 8000.00 mpp[tiflash] Column#4, test.traces.test_time", @@ -2089,13 +2089,13 @@ func TestMppAggShouldAlignFinalMode(t *testing.T) { " └─PartitionUnion 400.00 root ", " ├─Projection 200.00 root test.t.d", " │ └─HashAgg 200.00 root group by:test.t.d, funcs:firstrow(partial2,test.t.d)->test.t.d, funcs:count(final,Column#12)->Column#9", - " │ └─TableReader 200.00 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 200.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 200.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 200.00 mpp[tiflash] group by:test.t.d, funcs:count(partial1,1)->Column#12", " │ └─TableRangeScan 250.00 mpp[tiflash] table:t, partition:p1 range:[2023-07-01,2023-07-03], keep order:false, stats:pseudo", " └─Projection 200.00 root test.t.d", " └─HashAgg 200.00 root group by:test.t.d, funcs:firstrow(partial2,test.t.d)->test.t.d, funcs:count(final,Column#14)->Column#10", - " └─TableReader 200.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 200.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 200.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 200.00 mpp[tiflash] group by:test.t.d, funcs:count(partial1,1)->Column#14", " └─TableRangeScan 250.00 mpp[tiflash] table:t, partition:p2 range:[2023-07-01,2023-07-03], keep order:false, stats:pseudo")) @@ -2215,7 +2215,7 @@ func TestIndexMergeCarePreferTiflash(t *testing.T) { require.NoError(t, err) tk.MustQuery("explain format=\"brief\" SELECT" + " /*+ read_from_storage(tiflash[a]) */ a.i FROM t a WHERE a.s = 0 AND a.a NOT IN (-1, 0) AND m >= 1726910326 AND m <= 1726910391 AND ( a.w IN ('1123') OR a.l IN ('1123'))").Check( - testkit.Rows("TableReader 0.00 root MppVersion: 2, data:ExchangeSender", + testkit.Rows("TableReader 0.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 0.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 0.00 mpp[tiflash] test.t.i", " └─Selection 0.00 mpp[tiflash] ge(test.t.m, 1726910326), le(test.t.m, 1726910391), not(in(test.t.a, -1, 0)), or(eq(test.t.w, \"1123\"), eq(test.t.l, \"1123\"))", diff --git a/pkg/expression/integration_test/integration_test.go b/pkg/expression/integration_test/integration_test.go index 63b7078bf92e7..18240631e4769 100644 --- a/pkg/expression/integration_test/integration_test.go +++ b/pkg/expression/integration_test/integration_test.go @@ -538,7 +538,7 @@ func TestVectorIndexExplain(t *testing.T) { tk.MustQuery(fmt.Sprintf("explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '%s') limit 1", vb.String())).Check(testkit.Rows( `TopN 1.00 root Column#5, offset:0, count:1`, - `└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender`, + `└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender`, ` └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough`, ` └─TopN 1.00 mpp[tiflash] Column#5, offset:0, count:1`, ` └─Projection 1.00 mpp[tiflash] test.t1.vec, vec_cosine_distance(test.t1.vec, [1e+02,1e+02,1e+02,1e+02,1e+02,(95 more)...])->Column#5`, diff --git a/pkg/kv/mpp.go b/pkg/kv/mpp.go index aa41b8622764b..84b6ac1b8c245 100644 --- a/pkg/kv/mpp.go +++ b/pkg/kv/mpp.go @@ -40,7 +40,9 @@ const ( // MppVersionV2 supports TiFlash version [v7.3, ~], support ReportMPPTaskStatus service MppVersionV2 - // MppVersionV3 + + // MppVersionV3 supports TiFlash version [v9.0, ~], support new serdes format of strings + MppVersionV3 mppVersionMax diff --git a/pkg/kv/version_test.go b/pkg/kv/version_test.go index 87c7e368e1d0f..d0e780d421f39 100644 --- a/pkg/kv/version_test.go +++ b/pkg/kv/version_test.go @@ -33,7 +33,7 @@ func TestVersion(t *testing.T) { } func TestMppVersion(t *testing.T) { - assert.Equal(t, int64(2), GetNewestMppVersion().ToInt64()) + assert.Equal(t, int64(3), GetNewestMppVersion().ToInt64()) { v, ok := ToMppVersion("unspecified") assert.True(t, ok) @@ -59,6 +59,11 @@ func TestMppVersion(t *testing.T) { assert.True(t, ok) assert.Equal(t, v, MppVersionV2) } + { + v, ok := ToMppVersion("3") + assert.True(t, ok) + assert.Equal(t, v, MppVersionV3) + } } func TestExchangeCompressionMode(t *testing.T) { diff --git a/pkg/planner/core/casetest/cbotest/testdata/analyze_suite_out.json b/pkg/planner/core/casetest/cbotest/testdata/analyze_suite_out.json index 054f0259473b3..0dea92eda093c 100644 --- a/pkg/planner/core/casetest/cbotest/testdata/analyze_suite_out.json +++ b/pkg/planner/core/casetest/cbotest/testdata/analyze_suite_out.json @@ -285,7 +285,7 @@ "Name": "TestTiFlashCostModel", "Cases": [ [ - "TableReader_12 10000.00 root MppVersion: 2, data:ExchangeSender_11", + "TableReader_12 10000.00 root MppVersion: 3, data:ExchangeSender_11", "└─ExchangeSender_11 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -297,7 +297,7 @@ "Batch_Point_Get_5 2.00 root table:t handle:[1 2], keep order:false, desc:false" ], [ - "TableReader_11 2.00 root MppVersion: 2, data:ExchangeSender_10", + "TableReader_11 2.00 root MppVersion: 3, data:ExchangeSender_10", "└─ExchangeSender_10 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableRangeScan_9 2.00 mpp[tiflash] table:t range:[1,1], [2,2], keep order:false, stats:pseudo" ] diff --git a/pkg/planner/core/casetest/enforcempp/testdata/enforce_mpp_suite_out.json b/pkg/planner/core/casetest/enforcempp/testdata/enforce_mpp_suite_out.json index 08cd555488cca..2f4d0097c301f 100644 --- a/pkg/planner/core/casetest/enforcempp/testdata/enforce_mpp_suite_out.json +++ b/pkg/planner/core/casetest/enforcempp/testdata/enforce_mpp_suite_out.json @@ -177,7 +177,7 @@ { "SQL": "explain select /*+ READ_FROM_STORAGE(TIFLASH[s]) */ a from s where a = 10 and b is null; -- index path huristic rule will prune tiflash path", "Plan": [ - "TableReader_17 0.10 root MppVersion: 2, data:ExchangeSender_16", + "TableReader_17 0.10 root MppVersion: 3, data:ExchangeSender_16", "└─ExchangeSender_16 0.10 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_14 0.10 mpp[tiflash] test.s.a", " └─Selection_11 0.10 mpp[tiflash] isnull(test.s.b)", @@ -280,7 +280,7 @@ { "SQL": "explain format = 'brief' SELECT a, ROW_NUMBER() OVER (ORDER BY a) FROM t; -- 5. window unsupported", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window 10000.00 mpp[tiflash] row_number()->Column#7 over(order by test.t.a rows between current row and current row)", " └─Sort 10000.00 mpp[tiflash] test.t.a", @@ -294,11 +294,11 @@ "SQL": "EXPLAIN format = 'brief' SELECT t1.b FROM t t1 join t t2 where t1.a=t2.a; -- 6. virtual column", "Plan": [ "HashJoin 12487.50 root inner join, equal:[eq(test.t.a, test.t.a)]", - "├─TableReader(Build) 9990.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 9990.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.a))", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.a))", " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -313,7 +313,7 @@ "Plan": [ "StreamAgg 1.00 root funcs:count(test.t.b)->Column#6", "└─Projection 10.00 root test.t.b", - " └─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10.00 mpp[tiflash] table:t pushed down filter:eq(test.t.a, 1), keep order:false, stats:pseudo" ], @@ -330,7 +330,7 @@ "SQL": "EXPLAIN format = 'brief' SELECT count(*) from t group by b; -- 8. group by virtual column", "Plan": [ "HashAgg 8000.00 root group by:test.t.b, funcs:count(1)->Column#6", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -346,7 +346,7 @@ "Plan": [ "HashAgg 8000.00 root group by:Column#10, funcs:count(Column#9)->Column#6", "└─Projection 10000.00 root test.t.a->Column#9, md5(cast(test.t.a, var_string(20)))->Column#10", - " └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -408,7 +408,7 @@ "SQL": "EXPLAIN SELECT count(*) from t where a=1; -- 1. static partition prune", "Plan": [ "StreamAgg_14 1.00 root funcs:count(1)->Column#4", - "└─TableReader_43 10.00 root MppVersion: 2, data:ExchangeSender_42", + "└─TableReader_43 10.00 root MppVersion: 3, data:ExchangeSender_42", " └─ExchangeSender_42 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_41 10.00 mpp[tiflash] eq(test.t.a, 1)", " └─TableFullScan_40 10000.00 mpp[tiflash] table:t, partition:p0 pushed down filter:empty, keep order:false, stats:pseudo" @@ -439,7 +439,7 @@ "SQL": "EXPLAIN SELECT count(*) from t group by b; -- 1. new collation FIXME", "Plan": [ "HashAgg_25 8000.00 root group by:test.t.b, funcs:count(Column#7)->Column#4", - "└─TableReader_27 8000.00 root MppVersion: 2, data:ExchangeSender_26", + "└─TableReader_27 8000.00 root MppVersion: 3, data:ExchangeSender_26", " └─ExchangeSender_26 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg_11 8000.00 mpp[tiflash] group by:test.t.b, funcs:count(1)->Column#7", " └─TableFullScan_22 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -453,7 +453,7 @@ { "SQL": "EXPLAIN SELECT * from t t1 join t t2 on t1.b=t2.b; -- 2. new collation FIXME", "Plan": [ - "TableReader_36 12487.50 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 12487.50 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_34 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)]", " ├─ExchangeReceiver_15(Build) 9990.00 mpp[tiflash] ", @@ -493,7 +493,7 @@ "SQL": "EXPLAIN SELECT /*+ INL_JOIN(t,s) */ * from t, s where t.a=s.a; -- 2. hint use INL_JOIN", "Plan": [ "IndexJoin_16 12500.00 root inner join, inner:TableReader_13, outer key:test.t.a, inner key:test.s.a, equal cond:eq(test.t.a, test.s.a)", - "├─TableReader_34(Build) 10000.00 root MppVersion: 2, data:ExchangeSender_33", + "├─TableReader_34(Build) 10000.00 root MppVersion: 3, data:ExchangeSender_33", "│ └─ExchangeSender_33 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_32 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", "└─TableReader_13(Probe) 10000.00 root data:TableRangeScan_12", @@ -508,7 +508,7 @@ "SQL": "EXPLAIN SELECT /*+ INL_HASH_JOIN(t,s) */ * from t join s using(a); -- 3. hint use INL_HASH_JOIN", "Plan": [ "IndexHashJoin_17 12500.00 root inner join, inner:TableReader_12, outer key:test.t.a, inner key:test.s.a, equal cond:eq(test.t.a, test.s.a)", - "├─TableReader_33(Build) 10000.00 root MppVersion: 2, data:ExchangeSender_32", + "├─TableReader_33(Build) 10000.00 root MppVersion: 3, data:ExchangeSender_32", "│ └─ExchangeSender_32 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_31 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", "└─TableReader_12(Probe) 10000.00 root data:TableRangeScan_11", @@ -522,7 +522,7 @@ { "SQL": "EXPLAIN SELECT /*+ HASH_JOIN(t,s) */ * from t join s using(a); -- 4. hint use INL_JOIN", "Plan": [ - "TableReader_48 12500.00 root MppVersion: 2, data:ExchangeSender_47", + "TableReader_48 12500.00 root MppVersion: 3, data:ExchangeSender_47", "└─ExchangeSender_47 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_46 12500.00 mpp[tiflash] test.t.a", " └─HashJoin_41 12500.00 mpp[tiflash] inner join, equal:[eq(test.t.a, test.s.a)]", @@ -542,10 +542,10 @@ "SQL": "EXPLAIN SELECT * from t join s; -- 5. cartesian join, cartesian banned.", "Plan": [ "HashJoin_8 100000000.00 root CARTESIAN inner join", - "├─TableReader_19(Build) 10000.00 root MppVersion: 2, data:ExchangeSender_18", + "├─TableReader_19(Build) 10000.00 root MppVersion: 3, data:ExchangeSender_18", "│ └─ExchangeSender_18 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_17 10000.00 mpp[tiflash] table:s keep order:false, stats:pseudo", - "└─TableReader_14(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender_13", + "└─TableReader_14(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender_13", " └─ExchangeSender_13 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_12 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -563,10 +563,10 @@ "SQL": "EXPLAIN SELECT * from t join s; -- 6. cartesian join, broadcast banned.", "Plan": [ "HashJoin_8 100000000.00 root CARTESIAN inner join", - "├─TableReader_19(Build) 10000.00 root MppVersion: 2, data:ExchangeSender_18", + "├─TableReader_19(Build) 10000.00 root MppVersion: 3, data:ExchangeSender_18", "│ └─ExchangeSender_18 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_17 10000.00 mpp[tiflash] table:s keep order:false, stats:pseudo", - "└─TableReader_14(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender_13", + "└─TableReader_14(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender_13", " └─ExchangeSender_13 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_12 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -583,7 +583,7 @@ { "SQL": "EXPLAIN SELECT * from t join s; -- can use mpp", "Plan": [ - "TableReader_29 100000000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 100000000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 100000000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 100000000.00 mpp[tiflash] CARTESIAN inner join", " ├─ExchangeReceiver_13(Build) 10000.00 mpp[tiflash] ", @@ -601,7 +601,7 @@ { "SQL": "EXPLAIN SELECT * from t join s; -- can use mpp", "Plan": [ - "TableReader_29 100000000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 100000000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 100000000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 100000000.00 mpp[tiflash] CARTESIAN inner join", " ├─ExchangeReceiver_13(Build) 10000.00 mpp[tiflash] ", @@ -619,7 +619,7 @@ { "SQL": "explain select a from t where t.a>1 or t.a in (select a from t); -- 7. left outer semi join", "Plan": [ - "TableReader_51 8000.00 root MppVersion: 2, data:ExchangeSender_50", + "TableReader_51 8000.00 root MppVersion: 3, data:ExchangeSender_50", "└─ExchangeSender_50 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] test.t.a", " └─Selection_49 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#3)", @@ -634,7 +634,7 @@ { "SQL": "explain select a from t where t.a>1 or t.a not in (select a from t); -- now it's supported -- 8. anti left outer semi join", "Plan": [ - "TableReader_51 8000.00 root MppVersion: 2, data:ExchangeSender_50", + "TableReader_51 8000.00 root MppVersion: 3, data:ExchangeSender_50", "└─ExchangeSender_50 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] test.t.a", " └─Selection_49 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#3)", @@ -674,7 +674,7 @@ "SQL": "EXPLAIN select count(*) from c, o where c.c_id=o.c_id; -- 1. test agg push down, scalar aggregate", "Plan": [ "HashAgg_13 1.00 root funcs:count(Column#7)->Column#6", - "└─TableReader_36 9990.00 root MppVersion: 2, data:ExchangeSender_35", + "└─TableReader_36 9990.00 root MppVersion: 3, data:ExchangeSender_35", " └─ExchangeSender_35 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_34 9990.00 mpp[tiflash] Column#7", " └─HashJoin_14 9990.00 mpp[tiflash] inner join, equal:[eq(test.c.c_id, test.o.c_id)]", @@ -694,7 +694,7 @@ { "SQL": "EXPLAIN select o.o_id, count(*) from c, o where c.c_id=o.c_id group by o.o_id; -- 2. test agg push down, group by non-join column", "Plan": [ - "TableReader_82 8000.00 root MppVersion: 2, data:ExchangeSender_81", + "TableReader_82 8000.00 root MppVersion: 3, data:ExchangeSender_81", "└─ExchangeSender_81 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_10 8000.00 mpp[tiflash] test.o.o_id, Column#6", " └─Projection_80 8000.00 mpp[tiflash] Column#6, test.o.o_id", @@ -719,7 +719,7 @@ { "SQL": "EXPLAIN select o.c_id, count(*) from c, o where c.c_id=o.c_id group by o.c_id; -- 3. test agg push down, group by join column", "Plan": [ - "TableReader_82 8000.00 root MppVersion: 2, data:ExchangeSender_81", + "TableReader_82 8000.00 root MppVersion: 3, data:ExchangeSender_81", "└─ExchangeSender_81 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_10 8000.00 mpp[tiflash] test.o.c_id, Column#6", " └─Projection_80 8000.00 mpp[tiflash] Column#6, test.o.c_id", @@ -746,7 +746,7 @@ "Plan": [ "Projection 10.00 root Column#7, Column#9", "└─TopN 10.00 root Column#7, offset:0, count:10", - " └─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 10.00 mpp[tiflash] Column#7, offset:0, count:10", " └─Projection 16000.00 mpp[tiflash] Column#9, Column#7", @@ -780,7 +780,7 @@ { "SQL": "EXPLAIN select count(distinct c) from t group by d;", "Plan": [ - "TableReader_56 8000.00 root MppVersion: 2, data:ExchangeSender_55", + "TableReader_56 8000.00 root MppVersion: 3, data:ExchangeSender_55", "└─ExchangeSender_55 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_51 8000.00 mpp[tiflash] Column#7", " └─HashAgg_52 8000.00 mpp[tiflash] group by:test.t.d, funcs:sum(Column#18)->Column#7", @@ -799,7 +799,7 @@ { "SQL": "EXPLAIN select count(distinct c), count(a) from t group by d;", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] Column#7, cast(Column#10, bigint(21) BINARY)->Column#8", " └─Projection_52 8000.00 mpp[tiflash] Column#7, Column#10", @@ -820,7 +820,7 @@ { "SQL": "EXPLAIN select count(distinct c) from t group by b+d;", "Plan": [ - "TableReader_56 8000.00 root MppVersion: 2, data:ExchangeSender_55", + "TableReader_56 8000.00 root MppVersion: 3, data:ExchangeSender_55", "└─ExchangeSender_55 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_51 8000.00 mpp[tiflash] Column#7", " └─HashAgg_52 8000.00 mpp[tiflash] group by:Column#28, funcs:sum(Column#29)->Column#7", @@ -841,7 +841,7 @@ { "SQL": "EXPLAIN select count(distinct c) from t group by b+d, a+b;", "Plan": [ - "TableReader_56 8000.00 root MppVersion: 2, data:ExchangeSender_55", + "TableReader_56 8000.00 root MppVersion: 3, data:ExchangeSender_55", "└─ExchangeSender_55 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_51 8000.00 mpp[tiflash] Column#7", " └─HashAgg_52 8000.00 mpp[tiflash] group by:Column#42, Column#43, funcs:sum(Column#44)->Column#7", @@ -862,7 +862,7 @@ { "SQL": "EXPLAIN select count(distinct c), count(*) from t group by date_format(d,'%Y');", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] Column#7, cast(Column#10, bigint(21) BINARY)->Column#8", " └─Projection_52 8000.00 mpp[tiflash] Column#7, Column#10", @@ -884,7 +884,7 @@ { "SQL": "EXPLAIN select date_format(d,'%Y') as df, sum(a), count(b), count(distinct c) from t group by date_format(d,'%Y');", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] date_format(test.t.d, %Y)->Column#10, Column#7, cast(Column#14, bigint(21) BINARY)->Column#8, Column#9", " └─Projection_52 8000.00 mpp[tiflash] Column#7, Column#14, Column#9, test.t.d", @@ -906,7 +906,7 @@ { "SQL": "EXPLAIN select d, count(distinct c), sum(a), max(b), count(*) from t group by d;", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] test.t.d, Column#7, Column#8, Column#9, cast(Column#14, bigint(21) BINARY)->Column#10", " └─Projection_52 8000.00 mpp[tiflash] Column#7, Column#8, Column#9, Column#14, test.t.d", @@ -928,7 +928,7 @@ { "SQL": "EXPLAIN select date_format(d,'%Y') as df, count(distinct c) from t group by date_format(d,'%Y');", "Plan": [ - "TableReader_56 8000.00 root MppVersion: 2, data:ExchangeSender_55", + "TableReader_56 8000.00 root MppVersion: 3, data:ExchangeSender_55", "└─ExchangeSender_55 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 8000.00 mpp[tiflash] date_format(test.t.d, %Y)->Column#8, Column#7", " └─Projection_51 8000.00 mpp[tiflash] Column#7, test.t.d", @@ -950,7 +950,7 @@ { "SQL": "EXPLAIN select date_format(d,'%Y') as df, a, count(b), count(distinct c) from t group by date_format(d,'%Y'), a;", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] date_format(test.t.d, %Y)->Column#9, test.t.a, cast(Column#12, bigint(21) BINARY)->Column#7, Column#8", " └─Projection_52 8000.00 mpp[tiflash] Column#12, Column#8, test.t.a, test.t.d", @@ -972,7 +972,7 @@ { "SQL": "EXPLAIN select date_format(d,'%Y') as df, a, count(b), avg(distinct c) from t group by date_format(d,'%Y'), a;", "Plan": [ - "TableReader_57 8000.00 root MppVersion: 2, data:ExchangeSender_56", + "TableReader_57 8000.00 root MppVersion: 3, data:ExchangeSender_56", "└─ExchangeSender_56 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_8 8000.00 mpp[tiflash] date_format(test.t.d, %Y)->Column#9, test.t.a, cast(Column#12, bigint(21) BINARY)->Column#7, Column#8", " └─Projection_52 8000.00 mpp[tiflash] Column#12, div(Column#8, cast(case(eq(Column#46, 0), 1, Column#46), decimal(20,0) BINARY))->Column#8, test.t.a, test.t.d", @@ -1021,7 +1021,7 @@ { "SQL": "EXPLAIN select count(b), count(distinct c) from t; -- single distinct func but no group key, bail out", "Plan": [ - "TableReader_34 1.00 root MppVersion: 2, data:ExchangeSender_33", + "TableReader_34 1.00 root MppVersion: 3, data:ExchangeSender_33", "└─ExchangeSender_33 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_27 1.00 mpp[tiflash] Column#7, Column#8", " └─HashAgg_28 1.00 mpp[tiflash] funcs:sum(Column#13)->Column#7, funcs:sum(Column#14)->Column#8", @@ -1048,7 +1048,7 @@ { "SQL": "EXPLAIN select count(distinct b) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#7", @@ -1065,7 +1065,7 @@ { "SQL": "EXPLAIN select count(distinct c) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#7", @@ -1082,7 +1082,7 @@ { "SQL": "EXPLAIN select count(distinct e) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#7", @@ -1099,7 +1099,7 @@ { "SQL": "EXPLAIN select count(distinct a,b,c,e) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#7", @@ -1116,7 +1116,7 @@ { "SQL": "EXPLAIN select count(distinct c), count(a), count(*) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7, Column#8, Column#9", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#17)->Column#7, funcs:sum(Column#18)->Column#8, funcs:sum(Column#19)->Column#9", @@ -1133,7 +1133,7 @@ { "SQL": "EXPLAIN select sum(b), count(a), count(*), count(distinct c) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7, Column#8, Column#9, Column#10", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#21)->Column#7, funcs:sum(Column#22)->Column#8, funcs:sum(Column#23)->Column#9, funcs:sum(Column#24)->Column#10", @@ -1151,7 +1151,7 @@ { "SQL": "EXPLAIN select sum(b+a), count(*), count(distinct c), count(a) from t having count(distinct c) > 2;", "Plan": [ - "TableReader_43 0.80 root MppVersion: 2, data:ExchangeSender_42", + "TableReader_43 0.80 root MppVersion: 3, data:ExchangeSender_42", "└─ExchangeSender_42 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_41 0.80 mpp[tiflash] gt(Column#9, 2)", " └─Projection_33 1.00 mpp[tiflash] Column#7, Column#8, Column#9, Column#10", @@ -1170,7 +1170,7 @@ { "SQL": "EXPLAIN select sum(b+a), count(*), count(a) from t having count(distinct c) > 2;", "Plan": [ - "TableReader_43 0.80 root MppVersion: 2, data:ExchangeSender_42", + "TableReader_43 0.80 root MppVersion: 3, data:ExchangeSender_42", "└─ExchangeSender_42 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 0.80 mpp[tiflash] Column#7->Column#11, Column#8->Column#12, Column#9->Column#13", " └─Selection_41 0.80 mpp[tiflash] gt(Column#10, 2)", @@ -1190,7 +1190,7 @@ { "SQL": "EXPLAIN select sum(b+a), max(b), count(distinct c), count(*) from t having count(a) > 2;", "Plan": [ - "TableReader_43 0.80 root MppVersion: 2, data:ExchangeSender_42", + "TableReader_43 0.80 root MppVersion: 3, data:ExchangeSender_42", "└─ExchangeSender_42 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 0.80 mpp[tiflash] Column#7->Column#12, Column#8->Column#13, Column#9->Column#14, Column#10->Column#15", " └─Selection_41 0.80 mpp[tiflash] gt(Column#11, 2)", @@ -1210,7 +1210,7 @@ { "SQL": "EXPLAIN select sum(b), count(distinct a, b, e), count(a+b) from t;", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_29 1.00 mpp[tiflash] Column#7, Column#8, Column#9", " └─HashAgg_30 1.00 mpp[tiflash] funcs:sum(Column#17)->Column#7, funcs:sum(Column#18)->Column#8, funcs:sum(Column#19)->Column#9", @@ -1230,7 +1230,7 @@ "Plan": [ "HashAgg_6 1.00 root funcs:count(distinct Column#9)->Column#7, funcs:json_objectagg(Column#10, Column#11)->Column#8", "└─Projection_18 10000.00 root test.t.b->Column#9, cast(test.t.d, var_string(10))->Column#10, test.t.c->Column#11", - " └─TableReader_12 10000.00 root MppVersion: 2, data:ExchangeSender_11", + " └─TableReader_12 10000.00 root MppVersion: 3, data:ExchangeSender_11", " └─ExchangeSender_11 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -1242,7 +1242,7 @@ { "SQL": "EXPLAIN select count(distinct c+a), count(a) from t;", "Plan": [ - "TableReader_32 1.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 1.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_27 1.00 mpp[tiflash] Column#7, Column#8", " └─HashAgg_28 1.00 mpp[tiflash] funcs:count(distinct Column#11)->Column#7, funcs:sum(Column#12)->Column#8", @@ -1257,7 +1257,7 @@ { "SQL": "EXPLAIN select sum(b), count(distinct c+a, b, e), count(a+b) from t;", "Plan": [ - "TableReader_32 1.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 1.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_27 1.00 mpp[tiflash] Column#7, Column#8, Column#9", " └─HashAgg_28 1.00 mpp[tiflash] funcs:sum(Column#13)->Column#7, funcs:count(distinct Column#14, test.t.b, test.t.e)->Column#8, funcs:sum(Column#15)->Column#9", @@ -1277,7 +1277,7 @@ { "SQL": "EXPLAIN select count(distinct a) from t", "Plan": [ - "TableReader_32 1.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 1.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_25 1.00 mpp[tiflash] Column#6", " └─HashAgg_26 1.00 mpp[tiflash] funcs:sum(Column#8)->Column#6", @@ -1301,7 +1301,7 @@ { "SQL": "EXPLAIN select count(distinct a), count(distinct b) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#12)->Column#6, funcs:sum(Column#13)->Column#7", @@ -1326,7 +1326,7 @@ { "SQL": "EXPLAIN select count(distinct a), count(distinct b), count(c) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#18)->Column#6, funcs:sum(Column#19)->Column#7, funcs:sum(Column#20)->Column#8", @@ -1352,7 +1352,7 @@ { "SQL": "EXPLAIN select count(distinct a), count(distinct b), count(c+1) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#18)->Column#6, funcs:sum(Column#19)->Column#7, funcs:sum(Column#20)->Column#8", @@ -1378,7 +1378,7 @@ { "SQL": "EXPLAIN select count(distinct a), count(distinct b), sum(c) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#18)->Column#6, funcs:sum(Column#19)->Column#7, funcs:sum(Column#20)->Column#8", @@ -1405,7 +1405,7 @@ { "SQL": "EXPLAIN select count(distinct a, b), count(distinct b), count(c), sum(d) from t", "Plan": [ - "TableReader_28 1.00 root MppVersion: 2, data:ExchangeSender_27", + "TableReader_28 1.00 root MppVersion: 3, data:ExchangeSender_27", "└─ExchangeSender_27 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_23 1.00 mpp[tiflash] Column#6, Column#7, Column#8, Column#9", " └─HashAgg_24 1.00 mpp[tiflash] funcs:count(distinct test.t.a, test.t.b)->Column#6, funcs:count(distinct test.t.b)->Column#7, funcs:sum(Column#12)->Column#8, funcs:sum(Column#13)->Column#9", @@ -1433,7 +1433,7 @@ { "SQL": "EXPLAIN select count(distinct a+b), sum(c) from t", "Plan": [ - "TableReader_28 1.00 root MppVersion: 2, data:ExchangeSender_27", + "TableReader_28 1.00 root MppVersion: 3, data:ExchangeSender_27", "└─ExchangeSender_27 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_23 1.00 mpp[tiflash] Column#6, Column#7", " └─HashAgg_24 1.00 mpp[tiflash] funcs:count(distinct Column#10)->Column#6, funcs:sum(Column#11)->Column#7", @@ -1455,7 +1455,7 @@ { "SQL": "EXPLAIN select count(distinct a+b), count(distinct b+c), count(c) from t", "Plan": [ - "TableReader_28 1.00 root MppVersion: 2, data:ExchangeSender_27", + "TableReader_28 1.00 root MppVersion: 3, data:ExchangeSender_27", "└─ExchangeSender_27 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_23 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_24 1.00 mpp[tiflash] funcs:count(distinct Column#12)->Column#6, funcs:count(distinct Column#13)->Column#7, funcs:sum(Column#14)->Column#8", @@ -1477,7 +1477,7 @@ { "SQL": "explain select count(distinct a,c), count(distinct b,c), count(c) from t", "Plan": [ - "TableReader_28 1.00 root MppVersion: 2, data:ExchangeSender_27", + "TableReader_28 1.00 root MppVersion: 3, data:ExchangeSender_27", "└─ExchangeSender_27 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_23 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_24 1.00 mpp[tiflash] funcs:count(distinct test.t.a, test.t.c)->Column#6, funcs:count(distinct test.t.b, test.t.c)->Column#7, funcs:sum(Column#10)->Column#8", @@ -1498,7 +1498,7 @@ { "SQL": "explain select count(distinct a), count(distinct b), count(*) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7, Column#8", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#18)->Column#6, funcs:sum(Column#19)->Column#7, funcs:sum(Column#20)->Column#8", @@ -1524,7 +1524,7 @@ { "SQL": "explain select count(distinct a), count(distinct b), avg(c+d) from t", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_28 1.00 mpp[tiflash] Column#6, Column#7, div(Column#8, cast(case(eq(Column#19, 0), 1, Column#19), decimal(20,0) BINARY))->Column#8", " └─HashAgg_29 1.00 mpp[tiflash] funcs:sum(Column#25)->Column#6, funcs:sum(Column#26)->Column#7, funcs:sum(Column#27)->Column#19, funcs:sum(Column#28)->Column#8", @@ -1554,7 +1554,7 @@ { "SQL": "EXPLAIN select * from t where t.a not in (select s.a from s); -- 1. anti semi join, one join key", "Plan": [ - "TableReader_29 8000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 8000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_11, equal:[eq(test.t.a, test.s.a)]", " ├─ExchangeReceiver_14(Build) 10000.00 mpp[tiflash] ", @@ -1567,7 +1567,7 @@ { "SQL": "EXPLAIN select * from t where t.a not in (select s.a from s where t.c > s.c); -- 2. anti semi join, one join key + other condition", "Plan": [ - "TableReader_30 8000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 8000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a)], other cond:gt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1580,7 +1580,7 @@ { "SQL": "EXPLAIN select * from t where (t.a, t.b) not in (select s.a, s.b from s); -- 3. anti semi join, two join key", "Plan": [ - "TableReader_29 8000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 8000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_11, equal:[eq(test.t.a, test.s.a) eq(test.t.b, test.s.b)]", " ├─ExchangeReceiver_14(Build) 10000.00 mpp[tiflash] ", @@ -1593,7 +1593,7 @@ { "SQL": "EXPLAIN select * from t where (t.a, t.b) not in (select s.a, s.b from s where t.c < s.c); -- 4. anti semi join, two join key + other condition", "Plan": [ - "TableReader_30 8000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 8000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a) eq(test.t.b, test.s.b)], other cond:lt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1606,7 +1606,7 @@ { "SQL": "EXPLAIN select *, t.a not in (select s.a from s) from t; -- 5. left anti semi join, one join key", "Plan": [ - "TableReader_29 10000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 10000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 10000.00 mpp[tiflash] Null-aware anti left outer semi join, left side:TableFullScan_11, equal:[eq(test.t.a, test.s.a)]", " ├─ExchangeReceiver_14(Build) 10000.00 mpp[tiflash] ", @@ -1619,7 +1619,7 @@ { "SQL": "EXPLAIN select *, t.a not in (select s.a from s where t.c > s.c) from t; -- 6. left anti semi join, one join key + other condition", "Plan": [ - "TableReader_30 10000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 10000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 10000.00 mpp[tiflash] Null-aware anti left outer semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a)], other cond:gt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1632,7 +1632,7 @@ { "SQL": "EXPLAIN select *, (t.a, t.b) not in (select s.a, s.b from s) from t; -- 7. left anti semi join, two join key", "Plan": [ - "TableReader_29 10000.00 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 10000.00 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_27 10000.00 mpp[tiflash] Null-aware anti left outer semi join, left side:TableFullScan_11, equal:[eq(test.t.a, test.s.a) eq(test.t.b, test.s.b)]", " ├─ExchangeReceiver_14(Build) 10000.00 mpp[tiflash] ", @@ -1645,7 +1645,7 @@ { "SQL": "EXPLAIN select *, (t.a, t.b) not in (select s.a, s.b from s where t.c < s.c) from t; -- 8. left anti semi join, two join key + other condition", "Plan": [ - "TableReader_30 10000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 10000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 10000.00 mpp[tiflash] Null-aware anti left outer semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a) eq(test.t.b, test.s.b)], other cond:lt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1658,7 +1658,7 @@ { "SQL": "EXPLAIN select /*+ HASH_JOIN_BUILD(s@sel_2) */ * from t where t.a not in (select s.a from s where t.c > s.c); -- 9. anti semi join, one join key + other condition + hint", "Plan": [ - "TableReader_30 8000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 8000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a)], other cond:gt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1673,7 +1673,7 @@ { "SQL": "EXPLAIN select /*+ HASH_JOIN_BUILD(t@sel_1) */ * from t where t.a not in (select s.a from s where t.c > s.c); -- 10. anti semi join, one join key + other condition + hint", "Plan": [ - "TableReader_30 8000.00 root MppVersion: 2, data:ExchangeSender_29", + "TableReader_30 8000.00 root MppVersion: 3, data:ExchangeSender_29", "└─ExchangeSender_29 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_28 8000.00 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan_12, equal:[eq(test.t.a, test.s.a)], other cond:gt(test.t.c, test.s.c)", " ├─ExchangeReceiver_15(Build) 10000.00 mpp[tiflash] ", @@ -1695,7 +1695,7 @@ { "SQL": "explain format = 'brief' with c1 as (select * from t) select * from c1, c1 c2 where c1.a=c2.b ", "Plan": [ - "TableReader 9999.99 root MppVersion: 2, data:ExchangeSender", + "TableReader 9999.99 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9999.99 mpp[tiflash] ExchangeType: PassThrough", " └─Sequence 9999.99 mpp[tiflash] Sequence Node", " ├─CTE_0 9999.99 mpp[tiflash] Non-Recursive CTE Storage", @@ -1731,7 +1731,7 @@ { "SQL": "explain format = 'brief' with c1 as (select * from t) select c1.* from c1, c1 c2 where c1.b=c2.c", "Plan": [ - "TableReader 9999.99 root MppVersion: 2, data:ExchangeSender", + "TableReader 9999.99 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9999.99 mpp[tiflash] ExchangeType: PassThrough", " └─Sequence 9999.99 mpp[tiflash] Sequence Node", " ├─CTE_0 9999.99 mpp[tiflash] Non-Recursive CTE Storage", @@ -1752,7 +1752,7 @@ "SQL": "explain format = 'brief' with c1 as (select * from t) select * from c1, c1 c2 where c1.a=c2.b limit 10", "Plan": [ "Limit 10.00 root offset:0, count:10", - "└─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Limit 10.00 mpp[tiflash] offset:0, count:10", " └─Sequence 9999.99 mpp[tiflash] Sequence Node", @@ -1773,7 +1773,7 @@ "SQL": "explain format = 'brief' with c1 as (select * from t) select * from c1, c1 c2 where c1.a=c2.b order by c1.a limit 10", "Plan": [ "TopN 10.00 root test.t.a, offset:0, count:10", - "└─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 10.00 mpp[tiflash] test.t.a, offset:0, count:10", " └─Sequence 9999.99 mpp[tiflash] Sequence Node", @@ -1793,7 +1793,7 @@ { "SQL": "explain format = 'brief' with c1 as (select * from t), c2 as (select c1.* from c1, c1 c2 where c1.b=c2.c) select * from c2 c1, c2 where c1.a=c2.b", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Sequence 12500.00 mpp[tiflash] Sequence Node", " ├─CTE_0 10000.00 mpp[tiflash] Non-Recursive CTE Storage", @@ -1842,7 +1842,7 @@ { "SQL": "explain format = 'brief' with c1 as (select * from t), c2 as (select c1.* from c1, c1 c2 where c1.b=c2.c) select * from c2 c1, c2, (with c3 as (select * from t) select c3.* from c3, c3 c4 where c3.c=c4.b) c3 where c1.a=c2.b and c1.a=c3.a", "Plan": [ - "TableReader 19531.25 root MppVersion: 2, data:ExchangeSender", + "TableReader 19531.25 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19531.25 mpp[tiflash] ExchangeType: PassThrough", " └─Sequence 19531.25 mpp[tiflash] Sequence Node", " ├─CTE_0 10000.00 mpp[tiflash] Non-Recursive CTE Storage", @@ -1896,7 +1896,7 @@ " └─Selection(Probe) 8000.00 root not(isnull(test.t.a))", " └─CTEFullScan 10000.00 root CTE:c2 AS c1 data:CTE_1", "CTE_2 9999.98 root Non-Recursive CTE", - "└─TableReader(Seed Part) 9999.98 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 9999.98 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9999.98 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9999.98 mpp[tiflash] or(and(not(isnull(test.t.c)), not(isnull(test.t.a))), not(isnull(test.t.b)))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo", @@ -1939,7 +1939,7 @@ " └─Selection(Probe) 8000.00 root not(isnull(test.t.b)), or(not(isnull(test.t.a)), not(isnull(test.t.b)))", " └─CTEFullScan 10000.00 root CTE:c1 data:CTE_0", "CTE_0 10000.00 root Non-Recursive CTE", - "└─TableReader(Seed Part) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -1950,7 +1950,7 @@ { "SQL": "explain format = 'brief' with c1 as (select * from t), c2 as (select c1.* from c1, c1 c2 where c1.b=c2.c) select * from c2 c1, c2, (with c3 as (select * from c1) select c3.* from c3, c3 c4 where c3.c=c4.b) c3 where c1.a=c2.b and c1.a=c3.a", "Plan": [ - "TableReader 19531.25 root MppVersion: 2, data:ExchangeSender", + "TableReader 19531.25 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19531.25 mpp[tiflash] ExchangeType: PassThrough", " └─Sequence 19531.25 mpp[tiflash] Sequence Node", " ├─CTE_0 10000.00 mpp[tiflash] Non-Recursive CTE Storage", @@ -2028,7 +2028,7 @@ { "SQL": "explain format = 'brief' select count(1) from t group by a, b with rollup; -- 1. simple agg", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#5, Column#6, gid, funcs:count(1)->Column#8", @@ -2042,7 +2042,7 @@ { "SQL": "explain format = 'brief' select sum(c), count(1) from t group by a, b with rollup; -- 2. non-grouping set col c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#8, Column#9", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#19, Column#20, Column#21, funcs:sum(Column#18)->Column#8, funcs:count(1)->Column#9", @@ -2058,7 +2058,7 @@ { "SQL": "explain format = 'brief' select count(a) from t group by a, b with rollup; -- 3. should keep the original col a", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#5, Column#6, gid, funcs:sum(Column#12)->Column#8", @@ -2074,7 +2074,7 @@ { "SQL": "explain format = 'brief' select grouping(a) from t group by a, b with rollup; -- 4. contain grouping function ref to grouping set column a", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] grouping(gid)->Column#9", " └─Projection 8000.00 mpp[tiflash] gid", @@ -2090,7 +2090,7 @@ { "SQL": "explain format = 'brief' select grouping(a,b) from t group by a, b with rollup; -- 5. grouping function contains grouping set column a,c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] grouping(gid)->Column#9", " └─Projection 8000.00 mpp[tiflash] gid", @@ -2106,7 +2106,7 @@ { "SQL": "explain format = 'brief' select a, grouping(b,a) from t group by a,b with rollup; -- 6. resolve normal column a to grouping set column a'", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5->Column#9, grouping(gid)->Column#10", " └─Projection 8000.00 mpp[tiflash] Column#5, gid", @@ -2122,7 +2122,7 @@ { "SQL": "explain format = 'brief' select a+1, grouping(b) from t group by a+1, b with rollup; -- 7. resolve field list a+1 to grouping set column a+1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5->Column#9, grouping(gid)->Column#10", " └─Projection 8000.00 mpp[tiflash] Column#5, gid", @@ -2141,7 +2141,7 @@ "Plan": [ "Projection 8000.00 root Column#9", "└─Sort 8000.00 root Column#6", - " └─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#9, Column#6", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#18, Column#19, Column#20, funcs:sum(Column#17)->Column#9, funcs:firstrow(Column#18)->Column#6", @@ -2159,7 +2159,7 @@ "Plan": [ "Projection 8000.00 root Column#6->Column#10, Column#9", "└─Sort 8000.00 root Column#6", - " └─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#9, Column#6", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#19, Column#20, Column#21, funcs:sum(Column#18)->Column#9, funcs:firstrow(Column#19)->Column#6", @@ -2177,7 +2177,7 @@ "Plan": [ "Projection 6400.00 root Column#6, Column#9", "└─Sort 6400.00 root Column#6, Column#9", - " └─TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#9, Column#6", " └─HashAgg 6400.00 mpp[tiflash] group by:Column#19, Column#20, Column#21, funcs:sum(Column#18)->Column#9, funcs:firstrow(Column#19)->Column#6", @@ -2195,7 +2195,7 @@ "SQL": "explain format = 'brief' SELECT year+2 as y, SUM(profit) AS profit, grouping(year+2) FROM sales GROUP BY year+2, year+profit WITH ROLLUP having y > 2002 order by year+2, profit; -- 11. grouping function validation", "Plan": [ "Sort 6400.00 root Column#6, Column#9", - "└─TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#6, Column#9, grouping(gid)->Column#10", " └─Projection 6400.00 mpp[tiflash] Column#9, Column#6, gid", @@ -2217,7 +2217,7 @@ "└─Projection 8000.00 root Column#10, Column#6, Column#7, Column#8, gid", " └─Sort 8000.00 root Column#30", " └─Projection 8000.00 root Column#10, Column#6, Column#7, Column#8, gid, grouping(gid)->Column#30", - " └─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#10, Column#6, Column#7, Column#8, gid", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#26, Column#27, Column#28, Column#29, funcs:sum(Column#25)->Column#10, funcs:firstrow(Column#26)->Column#6, funcs:firstrow(Column#27)->Column#7, funcs:firstrow(Column#28)->Column#8, funcs:firstrow(Column#29)->gid", @@ -2237,7 +2237,7 @@ "└─Projection 8000.00 root Column#10, Column#6, Column#7, gid", " └─Sort 8000.00 root Column#27", " └─Projection 8000.00 root Column#10, Column#6, Column#7, gid, grouping(gid)->Column#27", - " └─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#10, Column#6, Column#7, gid", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#23, Column#23, Column#24, Column#25, Column#26, funcs:sum(Column#22)->Column#10, funcs:firstrow(Column#23)->Column#6, funcs:firstrow(Column#24)->Column#7, funcs:firstrow(Column#25)->gid", @@ -2257,7 +2257,7 @@ "└─Projection 6400.00 root Column#10, Column#6, Column#7, Column#8, gid", " └─Sort 6400.00 root Column#30", " └─Projection 6400.00 root Column#10, Column#6, Column#7, Column#8, gid, grouping(gid)->Column#30", - " └─TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#10, Column#6, Column#7, Column#8, gid", " └─HashAgg 6400.00 mpp[tiflash] group by:Column#26, Column#27, Column#28, Column#29, funcs:sum(Column#25)->Column#10, funcs:firstrow(Column#26)->Column#6, funcs:firstrow(Column#27)->Column#7, funcs:firstrow(Column#28)->Column#8, funcs:firstrow(Column#29)->gid", @@ -2278,7 +2278,7 @@ "└─Projection 6400.00 root Column#10, Column#6, Column#7, gid", " └─Sort 6400.00 root Column#27", " └─Projection 6400.00 root Column#10, Column#6, Column#7, gid, grouping(gid)->Column#27", - " └─TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#10, Column#6, Column#7, gid", " └─HashAgg 6400.00 mpp[tiflash] group by:Column#23, Column#23, Column#24, Column#25, Column#26, funcs:sum(Column#22)->Column#10, funcs:firstrow(Column#23)->Column#6, funcs:firstrow(Column#24)->Column#7, funcs:firstrow(Column#25)->gid", @@ -2295,7 +2295,7 @@ { "SQL": "explain format = 'brief' SELECT year, country, product, grouping(year, country, product) from sales group by year, country, product with rollup having grouping(year, country, product) <> 0; -- 16. grouping function recreating fix", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#6->Column#11, Column#7->Column#12, Column#8->Column#13, grouping(gid)->Column#14", " └─Projection 6400.00 mpp[tiflash] Column#6, Column#7, Column#8, gid", diff --git a/pkg/planner/core/casetest/hint/testdata/integration_suite_out.json b/pkg/planner/core/casetest/hint/testdata/integration_suite_out.json index 9ef9992c1e00d..5fa3ecc88f780 100644 --- a/pkg/planner/core/casetest/hint/testdata/integration_suite_out.json +++ b/pkg/planner/core/casetest/hint/testdata/integration_suite_out.json @@ -22,7 +22,7 @@ "├─IndexLookUp 10000.00 root ", "│ ├─IndexFullScan(Build) 10000.00 cop[tikv] table:t, partition:p1, index:b(b) keep order:false, stats:pseudo", "│ └─TableRowIDScan(Probe) 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p2 keep order:false, stats:pseudo" ], @@ -34,10 +34,10 @@ "SQL": "select /*+ use_index(t partition(p_non_exist)) */ * from t partition(p1,p2)", "Plan": [ "PartitionUnion 20000.00 root ", - "├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p1 keep order:false, stats:pseudo", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p2 keep order:false, stats:pseudo" ], @@ -55,7 +55,7 @@ "├─IndexLookUp 10000.00 root ", "│ ├─IndexFullScan(Build) 10000.00 cop[tikv] table:t, partition:p1, index:b(b) keep order:false, stats:pseudo", "│ └─TableRowIDScan(Probe) 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p2 keep order:false, stats:pseudo" ], @@ -65,13 +65,13 @@ "SQL": "select /*+ ignore_index(t partition(p0, p1) b, c) */ * from t", "Plan": [ "PartitionUnion 30000.00 root ", - "├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p0 keep order:false, stats:pseudo", - "├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p1 keep order:false, stats:pseudo", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p2 keep order:false, stats:pseudo" ], @@ -82,23 +82,23 @@ "Plan": [ "HashJoin 37500.00 root inner join, equal:[eq(test.t.a, test.t.a)]", "├─PartitionUnion(Build) 30000.00 root ", - "│ ├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "│ ├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ │ └─TableFullScan 10000.00 mpp[tiflash] table:t2, partition:p0 keep order:false, stats:pseudo", - "│ ├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "│ ├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ │ └─TableFullScan 10000.00 mpp[tiflash] table:t2, partition:p1 keep order:false, stats:pseudo", - "│ └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "│ └─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t2, partition:p2 keep order:false, stats:pseudo", "└─PartitionUnion(Probe) 30000.00 root ", - " ├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t1, partition:p0 keep order:false, stats:pseudo", - " ├─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t1, partition:p1 keep order:false, stats:pseudo", - " └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t1, partition:p2 keep order:false, stats:pseudo" ], @@ -114,10 +114,10 @@ "│ ├─IndexRangeScan(Build) 10.00 cop[tikv] table:t, partition:p0, index:b(b) range:[1,1], keep order:false, stats:pseudo", "│ ├─IndexRangeScan(Build) 10.00 cop[tikv] table:t, partition:p0, index:c(c) range:[\"8\",\"8\"], keep order:false, stats:pseudo", "│ └─TableRowIDScan(Probe) 19.99 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo", - "├─TableReader 19.99 root MppVersion: 2, data:ExchangeSender", + "├─TableReader 19.99 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 19.99 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 19.99 mpp[tiflash] table:t, partition:p1 pushed down filter:or(eq(test.t.b, 1), eq(test.t.c, \"8\")), keep order:false, stats:pseudo", - "└─TableReader 19.99 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 19.99 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 19.99 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 19.99 mpp[tiflash] table:t, partition:p2 pushed down filter:or(eq(test.t.b, 1), eq(test.t.c, \"8\")), keep order:false, stats:pseudo" ], @@ -135,7 +135,7 @@ "│ ├─IndexRangeScan(Build) 10.00 cop[tikv] table:t, partition:p1, index:b(b) range:[2,2], keep order:false, stats:pseudo", "│ ├─TableRangeScan(Build) 1.00 cop[tikv] table:t, partition:p1 range:[1,1], keep order:false, stats:pseudo", "│ └─TableRowIDScan(Probe) 11.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo", - "└─TableReader 11.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 11.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 11.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 11.00 mpp[tiflash] table:t, partition:p2 pushed down filter:or(eq(test.t.a, 1), eq(test.t.b, 2)), keep order:false, stats:pseudo" ], @@ -148,7 +148,7 @@ "├─IndexLookUp 10000.00 root ", "│ ├─IndexFullScan(Build) 10000.00 cop[tikv] table:t, partition:p0, index:b(b) keep order:false, stats:pseudo", "│ └─TableRowIDScan(Probe) 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t, partition:p1 keep order:false, stats:pseudo" ], @@ -313,7 +313,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -335,7 +335,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -357,7 +357,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -377,7 +377,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -397,7 +397,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -438,7 +438,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -477,7 +477,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -516,7 +516,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t3.b, test.t2.b)]", @@ -555,7 +555,7 @@ "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "└─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t3.a, test.t.a)]", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", " └─MergeJoin(Probe) 12475.01 root inner join, left key:test.t3.b, right key:test.t2.b", @@ -603,7 +603,7 @@ "│ ├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ │ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "│ └─HashJoin(Probe) 19492.21 root inner join, equal:[eq(test.t3.a, test.t.a)]", - "│ ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + "│ ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", "│ │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", "│ └─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t2.b, test.t1.b)]", @@ -617,7 +617,7 @@ "│ └─TableReader(Probe) 9990.00 root data:Selection", "│ └─Selection 9990.00 cop[tikv] not(isnull(test.t2.b))", "│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo", - "└─TableReader(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -633,7 +633,7 @@ "│ ├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ │ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", "│ └─HashJoin(Probe) 19492.21 root inner join, equal:[eq(test.t3.a, test.t.a)]", - "│ ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + "│ ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", "│ │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ │ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", "│ └─HashJoin(Probe) 15593.77 root inner join, equal:[eq(test.t2.b, test.t1.b)]", @@ -647,7 +647,7 @@ "│ └─TableReader(Probe) 9990.00 root data:Selection", "│ └─Selection 9990.00 cop[tikv] not(isnull(test.t2.b))", "│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo", - "└─TableReader(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -737,7 +737,7 @@ "HashJoin 12500.00 root inner join, equal:[eq(test.t.a, test.t1.a)]", "├─IndexReader(Build) 10000.00 root index:IndexFullScan", "│ └─IndexFullScan 10000.00 cop[tikv] table:t1, index:idx_a(a) keep order:false, stats:pseudo", - "└─TableReader(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -752,7 +752,7 @@ "│ └─HashAgg 7992.00 cop[tikv] group by:test.t1.b, ", "│ └─Selection 9990.00 cop[tikv] not(isnull(test.t1.b))", "│ └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.b))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -778,7 +778,7 @@ { "SQL": "explain format = 'brief' select /*+ qb_name(qb_v7, v7), merge(@qb_v7) */ * from v7;", "Plan": [ - "TableReader 3544.89 root MppVersion: 2, data:ExchangeSender", + "TableReader 3544.89 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3544.89 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3544.89 mpp[tiflash] Column#14, Column#15", " └─HashAgg 3544.89 mpp[tiflash] group by:Column#14, Column#15, funcs:firstrow(Column#14)->Column#14, funcs:firstrow(Column#15)->Column#15", @@ -821,7 +821,7 @@ "SQL": "explain format = 'brief' select /*+ qb_name(qb_v9, v9), AGG_TO_COP(@qb_v9) */ * from v9;", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#6)->Column#4", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#6", " └─Projection 10000.00 mpp[tiflash] cast(test.t.a, decimal(10,0) BINARY)->Column#9", @@ -833,7 +833,7 @@ "SQL": "explain format = 'brief' select /*+ qb_name(qb_v10, v10), LIMIT_TO_COP(@qb_v10) */ * from v10;", "Plan": [ "TopN 1.00 root test.t.b, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] test.t.b, offset:0, count:1", " └─Selection 3333.33 mpp[tiflash] gt(test.t.a, 10)", @@ -844,7 +844,7 @@ { "SQL": "explain format = 'brief' select /*+ qb_name(qb, v11) read_from_storage(tiflash[t@qb]), MPP_1PHASE_AGG(@qb) */ * from v11;", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#4", " └─Projection 8000.00 mpp[tiflash] Column#4, test.t.a", @@ -859,7 +859,7 @@ { "SQL": "explain format = 'brief' select /*+ qb_name(qb, v11) read_from_storage(tiflash[t@qb]), MPP_2PHASE_AGG(@qb) */ * from v11;", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#4", " └─Projection 8000.00 mpp[tiflash] Column#4, test.t.a", @@ -875,7 +875,7 @@ { "SQL": "explain format = 'brief' select /*+ qb_name(qb, v12) read_from_storage(tiflash[t1@qb, t@qb]), shuffle_join(t1@qb, t@qb) */ * from v12;", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t.a, test.t.b", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", @@ -891,7 +891,7 @@ { "SQL": "explain format = 'brief' select /*+ qb_name(qb, v12) read_from_storage(tiflash[t1@qb, t@qb]), broadcast_join(t1@qb, t@qb) */ * from v12;", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t.a, test.t.b", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", @@ -1087,7 +1087,7 @@ { "SQL": "explain format = 'brief' select /*+ leading(t6), shuffle_join(t4) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.a, test.t4.a)]", @@ -1110,7 +1110,7 @@ { "SQL": "explain format = 'brief' select /*+ leading(t5), shuffle_join(t5) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.b, test.t6.b)]", @@ -1133,7 +1133,7 @@ { "SQL": "explain format = 'brief' select /*+ leading(t6), broadcast_join(t4) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.a, test.t4.a)]", @@ -1154,7 +1154,7 @@ { "SQL": "explain format = 'brief' select /*+ leading(t5), broadcast_join(t5) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.b, test.t6.b)]", @@ -1690,7 +1690,7 @@ " │ └─Selection 9990.00 cop[tikv] not(isnull(test.t4.a))", " │ └─TableFullScan 10000.00 cop[tikv] table:t4 keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t6.b, test.t5.b)]", - " ├─TableReader(Build) 9980.01 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 9980.01 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 9980.01 mpp[tiflash] ExchangeType: PassThrough", " │ └─Selection 9980.01 mpp[tiflash] not(isnull(test.t5.a)), not(isnull(test.t5.b))", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t5 pushed down filter:empty, keep order:false, stats:pseudo", @@ -1705,12 +1705,12 @@ "Plan": [ "Projection 15593.77 root test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", "└─HashJoin 15593.77 root inner join, equal:[eq(test.t5.b, test.t6.b)]", - " ├─TableReader(Build) 9990.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 9990.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─Selection 9990.00 mpp[tiflash] not(isnull(test.t6.b))", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t6 pushed down filter:empty, keep order:false, stats:pseudo", " └─HashJoin(Probe) 12475.01 root inner join, equal:[eq(test.t5.a, test.t4.a)]", - " ├─TableReader(Build) 9990.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 9990.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─Selection 9990.00 mpp[tiflash] not(isnull(test.t4.a))", " │ └─TableFullScan 10000.00 mpp[tiflash] table:t4 pushed down filter:empty, keep order:false, stats:pseudo", @@ -1723,7 +1723,7 @@ { "SQL": "explain format = 'brief' select /*+ read_from_storage(tiflash[t4, t6]), leading(t6), hash_join_build(t4) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.a, test.t4.a)]", @@ -1744,7 +1744,7 @@ { "SQL": "explain format = 'brief' select /*+ read_from_storage(tiflash[t5]), leading(t5), hash_join_probe(t5) */ * from t4 join t5 join t6 where t4.a = t5.a and t5.b = t6.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t5.b, test.t6.b)]", @@ -1809,7 +1809,7 @@ { "SQL": "explain format = 'brief' select * from t", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -1818,7 +1818,7 @@ { "SQL": "explain format = 'brief' select * from t use index();", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -1827,7 +1827,7 @@ { "SQL": "explain format = 'brief' select /*+ use_index(t, idx)*/ * from t", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -1838,7 +1838,7 @@ { "SQL": "explain format = 'brief' select /*+ use_index(t)*/ * from t", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], diff --git a/pkg/planner/core/casetest/mpp/testdata/integration_suite_out.json b/pkg/planner/core/casetest/mpp/testdata/integration_suite_out.json index c03fc744e2c1d..deb5341cf7fce 100644 --- a/pkg/planner/core/casetest/mpp/testdata/integration_suite_out.json +++ b/pkg/planner/core/casetest/mpp/testdata/integration_suite_out.json @@ -6,7 +6,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t where fact_t.d1_k = d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.d1_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)]", @@ -22,7 +22,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t, d2_t, d3_t where fact_t.d1_k = d1_t.d1_k and fact_t.d2_k = d2_t.d2_k and fact_t.d3_k = d3_t.d3_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#17", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d3_k", " └─HashJoin 8.00 mpp[tiflash] inner join, equal:[eq(test.fact_t.d3_k, test.d3_t.d3_k)]", @@ -50,7 +50,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t where fact_t.d1_k = d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.d1_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)]", @@ -66,7 +66,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", @@ -81,7 +81,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", @@ -96,7 +96,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col1 > d1_t.value", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.d1_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)], other cond:gt(test.fact_t.col1, test.d1_t.value)", @@ -112,7 +112,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col1 > 10", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], left cond:[gt(test.fact_t.col1, 10)]", @@ -127,7 +127,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col2 > 10 and fact_t.col1 > d1_t.value", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], left cond:[gt(test.fact_t.col2, 10)], other cond:gt(test.fact_t.col1, test.d1_t.value)", @@ -142,7 +142,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k and d1_t.value > 10", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], right cond:gt(test.d1_t.value, 10)", @@ -157,7 +157,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k and d1_t.value > 10 and fact_t.col1 > d1_t.value", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], right cond:gt(test.d1_t.value, 10), other cond:gt(test.fact_t.col1, test.d1_t.value)", @@ -172,7 +172,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select 1 from d1_t where d1_k = fact_t.d1_k)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 6.40 mpp[tiflash] semi join, left side:Selection, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -187,7 +187,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select 1 from d1_t where d1_k = fact_t.d1_k and value > fact_t.col1)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6.40 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 6.40 mpp[tiflash] semi join, left side:Selection, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], other cond:gt(test.d1_t.value, test.fact_t.col1)", @@ -203,7 +203,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select /*+ SEMI_JOIN_REWRITE() */ 1 from d1_t where d1_k = fact_t.d1_k)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 8.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 8.00 mpp[tiflash] inner join, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", @@ -223,7 +223,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select /*+ SEMI_JOIN_REWRITE() */ 1 from d1_t where d1_k = fact_t.d1_k and value > fact_t.col1)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6.40 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 6.40 mpp[tiflash] semi join, left side:Selection, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], other cond:gt(test.d1_t.value, test.fact_t.col1)", @@ -239,7 +239,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where not exists (select 1 from d1_t where d1_k = fact_t.d1_k)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 6.40 mpp[tiflash] anti semi join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -252,7 +252,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where not exists (select 1 from d1_t where d1_k = fact_t.d1_k and value > fact_t.col1)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6.40 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 6.40 mpp[tiflash] anti semi join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], other cond:gt(test.d1_t.value, test.fact_t.col1)", @@ -266,7 +266,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t join d1_t on fact_t.d1_k > d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 16.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 16.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 16.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 16.00 mpp[tiflash] test.d1_t.d1_k", " └─HashJoin 16.00 mpp[tiflash] CARTESIAN inner join, other cond:gt(test.fact_t.d1_k, test.d1_t.d1_k)", @@ -282,7 +282,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k > d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 16.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 16.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 16.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 16.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 16.00 mpp[tiflash] CARTESIAN left outer join, left side:TableFullScan, other cond:gt(test.fact_t.d1_k, test.d1_t.d1_k)", @@ -297,7 +297,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k > d1_t.d1_k", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 16.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 16.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 16.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 16.00 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 16.00 mpp[tiflash] CARTESIAN right outer join, left side:ExchangeReceiver, other cond:gt(test.fact_t.d1_k, test.d1_t.d1_k)", @@ -312,7 +312,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where d1_k not in (select d1_k from d1_t)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#11", - "└─TableReader 6.40 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 6.40 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6.40 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 6.40 mpp[tiflash] Null-aware anti semi join, left side:TableFullScan, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -329,7 +329,7 @@ { "SQL": "explain format = 'brief' select * from test.t t1 where t1.a>1 or t1.a in (select a from test.t); -- left semi", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, test.t.b", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#7)", @@ -344,7 +344,7 @@ { "SQL": "explain format = 'brief' select * from test.t t1 where t1.a>1 or t1.a in (select a from test.t where b1 or t1.a not in (select a from test.t); -- left anti", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, test.t.b", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#7)", @@ -374,7 +374,7 @@ { "SQL": "explain format = 'brief' select * from test.t t1 where t1.a>1 or t1.a not in (select a from test.t where b1 or t1.b in (select a from test.t); -- cartesian left semi", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, test.t.b", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#7)", @@ -404,7 +404,7 @@ { "SQL": "explain format = 'brief' select * from test.t t1 where t1.a>1 or t1.a in (select b from test.t where b1 or t1.b not in (select a from test.t); -- cartesian left anti", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, test.t.b", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#7)", @@ -434,7 +434,7 @@ { "SQL": "explain format = 'brief' select * from test.t t1 where t1.a>1 or t1.b not in (select a from test.t where bColumn#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] test.a.id", " └─HashJoin 2.00 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.a.id, test.b.id)]", @@ -583,7 +583,7 @@ "SQL": "explain format = 'brief' select count(*) from b right join a on a.id = b.id", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] test.b.id", " └─HashJoin 2.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.b.id, test.a.id)]", @@ -603,7 +603,7 @@ "SQL": "explain format = 'brief' select count(*) from a left join b on a.id = b.id", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] test.a.id", " └─HashJoin 2.00 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.a.id, test.b.id)]", @@ -620,7 +620,7 @@ "SQL": "explain format = 'brief' select count(*) from b right join a on a.id = b.id", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.b.id, test.a.id)]", " ├─ExchangeReceiver(Build) 3.00 mpp[tiflash] ", @@ -641,7 +641,7 @@ "SQL": "explain format = 'brief' select count(*) from a left join b on a.id = b.id", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] test.a.id", " └─HashJoin 2.00 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.a.id, test.b.id)]", @@ -658,7 +658,7 @@ "SQL": "explain format = 'brief' select count(*) from b right join a on a.id = b.id", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#7", - "└─TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.b.id, test.a.id)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -679,7 +679,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t where fact_t.d1_k = d1_t.d1_k", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─HashJoin 32.00 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)]", @@ -697,7 +697,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t, d2_t, d3_t where fact_t.d1_k = d1_t.d1_k and fact_t.d2_k = d2_t.d2_k and fact_t.d3_k = d3_t.d3_k", "Plan": [ "HashAgg 1.00 root funcs:count(Column#18)->Column#17", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#18", " └─Projection 128.00 mpp[tiflash] test.fact_t.d3_k", @@ -732,7 +732,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t where fact_t.d1_k = d1_t.d1_k", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─HashJoin 32.00 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)]", @@ -750,7 +750,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t, d1_t, d2_t, d3_t where fact_t.d1_k = d1_t.d1_k and fact_t.d1_k = d2_t.value and fact_t.d1_k = d3_t.value", "Plan": [ "HashAgg 1.00 root funcs:count(Column#18)->Column#17", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#18", " └─Projection 128.00 mpp[tiflash] test.fact_t.d1_k", @@ -781,7 +781,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.fact_t.d1_k", @@ -799,7 +799,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─HashJoin 32.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", @@ -816,7 +816,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col1 > d1_t.value", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.d1_t.d1_k, test.fact_t.d1_k", @@ -835,7 +835,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col1 > 10", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.fact_t.d1_k", @@ -853,7 +853,7 @@ "SQL": "explain format = 'brief' select count(*) from (select case when t1.col1 is null then t2.col1 + 5 else 10 end as col1, t2.d1_k as d1_k from fact_t t1 right join fact_t t2 on t1.d1_k = t2.d1_k) fact_t join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col1 > 5", "Plan": [ "HashAgg 1.00 root funcs:count(Column#22)->Column#19", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#22", " └─HashJoin 204.80 mpp[tiflash] inner join, equal:[eq(test.d1_t.d1_k, test.fact_t.d1_k)]", @@ -879,7 +879,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t left join d1_t on fact_t.d1_k = d1_t.d1_k and fact_t.col2 > 10 and fact_t.col1 > d1_t.value", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.fact_t.d1_k", @@ -897,7 +897,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k and d1_t.value > 10", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.fact_t.d1_k, test.d1_t.d1_k", @@ -915,7 +915,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t right join d1_t on fact_t.d1_k = d1_t.d1_k and d1_t.value > 10 and fact_t.col1 > d1_t.value", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Projection 32.00 mpp[tiflash] test.fact_t.d1_k, test.d1_t.d1_k", @@ -933,7 +933,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select 1 from d1_t where d1_k = fact_t.d1_k)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 12.80 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 12.80 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12.80 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12.80 mpp[tiflash] semi join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", " ├─ExchangeReceiver(Build) 4.00 mpp[tiflash] ", @@ -950,7 +950,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where exists (select 1 from d1_t where d1_k = fact_t.d1_k and value > fact_t.col1)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 12.80 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 12.80 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12.80 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12.80 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 12.80 mpp[tiflash] semi join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], other cond:gt(test.d1_t.value, test.fact_t.col1)", @@ -968,7 +968,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where not exists (select 1 from d1_t where d1_k = fact_t.d1_k)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 12.80 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 12.80 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12.80 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12.80 mpp[tiflash] anti semi join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)]", " ├─ExchangeReceiver(Build) 4.00 mpp[tiflash] ", @@ -983,7 +983,7 @@ "SQL": "explain format = 'brief' select count(*) from fact_t where not exists (select 1 from d1_t where d1_k = fact_t.d1_k and value > fact_t.col1)", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#12", - "└─TableReader 12.80 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 12.80 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12.80 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12.80 mpp[tiflash] test.fact_t.d1_k", " └─HashJoin 12.80 mpp[tiflash] anti semi join, left side:ExchangeReceiver, equal:[eq(test.fact_t.d1_k, test.d1_t.d1_k)], other cond:gt(test.d1_t.value, test.fact_t.col1)", @@ -1003,7 +1003,7 @@ { "SQL": "explain format = 'brief' select v from t3 as a left join (select t1.v1, t1.v2, t1.v1 + t1.v2 as v from t1 left join t2 on t1.v1 = t2.v1 and t1.v2 = t2.v2) b on a.v1 = b.v1 and a.v2 = b.v2", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#13", " └─Projection 1.00 mpp[tiflash] Column#13, Column#23, Column#24", @@ -1029,7 +1029,7 @@ { "SQL": "explain format = 'brief' select count(*), t2.v1, t2.v2 from t1 left join t2 on t1.v1 = t2.v1 and t1.v2 = t2.v2 group by t2.v1, t2.v2", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] Column#9, test.t2.v1, test.t2.v2", " └─HashAgg 2.00 mpp[tiflash] group by:test.t2.v1, test.t2.v2, funcs:sum(Column#22)->Column#9, funcs:firstrow(test.t2.v1)->test.t2.v1, funcs:firstrow(test.t2.v2)->test.t2.v2", @@ -1051,7 +1051,7 @@ { "SQL": "explain format = 'brief' select count(*), t2.v1, t2.v2 from t3 left join t2 on t3.v1 = t2.v1 and t3.v2 = t2.v2 group by t2.v1, t2.v2", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#9, test.t2.v1, test.t2.v2", " └─HashAgg 1.00 mpp[tiflash] group by:test.t2.v1, test.t2.v2, funcs:count(1)->Column#9, funcs:firstrow(test.t2.v1)->test.t2.v1, funcs:firstrow(test.t2.v2)->test.t2.v2", @@ -1077,10 +1077,10 @@ "SQL": "explain format = 'brief' select * from table_1 a, table_1 b where a.bit_col = b.bit_col", "Plan": [ "HashJoin 2.00 root inner join, equal:[eq(test.table_1.bit_col, test.table_1.bit_col)]", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] @@ -1089,10 +1089,10 @@ "SQL": "explain format = 'brief' select * from table_1 a left join table_1 b on a.id = b.id and dayofmonth(a.datetime_col) > 100", "Plan": [ "HashJoin 2.00 root left outer join, left side:TableReader, equal:[eq(test.table_1.id, test.table_1.id)], left cond:[gt(dayofmonth(test.table_1.datetime_col), 100)]", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] @@ -1101,10 +1101,10 @@ "SQL": "explain format = 'brief' select * from table_1 a right join table_1 b on a.id = b.id and dayofmonth(b.datetime_col) > 100", "Plan": [ "HashJoin 2.00 root right outer join, left side:TableReader, equal:[eq(test.table_1.id, test.table_1.id)], right cond:gt(dayofmonth(test.table_1.datetime_col), 100)", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false" ] @@ -1113,10 +1113,10 @@ "SQL": "explain format = 'brief' select * from table_1 a join table_1 b on a.id = b.id and dayofmonth(a.datetime_col) > dayofmonth(b.datetime_col)", "Plan": [ "HashJoin 2.00 root inner join, equal:[eq(test.table_1.id, test.table_1.id)], other cond:gt(dayofmonth(test.table_1.datetime_col), dayofmonth(test.table_1.datetime_col))", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] @@ -1129,7 +1129,7 @@ { "SQL": "explain format = 'brief' select * from table_1 a, table_1 b where a.value = b.value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.value, test.table_1.value)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -1145,7 +1145,7 @@ { "SQL": "explain format = 'brief' select * from table_1 a, table_2 b where a.value = b.value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.value, test.table_2.value)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -1161,7 +1161,7 @@ { "SQL": "explain format = 'brief' select * from table_1 a, table_2 b, table_1 c where a.value = b.value and b.value = c.value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_2.value, test.table_1.value)]", " ├─HashJoin(Build) 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.value, test.table_2.value)]", @@ -1182,7 +1182,7 @@ { "SQL": "explain format = 'brief' select * from table_1 a, table_2 b, table_1 c where a.value = b.value and a.value = c.value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.value, test.table_1.value)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -1205,7 +1205,7 @@ { "SQL": "explain format = 'brief' select /*+ agg_to_cop() */ count(*), value from table_1 group by value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] Column#4, test.table_1.value", " └─HashAgg 2.00 mpp[tiflash] group by:test.table_1.value, funcs:count(1)->Column#4, funcs:firstrow(test.table_1.value)->test.table_1.value", @@ -1217,7 +1217,7 @@ { "SQL": "explain format = 'brief' select /*+ agg_to_cop() */ count(*), value from table_2 group by value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] Column#4, test.table_2.value", " └─HashAgg 2.00 mpp[tiflash] group by:test.table_2.value, funcs:count(1)->Column#4, funcs:firstrow(test.table_2.value)->test.table_2.value", @@ -1234,7 +1234,7 @@ { "SQL": "explain format = 'brief' select /*+ broadcast_join(a,b) */ * from table_1 a, table_1 b where a.id = b.id", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.id, test.table_1.id)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -1246,7 +1246,7 @@ { "SQL": "explain format = 'brief' select /*+ broadcast_join(a,b) */ * from table_1 a, table_1 b where a.value = b.value", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 2.00 mpp[tiflash] inner join, equal:[eq(test.table_1.value, test.table_1.value)]", " ├─ExchangeReceiver(Build) 2.00 mpp[tiflash] ", @@ -1265,7 +1265,7 @@ { "SQL": "explain format = 'brief' select /*+ avg_to_cop() */ id, avg(value+1),avg(value) from table_1 group by id", "Plan": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2.00 mpp[tiflash] test.table_1.id, Column#4, Column#5", " └─Projection 2.00 mpp[tiflash] div(Column#4, cast(case(eq(Column#20, 0), 1, Column#20), decimal(20,0) BINARY))->Column#4, div(Column#5, cast(case(eq(Column#21, 0), 1, Column#21), decimal(20,0) BINARY))->Column#5, test.table_1.id", @@ -1285,7 +1285,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#9)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(Column#11)->Column#9", " └─Projection 10000.00 mpp[tiflash] plus(test.t.id, 1)->Column#11", @@ -1296,7 +1296,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(*) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#8)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#8", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -1306,7 +1306,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ sum(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#9)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#11)->Column#9", " └─Projection 10000.00 mpp[tiflash] cast(plus(test.t.id, 1), decimal(20,0) BINARY)->Column#11", @@ -1317,7 +1317,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ count(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#10)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(Column#11)->Column#10", " └─Projection 10000.00 mpp[tiflash] plus(test.t.id, 1)->Column#11", @@ -1328,7 +1328,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ count(*) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#9)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#9", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -1338,7 +1338,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ sum(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#10)->Column#6", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#11)->Column#10", " └─Projection 10000.00 mpp[tiflash] cast(plus(test.t.id, 1), decimal(20,0) BINARY)->Column#11", @@ -1348,7 +1348,7 @@ { "SQL": "desc format = 'brief' select B.b+A.b from (select id-2 as b from t) B join (select id-2 as b from t) A on A.b=B.b", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] plus(Column#5, Column#10)->Column#11", " └─HashJoin 10000.00 mpp[tiflash] inner join, equal:[eq(Column#5, Column#10)]", @@ -1365,7 +1365,7 @@ { "SQL": "desc format = 'brief' select * from t join (select id-2 as b from t) A on A.b=t.id", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 10000.00 mpp[tiflash] inner join, equal:[eq(test.t.id, Column#9)]", " ├─ExchangeReceiver(Build) 8000.00 mpp[tiflash] ", @@ -1380,7 +1380,7 @@ { "SQL": "desc format = 'brief' select * from t left join (select id-2 as b from t) A on A.b=t.id", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 10000.00 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.t.id, Column#9)]", " ├─ExchangeReceiver(Build) 8000.00 mpp[tiflash] ", @@ -1394,7 +1394,7 @@ { "SQL": "desc format = 'brief' select * from t right join (select id-2 as b from t) A on A.b=t.id", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.id, Column#9)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1408,7 +1408,7 @@ { "SQL": "desc format = 'brief' select A.b, B.b from (select id-2 as b from t) B join (select id-2 as b from t) A on A.b=B.b", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#10, Column#5", " └─HashJoin 10000.00 mpp[tiflash] inner join, equal:[eq(Column#5, Column#10)]", @@ -1425,7 +1425,7 @@ { "SQL": "desc format = 'brief' select id from t as A where exists (select 1 from t where t.id=A.id)", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] semi join, left side:Selection, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1439,7 +1439,7 @@ { "SQL": "desc format = 'brief' select id from t as A where not exists (select 1 from t where t.id=A.id)", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 8000.00 mpp[tiflash] anti semi join, left side:TableFullScan, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1452,7 +1452,7 @@ "SQL": "desc format = 'brief' select b*2, id from (select avg(value+2) as b, id from t group by id) C order by id", "Plan": [ "Sort 8000.00 root test.t.id", - "└─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] mul(Column#5, 2)->Column#6, test.t.id", " └─Projection 8000.00 mpp[tiflash] div(Column#5, cast(case(eq(Column#20, 0), 1, Column#20), decimal(20,0) BINARY))->Column#5, test.t.id", @@ -1467,7 +1467,7 @@ { "SQL": "desc format = 'brief' SELECT FROM_UNIXTIME(name,'%Y-%m-%d') FROM t;", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] from_unixtime(cast(test.t.name, decimal(65,6) BINARY), %Y-%m-%d)->Column#5", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -1481,7 +1481,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(*) c, id from t group by id having id >c", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 6400.00 mpp[tiflash] gt(test.t.id, Column#5)", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.id", @@ -1495,7 +1495,7 @@ { "SQL": "desc format = 'brief' select * from t where id < 2", "Plan": [ - "TableReader 3323.33 root MppVersion: 2, data:ExchangeSender", + "TableReader 3323.33 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3323.33 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 3323.33 mpp[tiflash] lt(test.t.id, 2)", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -1510,7 +1510,7 @@ "SQL": "explain format = 'brief' select count(*) from (select a , b from t union all select a , b from t1) tt", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#12", " └─Union 20000.00 mpp[tiflash] ", @@ -1524,7 +1524,7 @@ "SQL": "explain format = 'brief' select count(*) from (select a , b from t union all select a , b from t1 union all select a, b from t where false) tt", "Plan": [ "HashAgg 1.00 root funcs:count(Column#16)->Column#15", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#16", " └─Union 20000.00 mpp[tiflash] ", @@ -1538,7 +1538,7 @@ "SQL": "explain format = 'brief' select count(*) from (select a , b from t union all select a , c from t1) tt", "Plan": [ "HashAgg 1.00 root funcs:count(Column#14)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#14", " └─Union 20000.00 mpp[tiflash] ", @@ -1553,7 +1553,7 @@ "SQL": "explain format = 'brief' select count(*) from (select a , b from t union all select a , c from t1 where false) tt", "Plan": [ "HashAgg 1.00 root funcs:count(Column#14)->Column#11", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#14", " └─Union 10000.00 mpp[tiflash] ", @@ -1581,7 +1581,7 @@ { "SQL": "desc format = 'brief' select t1.c1, t1.c2, t2.c1, t2.c2, t2.c3 from t t1 join t t2 on t1.c1 + 1 = t2.c2 - 10 and t1.c1 * 3 = t2.c3 / 2", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t.c1, test.t.c2, test.t.c1, test.t.c2, test.t.c3", " └─Projection 12500.00 mpp[tiflash] test.t.c1, test.t.c2, test.t.c1, test.t.c2, test.t.c3, Column#14, Column#16", @@ -1600,7 +1600,7 @@ { "SQL": "desc format = 'brief' select * from (select c1, c2, c5, count(*) c from t group by c1, c2, c5) t1 join (select c1, c2, c3, count(*) c from t group by c1, c2, c3) t2 on t1.c1 = t2.c2 and t1.c2 = t2.c3 and t1.c5 = t2.c1", "Plan": [ - "TableReader 7976.02 root MppVersion: 2, data:ExchangeSender", + "TableReader 7976.02 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7976.02 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 7976.02 mpp[tiflash] test.t.c1, test.t.c2, test.t.c5, Column#7, test.t.c1, test.t.c2, test.t.c3, Column#14", " └─Projection 7976.02 mpp[tiflash] Column#7, test.t.c1, test.t.c2, test.t.c5, Column#14, test.t.c1, test.t.c2, test.t.c3, Column#59, Column#60", @@ -1630,7 +1630,7 @@ { "SQL": "desc format = 'brief' select * from t t1 join t t2 on t1.c1 = t2.c2 and t1.c2 = t2.c2 and t1.c3 = t2.c3 and t1.c4 = t2.c4 and t1.c5 = t2.c5", "Plan": [ - "TableReader 12462.54 root MppVersion: 2, data:ExchangeSender", + "TableReader 12462.54 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12462.54 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12462.54 mpp[tiflash] inner join, equal:[eq(test.t.c1, test.t.c2) eq(test.t.c2, test.t.c2) eq(test.t.c3, test.t.c3) eq(test.t.c4, test.t.c4) eq(test.t.c5, test.t.c5)]", " ├─ExchangeReceiver(Build) 9970.03 mpp[tiflash] ", @@ -1646,7 +1646,7 @@ { "SQL": "desc format = 'brief' select * from t t1 join t t2 on t1.c1 = t2.c2 and t1.c2 = t2.c3 and t1.c3 = t2.c1 and t1.c4 = t2.c3 and t1.c1 = t2.c5", "Plan": [ - "TableReader 12462.54 root MppVersion: 2, data:ExchangeSender", + "TableReader 12462.54 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12462.54 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12462.54 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5", " └─Projection 12462.54 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, Column#19, Column#21, Column#22", @@ -1666,7 +1666,7 @@ { "SQL": "desc format = 'brief' select * from t t1 join t t2 on t1.c1 + t1.c2 = t2.c2 / t2.c3", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5", " └─Projection 12500.00 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, Column#14", @@ -1685,7 +1685,7 @@ { "SQL": "desc format = 'brief' select * from t t1 where exists (select * from t t2 where t1.c1 = t2.c2 and t1.c2 = t2.c3 and t1.c3 = t2.c1 and t1.c4 = t2.c3 and t1.c1 = t2.c5)", "Plan": [ - "TableReader 7984.01 root MppVersion: 2, data:ExchangeSender", + "TableReader 7984.01 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7984.01 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 7984.01 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5", " └─HashJoin 7984.01 mpp[tiflash] semi join, left side:ExchangeReceiver, equal:[eq(test.t.c1, test.t.c2) eq(test.t.c2, test.t.c3) eq(test.t.c3, test.t.c1) eq(test.t.c4, test.t.c3) eq(test.t.c1, test.t.c5)]", @@ -1704,7 +1704,7 @@ { "SQL": "desc format = 'brief' select * from t t1 left join t t2 on t1.c1 = t2.c2 join t t3 on t2.c5 = t3.c3 right join t t4 on t3.c3 = t4.c4 ", "Plan": [ - "TableReader 19492.21 root MppVersion: 2, data:ExchangeSender", + "TableReader 19492.21 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19492.21 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 19492.21 mpp[tiflash] test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5, test.t.c1, test.t.c2, test.t.c3, test.t.c4, test.t.c5", " └─HashJoin 19492.21 mpp[tiflash] right outer join, left side:Projection, equal:[eq(test.t.c3, test.t.c4)]", @@ -1735,7 +1735,7 @@ { "SQL": "desc format = 'brief' SELECT STRAIGHT_JOIN t1 . col_varchar_64 , t1 . col_char_64_not_null FROM tt AS t1 INNER JOIN( tt AS t2 JOIN tt AS t3 ON(t3 . col_decimal_30_10_key = t2 . col_tinyint)) ON(t3 . col_varchar_64 = t2 . col_varchar_key) WHERE t3 . col_varchar_64 = t1 . col_char_64_not_null GROUP BY 1 , 2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.tt.col_varchar_64, test.tt.col_char_64_not_null", " └─HashAgg 8000.00 mpp[tiflash] group by:test.tt.col_char_64_not_null, test.tt.col_varchar_64, funcs:firstrow(test.tt.col_varchar_64)->test.tt.col_varchar_64, funcs:firstrow(test.tt.col_char_64_not_null)->test.tt.col_char_64_not_null", @@ -1767,7 +1767,7 @@ { "SQL": "desc format = 'brief' select * from tt t1 where exists (select * from t t2 where t1.b1 = t2.c3 and t2.c1 < t2.c2)", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] semi join, left side:ExchangeReceiver, equal:[eq(test.tt.b1, test.t.c3)]", " ├─ExchangeReceiver(Build) 8000.00 mpp[tiflash] ", @@ -1789,7 +1789,7 @@ { "SQL": "desc format = 'brief' select * from tt t1 where exists (select * from t t2 where t1.b1 = t2.c3 and t2.c1 < t2.c2)", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] semi join, left side:ExchangeReceiver, equal:[eq(test.tt.b1, test.t.c3)], stream_count: 8", " ├─ExchangeReceiver(Build) 8000.00 mpp[tiflash] stream_count: 8", @@ -1806,7 +1806,7 @@ { "SQL": "desc format = 'brief' select count(*) from tt group by b1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#3", " └─HashAgg 8000.00 mpp[tiflash] group by:test.tt.b1, funcs:sum(Column#7)->Column#3, stream_count: 8", @@ -1824,7 +1824,7 @@ { "SQL": "desc format = 'brief' select count(*) as cnt from t group by a, b", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.a, test.t.b, funcs:sum(Column#7)->Column#4", @@ -1843,7 +1843,7 @@ { "SQL": "desc format = 'brief' select count(*) as cnt from t group by a, b", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.a, test.t.b, funcs:sum(Column#7)->Column#4", @@ -1891,7 +1891,7 @@ { "SQL": "desc format = 'brief' select count(*) as cnt from t group by a, b", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.a, test.t.b, funcs:sum(Column#7)->Column#4", @@ -1911,7 +1911,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#8)->Column#5", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(Column#10)->Column#8", " └─Projection 10000.00 mpp[tiflash] plus(test.t.id, 1)->Column#10", @@ -1922,7 +1922,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(*) from (select id+1 from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#7)->Column#5", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#7", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -1932,7 +1932,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ sum(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#8)->Column#5", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#10)->Column#8", " └─Projection 10000.00 mpp[tiflash] cast(plus(test.t.id, 1), decimal(20,0) BINARY)->Column#10", @@ -1943,7 +1943,7 @@ "SQL": "desc format = 'brief' select count(*) from t", "Plan": [ "HashAgg 1.00 root funcs:count(Column#6)->Column#4", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#6", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -1952,7 +1952,7 @@ { "SQL": "desc format = 'brief' select count(*), id from t group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, test.t.id", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.id, funcs:sum(Column#11)->Column#4, funcs:firstrow(test.t.id)->test.t.id", @@ -1965,7 +1965,7 @@ { "SQL": "desc format = 'brief' select count(*), id + 1 from t group by id + 1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, plus(test.t.id, 1)->Column#5", " └─Projection 8000.00 mpp[tiflash] Column#4, test.t.id", @@ -1980,7 +1980,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(*), id from t group by id) as A on A.id = t.id", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─Projection(Build) 7992.00 mpp[tiflash] Column#7, test.t.id", @@ -2001,11 +2001,11 @@ "Plan": [ "HashJoin 1.25 root inner join, equal:[eq(test.t.id, Column#7)]", "├─HashAgg(Build) 1.00 root funcs:count(Column#11)->Column#7", - "│ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "│ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#11", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.id))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -2014,7 +2014,7 @@ { "SQL": "desc format = 'brief' select avg(value) as b,id from t group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] div(Column#4, cast(case(eq(Column#17, 0), 1, Column#17), decimal(20,0) BINARY))->Column#4, test.t.id", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.id, funcs:sum(Column#18)->Column#17, funcs:sum(Column#19)->Column#4, funcs:firstrow(test.t.id)->test.t.id", @@ -2028,7 +2028,7 @@ "SQL": "desc format = 'brief' select /*+hash_agg()*/ sum(b) from (select avg(value) as b, id from t group by id)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#18)->Column#5", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#4)->Column#18", " └─Projection 8000.00 mpp[tiflash] div(Column#4, cast(case(eq(Column#15, 0), 1, Column#15), decimal(20,0) BINARY))->Column#4", @@ -2042,7 +2042,7 @@ { "SQL": "desc format = 'brief' select id from t group by id having avg(value)>0", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] test.t.id", " └─Selection 6400.00 mpp[tiflash] gt(Column#4, 0)", @@ -2057,7 +2057,7 @@ { "SQL": "desc format = 'brief' select avg(value),id from t group by id having avg(value)>0", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 6400.00 mpp[tiflash] gt(Column#4, 0)", " └─Projection 8000.00 mpp[tiflash] div(Column#4, cast(case(eq(Column#19, 0), 1, Column#19), decimal(20,0) BINARY))->Column#4, test.t.id", @@ -2071,7 +2071,7 @@ { "SQL": "desc format = 'brief' select avg(value) +1,id from t group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] plus(Column#4, 1)->Column#5, test.t.id", " └─Projection 8000.00 mpp[tiflash] div(Column#4, cast(case(eq(Column#19, 0), 1, Column#19), decimal(20,0) BINARY))->Column#4, test.t.id", @@ -2085,7 +2085,7 @@ { "SQL": "desc format = 'brief' select sum(b) from (select t.id, t1.id as b from t join t t1 on t.id=t1.id)A group by id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 7992.00 mpp[tiflash] Column#7", " └─HashAgg 7992.00 mpp[tiflash] group by:Column#12, funcs:sum(Column#11)->Column#7", @@ -2104,7 +2104,7 @@ { "SQL": "desc format = 'brief' select * from (select id from t group by id) C join (select sum(b),id from (select t.id, t1.id as b from t join (select id, count(*) as c from t group by id) t1 on t.id=t1.id)A group by id)B on C.id=b.id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─Projection(Build) 7992.00 mpp[tiflash] test.t.id", @@ -2135,7 +2135,7 @@ { "SQL": "desc format = 'brief' select count(distinct value),id from t group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, test.t.id", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.id, funcs:count(distinct test.t.value)->Column#4, funcs:firstrow(test.t.id)->test.t.id", @@ -2149,7 +2149,7 @@ "SQL": "desc format = 'brief' select count(distinct value),sum(distinct value),id from t group by id", "Plan": [ "HashAgg 8000.00 root group by:test.t.id, funcs:count(distinct test.t.value)->Column#4, funcs:sum(distinct test.t.value)->Column#5, funcs:firstrow(test.t.id)->test.t.id", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ] @@ -2157,7 +2157,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(distinct value), id from t group by id) as A on A.id = t.id", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─Projection(Build) 7992.00 mpp[tiflash] Column#7, test.t.id", @@ -2176,7 +2176,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(1/value), id from t group by id) as A on A.id = t.id", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─Projection(Build) 7992.00 mpp[tiflash] Column#7, test.t.id", @@ -2196,7 +2196,7 @@ { "SQL": "desc format = 'brief' select /*+hash_agg()*/ sum(id) from (select value, id from t where id > value group by id, value)A group by value /*the exchange should have only one partition column: test.t.value*/", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#4", " └─HashAgg 6400.00 mpp[tiflash] group by:Column#21, funcs:sum(Column#20)->Column#4", @@ -2213,7 +2213,7 @@ { "SQL": "desc format = 'brief' select /*+hash_agg()*/ sum(B.value) from t as B where B.id+1 > (select count(*) from t where t.id= B.id and t.value=B.value) group by B.id /*the exchange should have only one partition column: test.t.id*/", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6400.00 mpp[tiflash] Column#8", " └─HashAgg 6400.00 mpp[tiflash] group by:test.t.id, funcs:sum(test.t.value)->Column#8", @@ -2235,7 +2235,7 @@ { "SQL": "desc format = 'brief' select count(distinct value) from t", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#4", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#6)->Column#4", @@ -2251,7 +2251,7 @@ { "SQL": "desc format = 'brief' select count(distinct x ) from (select count(distinct value) x from t) t", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:count(distinct Column#4)->Column#5", @@ -2269,7 +2269,7 @@ { "SQL": "desc format = 'brief' select count(distinct value), count(value), avg(value) from t", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#4, Column#5, div(Column#6, cast(case(eq(Column#15, 0), 1, Column#15), decimal(20,0) BINARY))->Column#6", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#19)->Column#4, funcs:sum(Column#20)->Column#5, funcs:sum(Column#21)->Column#15, funcs:sum(Column#22)->Column#6", @@ -2290,7 +2290,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(*), id from t group by id) as A on A.id = t.id", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 7992.00 mpp[tiflash] ", @@ -2309,7 +2309,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(*)+id as v from t group by id) as A on A.v = t.id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 8000.00 mpp[tiflash] inner join, equal:[eq(test.t.id, Column#8)]", " ├─ExchangeReceiver(Build) 6400.00 mpp[tiflash] ", @@ -2329,7 +2329,7 @@ { "SQL": "desc format = 'brief' select * from t join ( select count(*) as v, id from t group by value,id having value+v <10) as A on A.id = t.id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 7992.00 mpp[tiflash] test.t.id, test.t.value, Column#7, test.t.id", " └─HashJoin 7992.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", @@ -2352,11 +2352,11 @@ "Plan": [ "HashJoin 1.25 root inner join, equal:[eq(test.t.id, Column#7)]", "├─HashAgg(Build) 1.00 root funcs:count(Column#10)->Column#7", - "│ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "│ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#10", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.id))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -2365,7 +2365,7 @@ { "SQL": "desc format = 'brief' select sum(b) from (select t.id, t1.id as b from t join t t1 on t.id=t1.id)A group by id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 7992.00 mpp[tiflash] Column#7", " └─HashAgg 7992.00 mpp[tiflash] group by:Column#12, funcs:sum(Column#11)->Column#7", @@ -2384,7 +2384,7 @@ { "SQL": "desc format = 'brief' select * from (select id from t group by id) C join (select sum(value),id from t group by id)B on C.id=B.id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 7992.00 mpp[tiflash] ", @@ -2408,7 +2408,7 @@ { "SQL": "desc format = 'brief' select * from (select id from t group by id) C join (select sum(b),id from (select t.id, t1.id as b from t join (select id, count(*) as c from t group by id) t1 on t.id=t1.id)A group by id)B on C.id=b.id", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 7992.00 mpp[tiflash] ", @@ -2444,7 +2444,7 @@ "SQL": "desc format = 'brief' select * from t join t t1 on t.id = t1.id order by t.value limit 1", "Plan": [ "TopN 1.00 root test.t.value, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] test.t.value, offset:0, count:1", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", @@ -2462,7 +2462,7 @@ "Projection 1.00 root test.t.id, test.t.value, test.t.id, test.t.value", "└─TopN 1.00 root Column#8, offset:0, count:1", " └─Projection 1.00 root test.t.id, test.t.value, test.t.id, test.t.value, mod(test.t.value, 100)->Column#8", - " └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] test.t.id, test.t.value, test.t.id, test.t.value", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", @@ -2481,7 +2481,7 @@ "Plan": [ "StreamAgg 20.00 root group by:test.t.value, funcs:count(1)->Column#7", "└─TopN 20.00 root test.t.value, offset:0, count:20", - " └─TableReader 20.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 20.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 20.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 20.00 mpp[tiflash] test.t.value, offset:0, count:20", " └─Projection 12487.50 mpp[tiflash] test.t.value", @@ -2498,7 +2498,7 @@ "SQL": "desc format = 'brief' select * from t join t t1 on t.id = t1.id limit 1", "Plan": [ "Limit 1.00 root offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Limit 1.00 mpp[tiflash] offset:0, count:1", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", @@ -2514,7 +2514,7 @@ "SQL": "desc format = 'brief' select * from t join t t1 on t.id = t1.id limit 1", "Plan": [ "Limit 1.00 root offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Limit 1.00 mpp[tiflash] offset:0, count:1", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", @@ -2531,7 +2531,7 @@ "Plan": [ "HashAgg 20.00 root group by:test.t.value, funcs:count(1)->Column#7", "└─Limit 20.00 root offset:0, count:20", - " └─TableReader 20.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 20.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 20.00 mpp[tiflash] ExchangeType: PassThrough", " └─Limit 20.00 mpp[tiflash] offset:0, count:20", " └─Projection 12487.50 mpp[tiflash] test.t.value", @@ -2554,7 +2554,7 @@ "Plan": [ "Projection 8000.00 root Column#5->Column#6", "└─Sort 8000.00 root test.t.id", - " └─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.id", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.id, test.t.name, funcs:sum(Column#9)->Column#5, funcs:firstrow(test.t.id)->test.t.id", @@ -2568,7 +2568,7 @@ "SQL": "desc format = 'brief' select count(*) from (select * from t order by id)a group by name order by 1", "Plan": [ "Sort 8000.00 root Column#5", - "└─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.name, funcs:sum(Column#9)->Column#5", @@ -2582,7 +2582,7 @@ "SQL": "desc format = 'brief' select count(*) from (select id,name from t group by id,name order by id,name)a group by name order by 1", "Plan": [ "Sort 8000.00 root Column#5", - "└─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:test.t.name, funcs:count(1)->Column#5", @@ -2598,7 +2598,7 @@ "SQL": "desc format = 'brief' select * from (select id from t group by id order by id)a join t on a.id=t.id order by 1", "Plan": [ "Sort 9990.00 root test.t.id", - "└─TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 9990.00 mpp[tiflash] test.t.id, test.t.id, test.t.value, test.t.name", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", @@ -2619,7 +2619,7 @@ "SQL": "desc format = 'brief' select * from (select * from t order by id)a join t on a.id=t.id order by 1", "Plan": [ "Sort 12487.50 root test.t.id", - "└─TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -2633,7 +2633,7 @@ { "SQL": "desc format = 'brief' select * from ((select id from t order by 1) union all (select id+1 from t order by 1))c", "Plan": [ - "TableReader 20000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 20000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 20000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Union 20000.00 mpp[tiflash] ", " ├─Projection 10000.00 mpp[tiflash] cast(test.t.id, bigint(20) BINARY)->Column#10", @@ -2645,7 +2645,7 @@ { "SQL": "desc format = 'brief' select * from ((select count(*) from (select id,name from t order by id)a group by name,id order by id) union all (select id+1 from t order by 1))c", "Plan": [ - "TableReader 18000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 18000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 18000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Union 18000.00 mpp[tiflash] ", " ├─Projection 8000.00 mpp[tiflash] cast(Column#12, bigint(21) BINARY)->Column#12", @@ -2663,7 +2663,7 @@ "SQL": "desc format = 'brief' select * from (select * from t order by id)a order by name", "Plan": [ "Sort 10000.00 root test.t.name", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ] diff --git a/pkg/planner/core/casetest/physicalplantest/testdata/plan_suite_out.json b/pkg/planner/core/casetest/physicalplantest/testdata/plan_suite_out.json index 6224962aa4adf..4421a4cb800f0 100644 --- a/pkg/planner/core/casetest/physicalplantest/testdata/plan_suite_out.json +++ b/pkg/planner/core/casetest/physicalplantest/testdata/plan_suite_out.json @@ -5,7 +5,7 @@ { "SQL": "select /*+ MPP_1PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -20,7 +20,7 @@ { "SQL": "select /*+ MPP_2PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -36,7 +36,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -53,7 +53,7 @@ { "SQL": "select /*+ broadcast_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -68,7 +68,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_1PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -83,7 +83,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_2PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -99,7 +99,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -116,7 +116,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -131,7 +131,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -148,7 +148,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -163,7 +163,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_build(t1) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -180,7 +180,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_build(t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -195,7 +195,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_build(t1) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -210,7 +210,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_probe(t1) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -227,7 +227,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_probe(t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -242,7 +242,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_probe(t1) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -257,7 +257,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), merge_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -274,7 +274,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), merge_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -291,7 +291,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), INL_JOIN(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -308,7 +308,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), INL_JOIN(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -325,7 +325,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_1PHASE_AGG(), hash_agg() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -340,7 +340,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_2PHASE_AGG(), stream_agg() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -371,7 +371,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_1PHASE_AGG(), ignore_index(t, idx_a) */ a, sum(b) from t where a > 1 group by a, c", "Plan": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] test.t.a, Column#5", " └─Projection 2666.67 mpp[tiflash] Column#5, test.t.a", @@ -402,7 +402,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t]), MPP_2PHASE_AGG(), index_merge(t, idx_b, idx_a) */ a, sum(b) from t where b < 2 or a > 2 group by a, c", "Plan": [ - "TableReader 4439.11 root MppVersion: 2, data:ExchangeSender", + "TableReader 4439.11 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 4439.11 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 4439.11 mpp[tiflash] test.t.a, Column#5", " └─Projection 4439.11 mpp[tiflash] Column#5, test.t.a", @@ -421,7 +421,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2, t3]), shuffle_join(t1, t2, t3), straight_join() */ * from t t1, t t2, t t3 where t1.a=t2.a and t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -445,7 +445,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2, t3]), shuffle_join(t1, t2, t3), leading(t3, t1) */ * from t t1, t t2, t t3 where t1.a=t2.a and t2.b=t3.b", "Plan": [ - "TableReader 124625374.88 root MppVersion: 2, data:ExchangeSender", + "TableReader 124625374.88 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 124625374.88 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 124625374.88 mpp[tiflash] test.t.a, test.t.b, test.t.c, test.t.a, test.t.b, test.t.c, test.t.a, test.t.b, test.t.c", " └─HashJoin 124625374.88 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a) eq(test.t.b, test.t.b)]", @@ -468,7 +468,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2, t3]), broadcast_join(t1, t2, t3), straight_join() */ * from t t2, t t1, t t3 where t1.a=t2.a and t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -488,7 +488,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2, t3]), broadcast_join(t1, t2, t3), leading(t2, t3) */ * from t t1, t t2, t t3 where t1.a=t2.a and t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t.a, test.t.b, test.t.c, test.t.a, test.t.b, test.t.c, test.t.a, test.t.b, test.t.c", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", @@ -509,7 +509,7 @@ { "SQL": "select /*+ qb_name(qb, v), MPP_1PHASE_AGG(@qb) */ * from v", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -524,7 +524,7 @@ { "SQL": "select /*+ qb_name(qb, v), MPP_2PHASE_AGG(@qb) */ * from v", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -540,7 +540,7 @@ { "SQL": "select /*+ qb_name(qb, v1), shuffle_join(t1@qb, t2@qb) */ * from v1", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] test.t.a", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", @@ -558,7 +558,7 @@ { "SQL": "select /*+ qb_name(qb, v1), broadcast_join(t1@qb, t2@qb) */ * from v1", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] test.t.a", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", @@ -574,7 +574,7 @@ { "SQL": "SELECT /*+ shuffle_join(t) */ * FROM t WHERE EXISTS (SELECT /*+ SEMI_JOIN_REWRITE() */ 1 FROM t t1 WHERE t1.b = t.b);", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 9990.00 mpp[tiflash] test.t.a, test.t.b, test.t.c", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)]", @@ -595,7 +595,7 @@ { "SQL": "SELECT /*+ broadcast_join(t) */ * FROM t WHERE EXISTS (SELECT /*+ SEMI_JOIN_REWRITE() */ 1 FROM t t1 WHERE t1.b = t.b);", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 9990.00 mpp[tiflash] test.t.a, test.t.b, test.t.c", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)]", @@ -616,7 +616,7 @@ { "SQL": "select * from t t1 where t1.a < (select /*+ MPP_1PHASE_AGG() */ sum(t2.a) from t t2 where t2.b = t1.b);", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 9990.00 mpp[tiflash] test.t.a, test.t.b, test.t.c", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)], other cond:lt(cast(test.t.a, decimal(10,0) BINARY), Column#9)", @@ -637,7 +637,7 @@ { "SQL": "select * from t t1 where t1.a < (select /*+ MPP_2PHASE_AGG() */ sum(t2.a) from t t2 where t2.b = t1.b);", "Plan": [ - "TableReader 9990.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 9990.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 9990.00 mpp[tiflash] test.t.a, test.t.b, test.t.c", " └─HashJoin 9990.00 mpp[tiflash] inner join, equal:[eq(test.t.b, test.t.b)], other cond:lt(cast(test.t.a, decimal(10,0) BINARY), Column#9)", @@ -666,7 +666,7 @@ " └─Selection 1701.55 root gt(test.t.b, 1)", " └─CTEFullScan 2126.93 root CTE:cte data:CTE_0", "CTE_0 2126.93 root Non-Recursive CTE", - "└─TableReader(Seed Part) 2126.93 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 2126.93 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2126.93 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 2126.93 mpp[tiflash] or(lt(Column#5, 18), gt(test.t.b, 1))", " └─Projection 2658.67 mpp[tiflash] Column#5, test.t.b", @@ -688,7 +688,7 @@ " └─Selection 1701.55 root gt(test.t.b, 1)", " └─CTEFullScan 2126.93 root CTE:cte data:CTE_0", "CTE_0 2126.93 root Non-Recursive CTE", - "└─TableReader(Seed Part) 2126.93 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 2126.93 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2126.93 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 2126.93 mpp[tiflash] or(lt(Column#5, 18), gt(test.t.b, 1))", " └─Projection 2658.67 mpp[tiflash] Column#5, test.t.b", @@ -711,7 +711,7 @@ " └─Selection 5543.34 root gt(test.t.b, 1)", " └─CTEFullScan 6929.18 root CTE:cte data:CTE_0", "CTE_0 6929.18 root Non-Recursive CTE", - "└─TableReader(Seed Part) 6929.18 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 6929.18 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6929.18 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6929.18 mpp[tiflash] test.t.a, test.t.b", " └─HashJoin 6929.18 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)], other cond:or(lt(test.t.a, 18), gt(test.t.b, 1))", @@ -736,7 +736,7 @@ " └─Selection 5543.34 root gt(test.t.b, 1)", " └─CTEFullScan 6929.18 root CTE:cte data:CTE_0", "CTE_0 6929.18 root Non-Recursive CTE", - "└─TableReader(Seed Part) 6929.18 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Seed Part) 6929.18 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 6929.18 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 6929.18 mpp[tiflash] test.t.a, test.t.b", " └─HashJoin 6929.18 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)], other cond:or(lt(test.t.a, 18), gt(test.t.b, 1))", @@ -752,7 +752,7 @@ { "SQL": "WITH CTE AS (SELECT /*+ MERGE(), MPP_1PHASE_AGG() */ count(*) as a, b FROM t WHERE t.a < 60 group by b) SELECT * FROM CTE WHERE CTE.a <18 union select * from cte where cte.b > 1;", "Plan": [ - "TableReader 3013.16 root MppVersion: 2, data:ExchangeSender", + "TableReader 3013.16 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3013.16 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3013.16 mpp[tiflash] Column#20, Column#21", " └─HashAgg 3013.16 mpp[tiflash] group by:Column#20, Column#21, funcs:firstrow(Column#20)->Column#20, funcs:firstrow(Column#21)->Column#21", @@ -778,7 +778,7 @@ { "SQL": "WITH CTE AS (SELECT /*+ MERGE(), MPP_2PHASE_AGG() */ count(*) as a, b FROM t WHERE t.a < 60 group by b) SELECT * FROM CTE WHERE CTE.a <18 union select * from cte where cte.b > 1;", "Plan": [ - "TableReader 3013.16 root MppVersion: 2, data:ExchangeSender", + "TableReader 3013.16 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3013.16 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3013.16 mpp[tiflash] Column#20, Column#21", " └─HashAgg 3013.16 mpp[tiflash] group by:Column#20, Column#21, funcs:firstrow(Column#20)->Column#20, funcs:firstrow(Column#21)->Column#21", @@ -806,7 +806,7 @@ { "SQL": "WITH CTE AS (SELECT /*+ MERGE(), shuffle_join(t1, t) */ t.a, t.b FROM t join t t1 where t.a = t1.a) SELECT * FROM CTE WHERE CTE.a <18 union select * from cte where cte.b > 1;", "Plan": [ - "TableReader 5322.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 5322.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 5322.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 5322.67 mpp[tiflash] Column#29, Column#30", " └─HashAgg 5322.67 mpp[tiflash] group by:Column#29, Column#30, funcs:firstrow(Column#29)->Column#29, funcs:firstrow(Column#30)->Column#30", @@ -840,7 +840,7 @@ { "SQL": "WITH CTE AS (SELECT /*+ MERGE(), broadcast_join(t1, t) */ t.a, t.b FROM t join t t1 where t.a = t1.a) SELECT * FROM CTE WHERE CTE.a <18 union select * from cte where cte.b > 1;", "Plan": [ - "TableReader 5322.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 5322.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 5322.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 5322.67 mpp[tiflash] Column#29, Column#30", " └─HashAgg 5322.67 mpp[tiflash] group by:Column#29, Column#30, funcs:firstrow(Column#29)->Column#29, funcs:firstrow(Column#30)->Column#30", @@ -870,7 +870,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_build(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -884,7 +884,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_build(t2), hash_join_probe(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -900,7 +900,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_build(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -914,7 +914,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_probe(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:TableFullScan, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -931,7 +931,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), broadcast_join(t1, t2), hash_join_probe(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -953,7 +953,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_build(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -969,7 +969,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_build(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -985,7 +985,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_probe(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1001,7 +1001,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_probe(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1022,7 +1022,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_build(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1038,7 +1038,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_build(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1054,7 +1054,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_probe(t2) */ * from t t1 left join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1070,7 +1070,7 @@ { "SQL": "select /*+ read_from_storage(tiflash[t1, t2]), shuffle_join(t1, t2), hash_join_probe(t1) */ * from t t1 right join t t2 on t1.a=t2.a", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1086,7 +1086,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2@sel_2), hash_join_build(t2@sel_2) */ a from t t1 where t1.a>1 or t1.a in (select a from t t2);", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#9)", @@ -1103,7 +1103,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2@sel_2), hash_join_build(t1) */ a from t t1 where t1.a>1 or t1.a not in (select a from t t2);", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#9)", @@ -1122,7 +1122,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2@sel_2), hash_join_probe(t2@sel_2) */ a from t t1 where t1.a>1 or t1.a in (select a from t t2);", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#9)", @@ -1141,7 +1141,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2@sel_2), hash_join_probe(t1) */ a from t t1 where t1.a>1 or t1.a not in (select a from t t2);", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a", " └─Selection 8000.00 mpp[tiflash] or(gt(test.t.a, 1), Column#9)", @@ -1168,7 +1168,7 @@ { "SQL": "explain select /*+ MPP_1PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader_31 8000.00 root MppVersion: 2, data:ExchangeSender_30", + "TableReader_31 8000.00 root MppVersion: 3, data:ExchangeSender_30", "└─ExchangeSender_30 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_5 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection_29 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -1183,7 +1183,7 @@ { "SQL": "explain select /*+ MPP_2PHASE_AGG() */ a, sum(b) from t group by a, c", "Plan": [ - "TableReader_35 8000.00 root MppVersion: 2, data:ExchangeSender_34", + "TableReader_35 8000.00 root MppVersion: 3, data:ExchangeSender_34", "└─ExchangeSender_34 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_5 8000.00 mpp[tiflash] test.t.a, Column#5", " └─Projection_30 8000.00 mpp[tiflash] Column#5, test.t.a", @@ -1199,7 +1199,7 @@ { "SQL": "explain select /*+ shuffle_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_22 12487.50 root MppVersion: 2, data:ExchangeSender_21", + "TableReader_22 12487.50 root MppVersion: 3, data:ExchangeSender_21", "└─ExchangeSender_21 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_20 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_13(Build) 9990.00 mpp[tiflash] ", @@ -1216,7 +1216,7 @@ { "SQL": "explain select /*+ broadcast_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_20 12487.50 root MppVersion: 2, data:ExchangeSender_19", + "TableReader_20 12487.50 root MppVersion: 3, data:ExchangeSender_19", "└─ExchangeSender_19 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_18 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_13(Build) 9990.00 mpp[tiflash] ", @@ -1236,7 +1236,7 @@ { "SQL": "explain select /*+ hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_69 12487.50 root MppVersion: 2, data:ExchangeSender_68", + "TableReader_69 12487.50 root MppVersion: 3, data:ExchangeSender_68", "└─ExchangeSender_68 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_61 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_65(Build) 9990.00 mpp[tiflash] ", @@ -1253,12 +1253,12 @@ "Plan": [ "MergeJoin_11 12487.50 root inner join, left key:test.t.a, right key:test.t.a", "├─Sort_49(Build) 9990.00 root test.t.a", - "│ └─TableReader_45 9990.00 root MppVersion: 2, data:ExchangeSender_44", + "│ └─TableReader_45 9990.00 root MppVersion: 3, data:ExchangeSender_44", "│ └─ExchangeSender_44 9990.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_43 9990.00 mpp[tiflash] not(isnull(test.t.a))", "│ └─TableFullScan_42 10000.00 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false, stats:pseudo", "└─Sort_34(Probe) 9990.00 root test.t.a", - " └─TableReader_30 9990.00 root MppVersion: 2, data:ExchangeSender_29", + " └─TableReader_30 9990.00 root MppVersion: 3, data:ExchangeSender_29", " └─ExchangeSender_29 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_28 9990.00 mpp[tiflash] not(isnull(test.t.a))", " └─TableFullScan_27 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -1276,7 +1276,7 @@ { "SQL": "explain select /*+ hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_69 12487.50 root MppVersion: 2, data:ExchangeSender_68", + "TableReader_69 12487.50 root MppVersion: 3, data:ExchangeSender_68", "└─ExchangeSender_68 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_61 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_65(Build) 9990.00 mpp[tiflash] ", @@ -1293,12 +1293,12 @@ "Plan": [ "MergeJoin_11 12487.50 root inner join, left key:test.t.a, right key:test.t.a", "├─Sort_49(Build) 9990.00 root test.t.a", - "│ └─TableReader_45 9990.00 root MppVersion: 2, data:ExchangeSender_44", + "│ └─TableReader_45 9990.00 root MppVersion: 3, data:ExchangeSender_44", "│ └─ExchangeSender_44 9990.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_43 9990.00 mpp[tiflash] not(isnull(test.t.a))", "│ └─TableFullScan_42 10000.00 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false, stats:pseudo", "└─Sort_34(Probe) 9990.00 root test.t.a", - " └─TableReader_30 9990.00 root MppVersion: 2, data:ExchangeSender_29", + " └─TableReader_30 9990.00 root MppVersion: 3, data:ExchangeSender_29", " └─ExchangeSender_29 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_28 9990.00 mpp[tiflash] not(isnull(test.t.a))", " └─TableFullScan_27 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -1308,7 +1308,7 @@ { "SQL": "explain select /*+ read_from_storage(tiflash[t1, t2]) hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_29 12487.50 root MppVersion: 2, data:ExchangeSender_28", + "TableReader_29 12487.50 root MppVersion: 3, data:ExchangeSender_28", "└─ExchangeSender_28 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_21 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_25(Build) 9990.00 mpp[tiflash] ", @@ -1325,12 +1325,12 @@ "Plan": [ "MergeJoin_11 12487.50 root inner join, left key:test.t.a, right key:test.t.a", "├─Sort_21(Build) 9990.00 root test.t.a", - "│ └─TableReader_20 9990.00 root MppVersion: 2, data:ExchangeSender_19", + "│ └─TableReader_20 9990.00 root MppVersion: 3, data:ExchangeSender_19", "│ └─ExchangeSender_19 9990.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_18 9990.00 mpp[tiflash] not(isnull(test.t.a))", "│ └─TableFullScan_17 10000.00 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false, stats:pseudo", "└─Sort_16(Probe) 9990.00 root test.t.a", - " └─TableReader_15 9990.00 root MppVersion: 2, data:ExchangeSender_14", + " └─TableReader_15 9990.00 root MppVersion: 3, data:ExchangeSender_14", " └─ExchangeSender_14 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_13 9990.00 mpp[tiflash] not(isnull(test.t.a))", " └─TableFullScan_12 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -1416,7 +1416,7 @@ { "SQL": "explain select * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_79 12487.50 root MppVersion: 2, data:ExchangeSender_78", + "TableReader_79 12487.50 root MppVersion: 3, data:ExchangeSender_78", "└─ExchangeSender_78 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_77 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_44(Build) 9990.00 mpp[tiflash] ", @@ -1436,7 +1436,7 @@ { "SQL": "explain select * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_81 12487.50 root MppVersion: 2, data:ExchangeSender_80", + "TableReader_81 12487.50 root MppVersion: 3, data:ExchangeSender_80", "└─ExchangeSender_80 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_79 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_44(Build) 9990.00 mpp[tiflash] ", @@ -1458,7 +1458,7 @@ { "SQL": "explain select * from t1, t2 where t1.a=t2.b", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_34 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.b)]", " ├─ExchangeReceiver_15(Build) 1.00 mpp[tiflash] ", @@ -1478,7 +1478,7 @@ { "SQL": "explain select * from t1, t2 where t1.a=t2.b", "Plan": [ - "TableReader_38 1.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 1.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_36 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.b)]", " ├─ExchangeReceiver_15(Build) 1.00 mpp[tiflash] ", @@ -1500,7 +1500,7 @@ { "SQL": "explain select * from t1, t2 where t1.a=t2.b", "Plan": [ - "TableReader_36 1.00 root MppVersion: 2, data:ExchangeSender_35", + "TableReader_36 1.00 root MppVersion: 3, data:ExchangeSender_35", "└─ExchangeSender_35 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_34 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.b)]", " ├─ExchangeReceiver_15(Build) 1.00 mpp[tiflash] ", @@ -1530,7 +1530,7 @@ { "SQL": "explain select * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_81 12487.50 root MppVersion: 2, data:ExchangeSender_80", + "TableReader_81 12487.50 root MppVersion: 3, data:ExchangeSender_80", "└─ExchangeSender_80 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_79 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_44(Build) 9990.00 mpp[tiflash] ", @@ -1552,7 +1552,7 @@ { "SQL": "explain select * from t t1, t t2 where t1.a=t2.a", "Plan": [ - "TableReader_79 12487.50 root MppVersion: 2, data:ExchangeSender_78", + "TableReader_79 12487.50 root MppVersion: 3, data:ExchangeSender_78", "└─ExchangeSender_78 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_77 12487.50 mpp[tiflash] inner join, equal:[eq(test.t.a, test.t.a)]", " ├─ExchangeReceiver_44(Build) 9990.00 mpp[tiflash] ", @@ -1577,7 +1577,7 @@ { "SQL": "explain select * from t1 where exists (select * from t2 where t1.a=t2.b)", "Plan": [ - "TableReader_37 0.80 root MppVersion: 2, data:ExchangeSender_36", + "TableReader_37 0.80 root MppVersion: 3, data:ExchangeSender_36", "└─ExchangeSender_36 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_35 0.80 mpp[tiflash] semi join, left side:Selection_14, equal:[eq(test.t1.a, test.t2.b)]", " ├─ExchangeReceiver_18(Build) 8.00 mpp[tiflash] ", @@ -1607,7 +1607,7 @@ { "SQL": "explain select * from t1 where exists (select * from t2 where t1.a=t2.b)", "Plan": [ - "TableReader_39 0.80 root MppVersion: 2, data:ExchangeSender_38", + "TableReader_39 0.80 root MppVersion: 3, data:ExchangeSender_38", "└─ExchangeSender_38 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_37 0.80 mpp[tiflash] semi join, left side:ExchangeReceiver_16, equal:[eq(test.t1.a, test.t2.b)]", " ├─ExchangeReceiver_16(Build) 1.00 mpp[tiflash] ", @@ -1634,7 +1634,7 @@ { "SQL": "explain select * from t1 right join t2 on t1.a=t2.b and t1.c < t2.d", "Plan": [ - "TableReader_32 3.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 3.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 3.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_30 3.00 mpp[tiflash] right outer join, left side:ExchangeReceiver_14, equal:[eq(test.t1.a, test.t2.b)], other cond:lt(test.t1.c, test.t2.d)", " ├─ExchangeReceiver_14(Build) 5.00 mpp[tiflash] ", @@ -1663,7 +1663,7 @@ { "SQL": "explain select * from t1 right join t2 on t1.a=t2.b and t1.c < t2.d", "Plan": [ - "TableReader_34 3.00 root MppVersion: 2, data:ExchangeSender_33", + "TableReader_34 3.00 root MppVersion: 3, data:ExchangeSender_33", "└─ExchangeSender_33 3.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_32 3.00 mpp[tiflash] right outer join, left side:ExchangeReceiver_14, equal:[eq(test.t1.a, test.t2.b)], other cond:lt(test.t1.c, test.t2.d)", " ├─ExchangeReceiver_17(Build) 3.00 mpp[tiflash] ", @@ -2725,7 +2725,7 @@ { "SQL": "select * from employee where deptid>1", "Plan": [ - "TableReader 3333.33 root MppVersion: 2, data:ExchangeSender", + "TableReader 3333.33 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3333.33 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 3333.33 mpp[tiflash] gt(test.employee.deptid, 1)", " └─TableFullScan 10000.00 mpp[tiflash] table:employee pushed down filter:empty, keep order:false, stats:pseudo" @@ -2734,7 +2734,7 @@ { "SQL": "select deptid+5, empid*10 from employee where deptid>1", "Plan": [ - "TableReader 3333.33 root MppVersion: 2, data:ExchangeSender", + "TableReader 3333.33 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3333.33 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3333.33 mpp[tiflash] plus(test.employee.deptid, 5)->Column#5, mul(test.employee.empid, 10)->Column#6", " └─Selection 3333.33 mpp[tiflash] gt(test.employee.deptid, 1)", @@ -2744,7 +2744,7 @@ { "SQL": "select count(*) from employee group by deptid+1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#12, funcs:sum(Column#13)->Column#5", @@ -2758,7 +2758,7 @@ { "SQL": "select count(distinct deptid) a from employee", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#7)->Column#5", @@ -2774,7 +2774,7 @@ { "SQL": "select * from employee join employee e1 using(deptid)", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] test.employee.deptid, test.employee.empid, test.employee.salary, test.employee.empid, test.employee.salary", " └─Projection 12487.50 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, test.employee.empid, test.employee.salary", @@ -2790,7 +2790,7 @@ { "SQL": "select count(distinct a) from (select count(distinct deptid) a from employee) x", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#6", " └─HashAgg 1.00 mpp[tiflash] funcs:count(distinct Column#5)->Column#6", @@ -2808,7 +2808,7 @@ { "SQL": "select count(a) from (select count(distinct deptid) a, count(distinct empid) b from employee) x group by b+1", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#7", " └─HashAgg 1.00 mpp[tiflash] group by:Column#12, funcs:sum(Column#13)->Column#7", @@ -2827,7 +2827,7 @@ { "SQL": "select count(a) from (select count(distinct deptid) a, count(distinct empid) b from employee) x group by b", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#7", " └─HashAgg 1.00 mpp[tiflash] group by:Column#6, funcs:count(Column#5)->Column#7", @@ -2842,7 +2842,7 @@ { "SQL": "select * from employee join (select count(distinct deptid) a, count(distinct empid) b from employee) e1", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 10000.00 mpp[tiflash] CARTESIAN inner join", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -2859,7 +2859,7 @@ { "SQL": "select * from employee e1 join (select count(distinct deptid) a from employee) e2 on e1.deptid = e2.a", "Plan": [ - "TableReader 1.25 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.25 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.25 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 1.25 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, Column#9)]", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -2880,7 +2880,7 @@ { "SQL": "select * from (select count(distinct deptid) a from employee) e1 join employee e2 on e1.a = e2.deptid", "Plan": [ - "TableReader 1.25 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.25 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.25 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.25 mpp[tiflash] Column#5, test.employee.empid, test.employee.deptid, test.employee.salary", " └─HashJoin 1.25 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, Column#5)]", @@ -2902,7 +2902,7 @@ { "SQL": "select * from (select count(distinct deptid) a from employee) e1 join (select count(distinct deptid) b from employee) e2 on e1.a=e2.b", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 1.00 mpp[tiflash] inner join, equal:[eq(Column#5, Column#10)]", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -2930,7 +2930,7 @@ { "SQL": "select * from employee e1 join employee e2 on e1.deptid = e2.deptid", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, test.employee.deptid)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -2944,7 +2944,7 @@ { "SQL": "select * from (select deptid+1 d, count(empid) a from employee group by d) e1 join employee e2 on e1.d = e2.deptid", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#6, Column#5, test.employee.empid, test.employee.deptid, test.employee.salary", " └─HashJoin 8000.00 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, Column#6)]", @@ -2966,7 +2966,7 @@ { "SQL": "select * from employee e1 join (select deptid+1 d, count(empid) a from employee group by d) e2 on e1.deptid = e2.d", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 8000.00 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, Column#10)]", " ├─ExchangeReceiver(Build) 6400.00 mpp[tiflash] ", @@ -2987,7 +2987,7 @@ { "SQL": "select * from (select deptid+1 d, count(empid) a from employee group by d) e1 join (select deptid+1 d, count(empid) a from employee group by d) e2 on e1.d = e2.d", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 6400.00 mpp[tiflash] inner join, equal:[eq(Column#6, Column#12)]", " ├─ExchangeReceiver(Build) 6400.00 mpp[tiflash] ", @@ -3025,7 +3025,7 @@ "Plan": [ "Projection 1.25 root Column#5, test.employee.empid, test.employee.deptid, test.employee.salary", "└─HashJoin 1.25 root inner join, equal:[eq(test.employee.deptid, Column#5)]", - " ├─TableReader(Build) 1.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 1.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─Projection 1.00 mpp[tiflash] Column#5", " │ └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#12)->Column#5", @@ -3036,7 +3036,7 @@ " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: HashPartition, Compression: FAST, Hash Cols: [name: test.employee.deptid, collate: binary]", " │ └─HashAgg 1.00 mpp[tiflash] group by:test.employee.deptid, ", " │ └─TableFullScan 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo", - " └─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.employee.deptid))", " └─TableFullScan 10000.00 mpp[tiflash] table:e2 pushed down filter:empty, keep order:false, stats:pseudo" @@ -3046,7 +3046,7 @@ "SQL": "select * from (select count(distinct deptid) a from employee) e1 join (select count(distinct deptid) b from employee) e2 on e1.a=e2.b", "Plan": [ "HashJoin 1.00 root inner join, equal:[eq(Column#5, Column#10)]", - "├─TableReader(Build) 1.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 1.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Projection 1.00 mpp[tiflash] Column#10", "│ └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#16)->Column#10", @@ -3057,7 +3057,7 @@ "│ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: HashPartition, Compression: FAST, Hash Cols: [name: test.employee.deptid, collate: binary]", "│ └─HashAgg 1.00 mpp[tiflash] group by:test.employee.deptid, ", "│ └─TableFullScan 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo", - "└─TableReader(Probe) 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#15)->Column#5", @@ -3073,7 +3073,7 @@ { "SQL": "select * from employee e1 join employee e2 on e1.deptid = e2.deptid", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.employee.deptid, test.employee.deptid)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -3089,7 +3089,7 @@ { "SQL": "select * from (select deptid+1 d, count(empid) a from employee group by d) e1 join employee e2 on e1.d = e2.deptid", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#6, Column#5, test.employee.empid, test.employee.deptid, test.employee.salary", " └─Projection 8000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#6, Column#5, Column#26", @@ -3115,7 +3115,7 @@ { "SQL": "select * from employee e1 join (select deptid+1 d, count(empid) a from employee group by d) e2 on e1.deptid = e2.d", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#10, Column#9", " └─Projection 8000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#10, Column#9, Column#26", @@ -3141,7 +3141,7 @@ { "SQL": "select * from (select deptid+1 d, count(empid) a from employee group by d) e1 join (select deptid+1 d, count(empid) a from employee group by d) e2 on e1.d = e2.d", "Plan": [ - "TableReader 6400.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 6400.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 6400.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 6400.00 mpp[tiflash] inner join, equal:[eq(Column#6, Column#12)]", " ├─ExchangeReceiver(Build) 6400.00 mpp[tiflash] ", @@ -3328,7 +3328,7 @@ { "SQL": "select /*+ hash_join_build(t2) */ t1.a, t2.a from t1 join t2 on t1.a=t2.a and t1.b=t2.b", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t1.a, test.t2.a", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a) eq(test.t1.b, test.t2.b)]", @@ -3342,7 +3342,7 @@ { "SQL": "select /*+ hash_join_probe(t2) */ t1.a, t2.a from t1 join t2 on t1.a=t2.a and t1.b=t2.b", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t1.a, test.t2.a", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a) eq(test.t1.b, test.t2.b)]", @@ -3356,7 +3356,7 @@ { "SQL": "select /*+ hash_join_build(t1) */ t1.a, t2.a from t1 join t2 on t1.a=t2.a and t1.b=t2.b", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t1.a, test.t2.a", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a) eq(test.t1.b, test.t2.b)]", @@ -3370,7 +3370,7 @@ { "SQL": "select /*+ hash_join_probe(t1) */ t1.a, t2.a from t1 join t2 on t1.a=t2.a and t1.b=t2.b", "Plan": [ - "TableReader 12500.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 12500.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12500.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12500.00 mpp[tiflash] test.t1.a, test.t2.a", " └─HashJoin 12500.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a) eq(test.t1.b, test.t2.b)]", @@ -3390,7 +3390,7 @@ "SQL": "select count(*) from t", "Plan": [ "HashAgg 1.00 root funcs:count(Column#12)->Column#10", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t.d)->Column#12", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -3401,7 +3401,7 @@ "SQL": "select count(1), count(3.1415), count(0), count(null) from t -- every count but count(null) can be rewritten", "Plan": [ "HashAgg 1.00 root funcs:count(Column#18)->Column#10, funcs:count(Column#19)->Column#11, funcs:count(Column#20)->Column#12, funcs:count(Column#21)->Column#13", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t.d)->Column#18, funcs:count(test.t.d)->Column#19, funcs:count(test.t.d)->Column#20, funcs:count(NULL)->Column#21", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -3412,7 +3412,7 @@ "SQL": "select count(*) from t where a=1", "Plan": [ "StreamAgg 1.00 root funcs:count(1)->Column#10", - "└─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 10.00 mpp[tiflash] eq(test.t.a, 1)", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -3423,7 +3423,7 @@ "SQL": "select count(*) from t_pick_row_id", "Plan": [ "HashAgg 1.00 root funcs:count(Column#5)->Column#3", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t_pick_row_id._tidb_rowid)->Column#5", " └─TableFullScan 10000.00 mpp[tiflash] table:t_pick_row_id keep order:false, stats:pseudo" @@ -3435,11 +3435,11 @@ "Plan": [ "HashJoin 1.25 root inner join, equal:[eq(test.t.a, Column#10)]", "├─HashAgg(Build) 1.00 root funcs:count(Column#22)->Column#10", - "│ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "│ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t.d)->Column#22", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", - "└─TableReader(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ], @@ -3450,11 +3450,11 @@ "Plan": [ "Projection 10000.00 root test.t.a, test.t.b, test.t.c, test.t.d, test.t.e, test.t.f, test.t.g, test.t.h", "└─Apply 10000.00 root CARTESIAN inner join, other cond:gt(test.t.a, Column#19)", - " ├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─TableFullScan 10000.00 mpp[tiflash] table:outTable keep order:false, stats:pseudo", " └─HashAgg(Probe) 10000.00 root funcs:count(Column#21)->Column#19", - " └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 10000.00 mpp[tiflash] funcs:count(1)->Column#21", " └─Selection 80000000.00 mpp[tiflash] eq(cast(test.t.a, double BINARY), cast(test.t.b, double BINARY))", @@ -3466,7 +3466,7 @@ "SQL": "select count(*) from t t1, t t2 where t1.a=t2.e -- shouldn't be rewritten when join under agg", "Plan": [ "HashAgg 1.00 root funcs:count(Column#20)->Column#19", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#20", " └─Projection 12500.00 mpp[tiflash] test.t.a", @@ -3481,7 +3481,7 @@ { "SQL": "select count(distinct 1) from t -- shouldn't be rewritten", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#10", " └─HashAgg 1.00 mpp[tiflash] funcs:count(distinct Column#12)->Column#10", @@ -3496,7 +3496,7 @@ "SQL": "select count(1), count(a), count(b) from t -- keep count(1)", "Plan": [ "HashAgg 1.00 root funcs:count(Column#16)->Column#10, funcs:count(Column#17)->Column#11, funcs:count(Column#18)->Column#12", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#16, funcs:count(test.t.a)->Column#17, funcs:count(test.t.b)->Column#18", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -3506,7 +3506,7 @@ { "SQL": "select a, count(*) from t group by a -- shouldn't be rewritten", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] test.t.a, Column#10", " └─Projection 8000.00 mpp[tiflash] Column#10, test.t.a", @@ -3521,7 +3521,7 @@ "SQL": "select sum(a) from t -- sum shouldn't be rewritten", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#12)->Column#10", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#15)->Column#12", " └─Projection 10000.00 mpp[tiflash] cast(test.t.a, decimal(10,0) BINARY)->Column#15", @@ -3542,7 +3542,7 @@ " └─HashAgg 1.00 root funcs:avg(distinct Column#89)->Column#11, funcs:min(Column#90)->Column#12, funcs:sum(distinct Column#91)->Column#13, funcs:max(Column#92)->Column#14", " └─Projection 7100.44 root cast(test.tbl_15.col_96, decimal(10,0) UNSIGNED BINARY)->Column#89, Column#15->Column#90, cast(test.tbl_15.col_91, decimal(3,0) UNSIGNED BINARY)->Column#91, Column#16->Column#92", " └─PartitionUnion 7100.44 root ", - " ├─TableReader 1775.11 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader 1775.11 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1775.11 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:min(Column#18)->Column#15, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91, funcs:max(Column#20)->Column#16, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91", " │ └─ExchangeReceiver 1775.11 mpp[tiflash] ", @@ -3550,7 +3550,7 @@ " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:min(test.tbl_15.col_92)->Column#18, funcs:max(test.tbl_15.col_92)->Column#20", " │ └─Selection 2218.89 mpp[tiflash] gt(test.tbl_15.col_93, 7623.679908049186), ne(test.tbl_15.col_94, 2033-01-09 00:00:00.000000)", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p0 pushed down filter:empty, keep order:false, stats:pseudo", - " ├─TableReader 1775.11 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader 1775.11 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1775.11 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:min(Column#30)->Column#15, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91, funcs:max(Column#32)->Column#16, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91", " │ └─ExchangeReceiver 1775.11 mpp[tiflash] ", @@ -3558,7 +3558,7 @@ " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:min(test.tbl_15.col_92)->Column#30, funcs:max(test.tbl_15.col_92)->Column#32", " │ └─Selection 2218.89 mpp[tiflash] gt(test.tbl_15.col_93, 7623.679908049186), ne(test.tbl_15.col_94, 2033-01-09 00:00:00.000000)", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p1 pushed down filter:empty, keep order:false, stats:pseudo", - " ├─TableReader 1775.11 root MppVersion: 2, data:ExchangeSender", + " ├─TableReader 1775.11 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1775.11 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:min(Column#42)->Column#15, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91, funcs:max(Column#44)->Column#16, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91", " │ └─ExchangeReceiver 1775.11 mpp[tiflash] ", @@ -3566,7 +3566,7 @@ " │ └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:min(test.tbl_15.col_92)->Column#42, funcs:max(test.tbl_15.col_92)->Column#44", " │ └─Selection 2218.89 mpp[tiflash] gt(test.tbl_15.col_93, 7623.679908049186), ne(test.tbl_15.col_94, 2033-01-09 00:00:00.000000)", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p2 pushed down filter:empty, keep order:false, stats:pseudo", - " └─TableReader 1775.11 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 1775.11 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1775.11 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1775.11 mpp[tiflash] group by:test.tbl_15.col_91, test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:min(Column#54)->Column#15, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91, funcs:max(Column#56)->Column#16, funcs:firstrow(test.tbl_15.col_96)->test.tbl_15.col_96, funcs:firstrow(test.tbl_15.col_91)->test.tbl_15.col_91", " └─ExchangeReceiver 1775.11 mpp[tiflash] ", @@ -3583,22 +3583,22 @@ "HashAgg 1.00 root funcs:count(Column#12)->Column#11", "└─PartitionUnion 4.00 root ", " ├─HashAgg 1.00 root funcs:count(Column#13)->Column#12", - " │ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.tbl_15.col_91)->Column#13", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p0 keep order:false, stats:pseudo", " ├─HashAgg 1.00 root funcs:count(Column#14)->Column#12", - " │ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.tbl_15.col_91)->Column#14", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p1 keep order:false, stats:pseudo", " ├─HashAgg 1.00 root funcs:count(Column#15)->Column#12", - " │ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1.00 mpp[tiflash] funcs:count(test.tbl_15.col_91)->Column#15", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p2 keep order:false, stats:pseudo", " └─HashAgg 1.00 root funcs:count(Column#16)->Column#12", - " └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.tbl_15.col_91)->Column#16", " └─TableFullScan 10000.00 mpp[tiflash] table:tbl_15, partition:p3 keep order:false, stats:pseudo" @@ -3614,14 +3614,14 @@ " ├─StreamAgg 31.98 root group by:Column#19, funcs:count(Column#19)->Column#11, funcs:sum(Column#20)->Column#12, funcs:firstrow(Column#21)->test.tbl_16.col_100", " │ └─Projection 39.97 root test.tbl_16.col_100->Column#19, cast(test.tbl_16.col_100, decimal(8,0) UNSIGNED BINARY)->Column#20, test.tbl_16.col_100->Column#21", " │ └─Sort 39.97 root test.tbl_16.col_100", - " │ └─TableReader 39.97 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 39.97 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 39.97 mpp[tiflash] ExchangeType: PassThrough", " │ └─Selection 39.97 mpp[tiflash] or(eq(test.tbl_16.col_100, 10672141), in(test.tbl_16.col_104, \"yfEG1t!*b\", \"C1*bqx_qyO\", \"vQ^yUpKHr&j#~\"))", " │ └─TableFullScan 10000.00 mpp[tiflash] table:tbl_16, partition:p0 pushed down filter:empty, keep order:false, stats:pseudo", " └─StreamAgg 31.98 root group by:Column#22, funcs:count(Column#22)->Column#11, funcs:sum(Column#23)->Column#12, funcs:firstrow(Column#24)->test.tbl_16.col_100", " └─Projection 39.97 root test.tbl_16.col_100->Column#22, cast(test.tbl_16.col_100, decimal(8,0) UNSIGNED BINARY)->Column#23, test.tbl_16.col_100->Column#24", " └─Sort 39.97 root test.tbl_16.col_100", - " └─TableReader 39.97 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 39.97 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 39.97 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 39.97 mpp[tiflash] or(eq(test.tbl_16.col_100, 10672141), in(test.tbl_16.col_104, \"yfEG1t!*b\", \"C1*bqx_qyO\", \"vQ^yUpKHr&j#~\"))", " └─TableFullScan 10000.00 mpp[tiflash] table:tbl_16, partition:p1 pushed down filter:empty, keep order:false, stats:pseudo" diff --git a/pkg/planner/core/casetest/pushdown/testdata/integration_suite_out.json b/pkg/planner/core/casetest/pushdown/testdata/integration_suite_out.json index 822a8948b9c41..46f4e822864df 100644 --- a/pkg/planner/core/casetest/pushdown/testdata/integration_suite_out.json +++ b/pkg/planner/core/casetest/pushdown/testdata/integration_suite_out.json @@ -55,7 +55,7 @@ { "SQL": "desc format = 'brief' select i * 2 from t", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] mul(test.t.i, 2)->Column#13", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -64,7 +64,7 @@ { "SQL": "desc format = 'brief' select DATE_FORMAT(t, '%Y-%m-%d %H') as date from t", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] date_format(test.t.t, %Y-%m-%d %H)->Column#13", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -74,7 +74,7 @@ "SQL": "desc format = 'brief' select md5(s) from t; -- we do generate mpp plan, while the cost-cmp failed", "Plan": [ "Projection 10000.00 root md5(test.t.s)->Column#13", - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ] @@ -83,7 +83,7 @@ "SQL": "desc format = 'brief' select c from t where a+1=3", "Plan": [ "Projection 8000.00 root test.t.c", - "└─TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 8000.00 mpp[tiflash] eq(plus(test.t.a, 1), 3)", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -93,7 +93,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#17)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(Column#19)->Column#17", " └─Projection 10000.00 mpp[tiflash] plus(test.t.id, 1)->Column#19", @@ -104,7 +104,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ count(*) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#16)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#16", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -114,7 +114,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg()*/ sum(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#17)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#19)->Column#17", " └─Projection 10000.00 mpp[tiflash] cast(plus(test.t.id, 1), decimal(20,0) BINARY)->Column#19", @@ -125,7 +125,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ count(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#18)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(Column#19)->Column#18", " └─Projection 10000.00 mpp[tiflash] plus(test.t.id, 1)->Column#19", @@ -136,7 +136,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ count(*) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:count(Column#17)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(test.t._tidb_rowid)->Column#17", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -146,7 +146,7 @@ "SQL": "desc format = 'brief' select /*+ stream_agg()*/ sum(b) from (select id + 1 as b from t)A", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#18)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(Column#19)->Column#18", " └─Projection 10000.00 mpp[tiflash] cast(plus(test.t.id, 1), decimal(20,0) BINARY)->Column#19", @@ -156,7 +156,7 @@ { "SQL": "desc format = 'brief' select * from (select id-2 as b from t) B join (select id-2 as b from t) A on A.b=B.b", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 10000.00 mpp[tiflash] inner join, equal:[eq(Column#13, Column#26)]", " ├─ExchangeReceiver(Build) 8000.00 mpp[tiflash] ", @@ -173,12 +173,12 @@ "SQL": "desc format = 'brief' select * from t join (select id-2 as b from t) A on A.b=t.id", "Plan": [ "HashJoin 10000.00 root inner join, equal:[eq(test.t.id, Column#25)]", - "├─TableReader(Build) 8000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 8000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Projection 8000.00 mpp[tiflash] minus(test.t.id, 2)->Column#25", "│ └─Selection 8000.00 mpp[tiflash] not(isnull(minus(test.t.id, 2)))", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.id))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -188,12 +188,12 @@ "SQL": "desc format = 'brief' select * from t left join (select id-2 as b from t) A on A.b=t.id", "Plan": [ "HashJoin 10000.00 root left outer join, left side:TableReader, equal:[eq(test.t.id, Column#25)]", - "├─TableReader(Build) 8000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 8000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Projection 8000.00 mpp[tiflash] minus(test.t.id, 2)->Column#25", "│ └─Selection 8000.00 mpp[tiflash] not(isnull(minus(test.t.id, 2)))", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo", - "└─TableReader(Probe) 10000.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" ] @@ -202,11 +202,11 @@ "SQL": "desc format = 'brief' select * from t right join (select id-2 as b from t) A on A.b=t.id", "Plan": [ "HashJoin 12487.50 root right outer join, left side:TableReader, equal:[eq(test.t.id, Column#25)]", - "├─TableReader(Build) 10000.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 10000.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Projection 10000.00 mpp[tiflash] minus(test.t.id, 2)->Column#25", "│ └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo", - "└─TableReader(Probe) 9990.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 9990.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 9990.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 9990.00 mpp[tiflash] not(isnull(test.t.id))", " └─TableFullScan 10000.00 mpp[tiflash] table:t pushed down filter:empty, keep order:false, stats:pseudo" @@ -215,7 +215,7 @@ { "SQL": "desc format = 'brief' select A.b, B.b from (select id-2 as b from t) B join (select id-2 as b from t) A on A.b=B.b", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#26, Column#13", " └─HashJoin 10000.00 mpp[tiflash] inner join, equal:[eq(Column#13, Column#26)]", @@ -232,7 +232,7 @@ { "SQL": "desc format = 'brief' select A.id from t as A where exists (select 1 from t where t.id=A.id)", "Plan": [ - "TableReader 7992.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 7992.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 7992.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 7992.00 mpp[tiflash] semi join, left side:Selection, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -246,7 +246,7 @@ { "SQL": "desc format = 'brief' select A.id from t as A where not exists (select 1 from t where t.id=A.id)", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 8000.00 mpp[tiflash] anti semi join, left side:TableFullScan, equal:[eq(test.t.id, test.t.id)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -258,7 +258,7 @@ { "SQL": "desc format = 'brief' SELECT FROM_UNIXTIME(name,'%Y-%m-%d') FROM t;", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] from_unixtime(cast(test.t.name, decimal(65,6) BINARY), %Y-%m-%d)->Column#13", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo" @@ -477,10 +477,10 @@ "SQL": "explain format = 'brief' select * from table_1 a, table_1 b where a.bit_col = b.bit_col", "Plan": [ "HashJoin 2.00 root inner join, equal:[eq(test.table_1.bit_col, test.table_1.bit_col)]", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] @@ -489,10 +489,10 @@ "SQL": "explain format = 'brief' select * from table_1 a left join table_1 b on a.id = b.id and dayofmonth(a.datetime_col) > 100", "Plan": [ "HashJoin 2.00 root left outer join, left side:TableReader, equal:[eq(test.table_1.id, test.table_1.id)], left cond:[gt(dayofmonth(test.table_1.datetime_col), 100)]", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] @@ -501,10 +501,10 @@ "SQL": "explain format = 'brief' select * from table_1 a right join table_1 b on a.id = b.id and dayofmonth(b.datetime_col) > 100", "Plan": [ "HashJoin 2.00 root right outer join, left side:TableReader, equal:[eq(test.table_1.id, test.table_1.id)], right cond:gt(dayofmonth(test.table_1.datetime_col), 100)", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false" ] @@ -513,10 +513,10 @@ "SQL": "explain format = 'brief' select * from table_1 a join table_1 b on a.id = b.id and dayofmonth(a.datetime_col) > dayofmonth(b.datetime_col)", "Plan": [ "HashJoin 2.00 root inner join, equal:[eq(test.table_1.id, test.table_1.id)], other cond:gt(dayofmonth(test.table_1.datetime_col), dayofmonth(test.table_1.datetime_col))", - "├─TableReader(Build) 2.00 root MppVersion: 2, data:ExchangeSender", + "├─TableReader(Build) 2.00 root MppVersion: 3, data:ExchangeSender", "│ └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan 2.00 mpp[tiflash] table:b keep order:false", - "└─TableReader(Probe) 2.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader(Probe) 2.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 2.00 mpp[tiflash] table:a keep order:false" ] diff --git a/pkg/planner/core/casetest/rule/testdata/derive_topn_from_window_out.json b/pkg/planner/core/casetest/rule/testdata/derive_topn_from_window_out.json index c1fda61372b1d..6d4af134300db 100644 --- a/pkg/planner/core/casetest/rule/testdata/derive_topn_from_window_out.json +++ b/pkg/planner/core/casetest/rule/testdata/derive_topn_from_window_out.json @@ -5,7 +5,7 @@ { "SQL": "select * from (select row_number() over (order by b) as rownumber from t) DT where rownumber <= 1 -- applicable with no partition by", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4", " └─Selection 8000.00 mpp[tiflash] le(Column#4, 1)", @@ -19,7 +19,7 @@ { "SQL": "select * from (select row_number() over (partition by b) as rownumber from t) DT where rownumber <= 1 -- applicable with partition by but no push down to tiflash", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, stream_count: 8", " └─Selection 8000.00 mpp[tiflash] le(Column#4, 1), stream_count: 8", @@ -33,7 +33,7 @@ { "SQL": "select * from (select row_number() over (partition by b order by a) as rownumber from t) DT where rownumber <= 1 -- applicable with partition by and order by but no push down to tiflash", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, stream_count: 8", " └─Selection 8000.00 mpp[tiflash] le(Column#4, 1), stream_count: 8", @@ -47,7 +47,7 @@ { "SQL": "select * from (select row_number() over (partition by a) as rownumber from t) DT where rownumber <= 3 -- pattern is not applicable with partition by not prefix of PK", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#4, stream_count: 8", " └─Selection 8000.00 mpp[tiflash] le(Column#4, 3), stream_count: 8", diff --git a/pkg/planner/core/casetest/rule/testdata/join_reorder_suite_out.json b/pkg/planner/core/casetest/rule/testdata/join_reorder_suite_out.json index 8e5f643824fb8..3cbbe1271be5a 100644 --- a/pkg/planner/core/casetest/rule/testdata/join_reorder_suite_out.json +++ b/pkg/planner/core/casetest/rule/testdata/join_reorder_suite_out.json @@ -791,7 +791,7 @@ { "SQL": "select /*+ straight_join() */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t2.b, test.t3.b)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -811,7 +811,7 @@ { "SQL": "select /*+ leading(t2) */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t2.b, test.t3.b)]", @@ -832,7 +832,7 @@ { "SQL": "select /*+ leading(t3) */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t2.a, test.t1.a)]", @@ -853,7 +853,7 @@ { "SQL": "select /*+ leading(t2, t3) */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t2.a, test.t1.a)]", @@ -874,7 +874,7 @@ { "SQL": "select /*+ leading(t3, t2) */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 15593.77 mpp[tiflash] test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 15593.77 mpp[tiflash] inner join, equal:[eq(test.t2.a, test.t1.a)]", @@ -895,7 +895,7 @@ { "SQL": "select /*+ leading(t3, t1) */ * from t1 join t2 on t1.a=t2.a join t3 on t2.b=t3.b", "Plan": [ - "TableReader 124625374.88 root MppVersion: 2, data:ExchangeSender", + "TableReader 124625374.88 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 124625374.88 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 124625374.88 mpp[tiflash] test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 124625374.88 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a) eq(test.t3.b, test.t2.b)]", @@ -916,7 +916,7 @@ { "SQL": "select /*+ leading(t1, t2) */ * from t4 join t on t4.a=t.a left join t1 on t.a = t1.a join t2 on t.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24365.26 root MppVersion: 2, data:ExchangeSender", + "TableReader 24365.26 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24365.26 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24365.26 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24365.26 mpp[tiflash] inner join, equal:[eq(test.t2.b, test.t3.b)]", @@ -949,7 +949,7 @@ { "SQL": "select /*+ leading(t2, t3) */ * from t4 join t on t4.a=t.a left join t1 on t.a = t1.a join t2 on t.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24365.26 root MppVersion: 2, data:ExchangeSender", + "TableReader 24365.26 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24365.26 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24365.26 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24365.26 mpp[tiflash] left outer join, left side:HashJoin, equal:[eq(test.t.a, test.t1.a)]", @@ -980,7 +980,7 @@ { "SQL": "select /*+ leading(t4, t3, t2, t, t1) */ * from t4 join t on t4.a=t.a left join t1 on t.a = t1.a join t2 on t.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24365.26 root MppVersion: 2, data:ExchangeSender", + "TableReader 24365.26 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24365.26 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24365.26 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24365.26 mpp[tiflash] inner join, equal:[eq(test.t2.b, test.t3.b)]", @@ -1013,7 +1013,7 @@ { "SQL": "select /*+ leading(t4, t3, t2, t) */ * from t4 join t on t4.a=t.a left join t1 on t.a = t1.a join t2 on t.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24365.26 root MppVersion: 2, data:ExchangeSender", + "TableReader 24365.26 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24365.26 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24365.26 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24365.26 mpp[tiflash] inner join, equal:[eq(test.t2.b, test.t3.b)]", @@ -1046,7 +1046,7 @@ { "SQL": "select /*+ leading(t3, t2, t) */ * from t4 join t on t4.a=t.a left join t1 on t.a = t1.a join t2 on t.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24365.26 root MppVersion: 2, data:ExchangeSender", + "TableReader 24365.26 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24365.26 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24365.26 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24365.26 mpp[tiflash] left outer join, left side:HashJoin, equal:[eq(test.t.a, test.t1.a)]", @@ -1077,7 +1077,7 @@ { "SQL": "select /*+ leading(t3) */ * from t2 left join (t1 left join t3 on t1.a=t3.a) on t2.b=t1.b;", "Plan": [ - "TableReader 15609.38 root MppVersion: 2, data:ExchangeSender", + "TableReader 15609.38 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15609.38 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15609.38 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1098,7 +1098,7 @@ { "SQL": "select /*+ leading(t2, t1, t3) */ * from t2 left join (t1 left join t3 on t1.a=t3.a) on t2.b=t1.b;", "Plan": [ - "TableReader 15609.38 root MppVersion: 2, data:ExchangeSender", + "TableReader 15609.38 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15609.38 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15609.38 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1122,7 +1122,7 @@ { "SQL": "select /*+ leading(t2, t3) */ * from t2 left join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b;", "Plan": [ - "TableReader 19492.21 root MppVersion: 2, data:ExchangeSender", + "TableReader 19492.21 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19492.21 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 19492.21 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1151,7 +1151,7 @@ { "SQL": "select /*+ leading(t3, t4) */ * from t2 left join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b;", "Plan": [ - "TableReader 19492.21 root MppVersion: 2, data:ExchangeSender", + "TableReader 19492.21 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19492.21 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 19492.21 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", " ├─ExchangeReceiver(Build) 10000.00 mpp[tiflash] ", @@ -1178,7 +1178,7 @@ { "SQL": "select /*+ leading(t3, t4) */ * from t2 left join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 30426.12 root MppVersion: 2, data:ExchangeSender", + "TableReader 30426.12 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 30426.12 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 30426.12 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 30426.12 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", @@ -1217,7 +1217,7 @@ { "SQL": "select /*+ leading(t3, t4) leading(t5, t6) */ * from t2 left join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 30426.12 root MppVersion: 2, data:ExchangeSender", + "TableReader 30426.12 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 30426.12 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 30426.12 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 30426.12 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", @@ -1257,7 +1257,7 @@ { "SQL": "select /*+ leading(t5, t6, t3, t4) */ * from t2 left join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 30426.12 root MppVersion: 2, data:ExchangeSender", + "TableReader 30426.12 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 30426.12 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 30426.12 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 30426.12 mpp[tiflash] left outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", @@ -1298,7 +1298,7 @@ { "SQL": "select /*+ leading(t1, t2) */ * from t4 join t on t4.a=t.a right join t1 on t.a = t1.a join t2 on t1.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24389.65 root MppVersion: 2, data:ExchangeSender", + "TableReader 24389.65 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24389.65 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 24389.65 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t1.a)]", " ├─ExchangeReceiver(Build) 12487.50 mpp[tiflash] ", @@ -1330,7 +1330,7 @@ { "SQL": "select /*+ leading(t2, t3) */ * from t4 join t on t4.a=t.a right join t1 on t.a = t1.a join t2 on t1.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24389.65 root MppVersion: 2, data:ExchangeSender", + "TableReader 24389.65 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24389.65 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 24389.65 mpp[tiflash] test.t4.a, test.t4.b, test.t.a, test.t.b, test.t1.a, test.t1.b, test.t2.a, test.t2.b, test.t3.a, test.t3.b", " └─HashJoin 24389.65 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t1.a)]", @@ -1363,7 +1363,7 @@ { "SQL": "select /*+ leading(t1, t3) */ * from t4 join t on t4.a=t.a right join t1 on t.a = t1.a join t2 on t1.b = t2.b join t3 on t2.b=t3.b;", "Plan": [ - "TableReader 24389.65 root MppVersion: 2, data:ExchangeSender", + "TableReader 24389.65 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 24389.65 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 24389.65 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t.a, test.t1.a)]", " ├─ExchangeReceiver(Build) 12487.50 mpp[tiflash] ", @@ -1397,7 +1397,7 @@ { "SQL": "select /*+ leading(t3) */ * from t2 right join (t1 left join t3 on t1.a=t3.a) on t2.b=t1.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15593.77 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1416,7 +1416,7 @@ { "SQL": "select /*+ leading(t2, t1, t3) */ * from t2 right join (t1 left join t3 on t1.a=t3.a) on t2.b=t1.b;", "Plan": [ - "TableReader 15593.77 root MppVersion: 2, data:ExchangeSender", + "TableReader 15593.77 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15593.77 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 15593.77 mpp[tiflash] left outer join, left side:HashJoin, equal:[eq(test.t1.a, test.t3.a)]", " ├─ExchangeReceiver(Build) 9990.00 mpp[tiflash] ", @@ -1435,7 +1435,7 @@ { "SQL": "select /*+ leading(t2, t3) */ * from t2 right join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b;", "Plan": [ - "TableReader 19492.21 root MppVersion: 2, data:ExchangeSender", + "TableReader 19492.21 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19492.21 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 19492.21 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b", " └─HashJoin 19492.21 mpp[tiflash] inner join, equal:[eq(test.t3.b, test.t4.b)]", @@ -1463,7 +1463,7 @@ { "SQL": "select /*+ leading(t3, t4) */ * from t2 right join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b;", "Plan": [ - "TableReader 19492.21 root MppVersion: 2, data:ExchangeSender", + "TableReader 19492.21 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 19492.21 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 19492.21 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b", " └─HashJoin 19492.21 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t2.b, test.t1.b)]", @@ -1489,7 +1489,7 @@ { "SQL": "select /*+ leading(t3, t4) */ * from t2 right join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 30456.57 root MppVersion: 2, data:ExchangeSender", + "TableReader 30456.57 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 30456.57 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 30456.57 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 30456.57 mpp[tiflash] inner join, equal:[eq(test.t5.b, test.t6.b)]", @@ -1525,7 +1525,7 @@ { "SQL": "select /*+ leading(t3, t4) leading(t5, t6) */ * from t2 right join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 30456.57 root MppVersion: 2, data:ExchangeSender", + "TableReader 30456.57 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 30456.57 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 30456.57 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 30456.57 mpp[tiflash] inner join, equal:[eq(test.t5.b, test.t6.b)]", @@ -1563,7 +1563,7 @@ { "SQL": "select /*+ leading(t3, t4, t5, t6) */ * from t2 right join (t1 join t3 on t1.a=t3.a join t4 on t3.b = t4.b) on t2.b=t1.b join t5 on t2.a = t5.a join t6 on t5.b=t6.b;", "Plan": [ - "TableReader 243165526.37 root MppVersion: 2, data:ExchangeSender", + "TableReader 243165526.37 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 243165526.37 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 243165526.37 mpp[tiflash] test.t2.a, test.t2.b, test.t1.a, test.t1.b, test.t3.a, test.t3.b, test.t4.a, test.t4.b, test.t5.a, test.t5.b, test.t6.a, test.t6.b", " └─HashJoin 243165526.37 mpp[tiflash] inner join, equal:[eq(test.t3.a, test.t1.a) eq(test.t2.b, test.t1.b)]", diff --git a/pkg/planner/core/casetest/testdata/integration_suite_out.json b/pkg/planner/core/casetest/testdata/integration_suite_out.json index 79112bdc68452..b5a8786148bda 100644 --- a/pkg/planner/core/casetest/testdata/integration_suite_out.json +++ b/pkg/planner/core/casetest/testdata/integration_suite_out.json @@ -131,7 +131,7 @@ "SQL": "explain format = 'verbose' select /*+ read_from_storage(tiflash[t1, t2]) */ count(*) from t1 join t2 on t1.a = t2.a", "Plan": [ "StreamAgg_15 1.00 62049.70 root funcs:count(1)->Column#7", - "└─TableReader_46 3.00 61900.00 root MppVersion: 2, data:ExchangeSender_45", + "└─TableReader_46 3.00 61900.00 root MppVersion: 3, data:ExchangeSender_45", " └─ExchangeSender_45 3.00 928447.21 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_44 3.00 928447.21 mpp[tiflash] test.t1.a", " └─HashJoin_41 3.00 928447.20 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a)]", @@ -148,7 +148,7 @@ "Plan": [ "StreamAgg_15 1.00 71701.80 root funcs:count(1)->Column#10", "└─HashJoin_63 3.00 71552.10 root inner join, equal:[eq(test.t1.b, test.t3.b)]", - " ├─TableReader_40(Build) 3.00 69645.79 root MppVersion: 2, data:ExchangeSender_39", + " ├─TableReader_40(Build) 3.00 69645.79 root MppVersion: 3, data:ExchangeSender_39", " │ └─ExchangeSender_39 3.00 1044634.01 mpp[tiflash] ExchangeType: PassThrough", " │ └─Projection_38 3.00 1044634.01 mpp[tiflash] test.t1.b", " │ └─HashJoin_29 3.00 1044634.00 mpp[tiflash] inner join, equal:[eq(test.t1.a, test.t2.a)]", @@ -168,7 +168,7 @@ "HashJoin_17 3.00 32781.07 root CARTESIAN left outer semi join, left side:IndexReader_21", "├─Selection_22(Build) 0.80 31149.25 root eq(2, Column#18)", "│ └─StreamAgg_29 1.00 31099.35 root funcs:count(1)->Column#18", - "│ └─TableReader_41 3.00 30949.65 root MppVersion: 2, data:ExchangeSender_40", + "│ └─TableReader_41 3.00 30949.65 root MppVersion: 3, data:ExchangeSender_40", "│ └─ExchangeSender_40 3.00 464139.20 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_39 3.00 464139.20 mpp[tiflash] table:t1 keep order:false", "└─IndexReader_21(Probe) 3.00 53.37 root index:IndexFullScan_20", @@ -181,12 +181,12 @@ "StreamAgg_15 1.00 62546.70 root funcs:count(1)->Column#7", "└─MergeJoin_29 3.00 62397.00 root inner join, left key:test.t1.a, right key:test.t2.a", " ├─Sort_27(Build) 3.00 31197.00 root test.t2.a", - " │ └─TableReader_26 3.00 30950.13 root MppVersion: 2, data:ExchangeSender_25", + " │ └─TableReader_26 3.00 30950.13 root MppVersion: 3, data:ExchangeSender_25", " │ └─ExchangeSender_25 3.00 464146.40 mpp[tiflash] ExchangeType: PassThrough", " │ └─Selection_24 3.00 464146.40 mpp[tiflash] not(isnull(test.t2.a))", " │ └─TableFullScan_23 3.00 464139.20 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false", " └─Sort_22(Probe) 3.00 31197.00 root test.t1.a", - " └─TableReader_21 3.00 30950.13 root MppVersion: 2, data:ExchangeSender_20", + " └─TableReader_21 3.00 30950.13 root MppVersion: 3, data:ExchangeSender_20", " └─ExchangeSender_20 3.00 464146.40 mpp[tiflash] ExchangeType: PassThrough", " └─Selection_19 3.00 464146.40 mpp[tiflash] not(isnull(test.t1.a))", " └─TableFullScan_18 3.00 464139.20 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false" @@ -224,7 +224,7 @@ { "SQL": "explain format = 'brief' select * from t where t.a = 1", "Result": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableRangeScan 1.00 mpp[tiflash] table:t range:[1,1], keep order:false, stats:pseudo" ] @@ -232,7 +232,7 @@ { "SQL": "explain format = 'brief' select * from t where t.a in (1, 2)", "Result": [ - "TableReader 2.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 2.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableRangeScan 2.00 mpp[tiflash] table:t range:[1,1], [2,2], keep order:false, stats:pseudo" ] @@ -249,12 +249,12 @@ "└─HashJoin 9990.00 root CARTESIAN inner join, other cond:or(ge(test.ts.col_char_64_not_null, Column#25), if(ne(Column#26, 0), NULL, 0))", " ├─Selection(Build) 0.80 root ne(Column#27, 0)", " │ └─HashAgg 1.00 root funcs:min(Column#36)->Column#25, funcs:sum(Column#37)->Column#26, funcs:count(Column#38)->Column#27", - " │ └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " │ └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " │ └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " │ └─HashAgg 1.00 mpp[tiflash] funcs:min(Column#42)->Column#36, funcs:sum(Column#43)->Column#37, funcs:count(1)->Column#38", " │ └─Projection 10000.00 mpp[tiflash] test.ts.col_varchar_64->Column#42, cast(isnull(test.ts.col_varchar_64), decimal(20,0) BINARY)->Column#43", " │ └─TableFullScan 10000.00 mpp[tiflash] table:SUBQUERY4_t1 keep order:false, stats:pseudo", - " └─TableReader(Probe) 12487.50 root MppVersion: 2, data:ExchangeSender", + " └─TableReader(Probe) 12487.50 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] test.ts.col_char_64, test.ts.col_char_64_not_null", " └─HashJoin 12487.50 mpp[tiflash] inner join, equal:[eq(test.ts.col_varchar_64, test.ts.col_varchar_key)]", @@ -275,7 +275,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id) from ts", "Plan": [ "HashAgg 1.00 root funcs:group_concat(Column#6 separator \",\")->Column#5", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#8, Column#9, Column#10 separator \",\")->Column#6", " └─Projection 10000.00 mpp[tiflash] test.ts.col_0->Column#8, test.ts.col_1->Column#9, cast(test.ts.id, var_string(20))->Column#10", @@ -288,7 +288,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#6, Column#7, Column#8 separator \",\")->Column#5", @@ -305,7 +305,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id order by col_0) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#6, Column#7, Column#8 order by Column#9 separator \",\")->Column#5", @@ -321,7 +321,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id order by col_0) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#6, Column#7, Column#8 order by Column#9 separator \",\")->Column#5", @@ -338,7 +338,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id order by col_0),count(*),min(col_1) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#8, Column#9, Column#10 order by Column#11 separator \",\")->Column#5, funcs:count(1)->Column#6, funcs:min(Column#12)->Column#7", @@ -354,7 +354,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id order by col_0),count(*),max(col_0) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#12, Column#13, Column#14 order by Column#15 separator \",\")->Column#5, funcs:sum(Column#16)->Column#6, funcs:max(Column#17)->Column#7", @@ -371,7 +371,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#12, funcs:group_concat(Column#9, Column#10, Column#11 separator \",\")->Column#5", @@ -387,7 +387,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#9, funcs:group_concat(distinct Column#6, Column#7, Column#8 separator \",\")->Column#5", @@ -404,7 +404,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id order by col_0) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#10, funcs:group_concat(Column#6, Column#7, Column#8 order by Column#9 separator \",\")->Column#5", @@ -420,7 +420,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id order by col_0) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#10, funcs:group_concat(distinct Column#6, Column#7, Column#8 order by Column#9 separator \",\")->Column#5", @@ -437,7 +437,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_1, id order by col_0) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#9, funcs:group_concat(Column#6, Column#7 order by Column#8 separator \",\")->Column#5", @@ -453,7 +453,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_1, id order by col_0) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#9, funcs:group_concat(distinct Column#6, Column#7 order by Column#8 separator \",\")->Column#5", @@ -470,7 +470,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id order by col_0),count(*),min(col_0),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#11, 0), 1, Column#11), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#20, funcs:group_concat(Column#13, Column#14, Column#15 order by Column#16 separator \",\")->Column#5, funcs:count(1)->Column#6, funcs:min(Column#17)->Column#7, funcs:count(Column#18)->Column#11, funcs:sum(Column#19)->Column#8", @@ -486,7 +486,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id order by col_0),count(*),max(col_1),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#19, 0), 1, Column#19), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#32, funcs:group_concat(distinct Column#25, Column#26, Column#27 order by Column#28 separator \",\")->Column#5, funcs:count(1)->Column#6, funcs:max(Column#29)->Column#7, funcs:count(Column#30)->Column#19, funcs:sum(Column#31)->Column#8", @@ -502,7 +502,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id order by col_0),count(distinct id),min(col_0),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#10, 0), 1, Column#10), decimal(20,0) BINARY))->Column#8", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#11, Column#12, Column#13 order by Column#14 separator \",\")->Column#5, funcs:count(Column#15)->Column#6, funcs:min(Column#16)->Column#7, funcs:count(Column#17)->Column#10, funcs:sum(Column#18)->Column#8", @@ -518,7 +518,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id order by col_0),count(distinct id),max(col_1),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#14, 0), 1, Column#14), decimal(20,0) BINARY))->Column#8", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#26, Column#27, Column#28 order by Column#29 separator \",\")->Column#5, funcs:sum(Column#30)->Column#6, funcs:max(Column#31)->Column#7, funcs:sum(Column#32)->Column#14, funcs:sum(Column#33)->Column#8", @@ -536,7 +536,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id),count(distinct id),min(col_0),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#21, 0), 1, Column#21), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#35, funcs:group_concat(Column#28, Column#29, Column#30 separator \",\")->Column#5, funcs:count(Column#31)->Column#6, funcs:min(Column#32)->Column#7, funcs:count(Column#33)->Column#21, funcs:sum(Column#34)->Column#8", @@ -552,7 +552,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id),count(distinct id),max(col_1),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#19, 0), 1, Column#19), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#32, funcs:group_concat(distinct Column#25, Column#26, Column#27 separator \",\")->Column#5, funcs:count(Column#28)->Column#6, funcs:max(Column#29)->Column#7, funcs:count(Column#30)->Column#19, funcs:sum(Column#31)->Column#8", @@ -569,7 +569,7 @@ "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id),count(distinct id),min(col_0),avg(id) from ts", "Plan": [ "HashAgg 1.00 root funcs:group_concat(Column#9 separator \",\")->Column#5, funcs:count(Column#10)->Column#6, funcs:min(Column#11)->Column#7, funcs:avg(Column#12, Column#13)->Column#8", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#19, Column#20, Column#21 separator \",\")->Column#9, funcs:count(Column#22)->Column#10, funcs:min(Column#23)->Column#11, funcs:count(Column#24)->Column#12, funcs:sum(Column#25)->Column#13", " └─Projection 10000.00 mpp[tiflash] test.ts.col_0->Column#19, test.ts.col_1->Column#20, cast(test.ts.id, var_string(20))->Column#21, test.ts.id->Column#22, test.ts.col_0->Column#23, test.ts.id->Column#24, cast(test.ts.id, decimal(10,0) BINARY)->Column#25", @@ -582,7 +582,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id),count(distinct id),max(col_1),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#14, 0), 1, Column#14), decimal(20,0) BINARY))->Column#8", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#26, Column#27, Column#28 separator \",\")->Column#5, funcs:sum(Column#29)->Column#6, funcs:max(Column#30)->Column#7, funcs:sum(Column#31)->Column#14, funcs:sum(Column#32)->Column#8", @@ -600,7 +600,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_1, id),count(distinct id),group_concat(col_0 order by 1),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#15, 0), 1, Column#15), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#27, funcs:group_concat(Column#19, Column#20, Column#21 separator \",\")->Column#5, funcs:count(Column#22)->Column#6, funcs:group_concat(Column#23 order by Column#24 separator \",\")->Column#7, funcs:count(Column#25)->Column#15, funcs:sum(Column#26)->Column#8", @@ -616,7 +616,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0),count(distinct id),group_concat(col_1, id order by 1,2),avg(id) from ts group by col_2", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, div(Column#8, cast(case(eq(Column#13, 0), 1, Column#13), decimal(20,0) BINARY))->Column#8", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#24, funcs:group_concat(distinct Column#16 separator \",\")->Column#5, funcs:count(Column#17)->Column#6, funcs:group_concat(Column#18, Column#19 order by Column#20, Column#21 separator \",\")->Column#7, funcs:count(Column#22)->Column#13, funcs:sum(Column#23)->Column#8", @@ -632,7 +632,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, id),count(distinct id),group_concat(col_1, id order by 1,2),min(col_0),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, Column#8, div(Column#9, cast(case(eq(Column#13, 0), 1, Column#13), decimal(20,0) BINARY))->Column#9", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(Column#16, Column#17 separator \",\")->Column#5, funcs:count(Column#18)->Column#6, funcs:group_concat(Column#19, Column#20 order by Column#21, Column#22 separator \",\")->Column#7, funcs:min(Column#23)->Column#8, funcs:count(Column#24)->Column#13, funcs:sum(Column#25)->Column#9", @@ -648,7 +648,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id),count(distinct id),group_concat(col_1, id order by 1,2),max(col_1),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, Column#8, div(Column#9, cast(case(eq(Column#12, 0), 1, Column#12), decimal(20,0) BINARY))->Column#9", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#14, Column#15, Column#16 separator \",\")->Column#5, funcs:count(Column#17)->Column#6, funcs:group_concat(Column#18, Column#19 order by Column#20, Column#21 separator \",\")->Column#7, funcs:max(Column#22)->Column#8, funcs:count(Column#23)->Column#12, funcs:sum(Column#24)->Column#9", @@ -664,7 +664,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id),count(distinct col_2),group_concat(col_1, id),max(col_1),avg(id) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5, Column#6, Column#7, Column#8, div(Column#9, cast(case(eq(Column#15, 0), 1, Column#15), decimal(20,0) BINARY))->Column#9", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#29, Column#30, Column#31 separator \",\")->Column#5, funcs:count(distinct Column#32)->Column#6, funcs:group_concat(Column#33 separator \",\")->Column#7, funcs:max(Column#34)->Column#8, funcs:sum(Column#35)->Column#15, funcs:sum(Column#36)->Column#9", @@ -682,7 +682,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0, col_1, id),count(distinct col_2),group_concat(col_1, id),max(col_1),avg(id) from ts group by col_0", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5, Column#6, Column#7, Column#8, div(Column#9, cast(case(eq(Column#20, 0), 1, Column#20), decimal(20,0) BINARY))->Column#9", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#35, funcs:group_concat(distinct Column#26, Column#27, Column#28 separator \",\")->Column#5, funcs:count(distinct Column#29)->Column#6, funcs:group_concat(Column#30, Column#31 separator \",\")->Column#7, funcs:max(Column#32)->Column#8, funcs:count(Column#33)->Column#20, funcs:sum(Column#34)->Column#9", @@ -698,7 +698,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,'GG') from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#10, Column#11 separator \",\")->Column#5", @@ -717,7 +717,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,'01') from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#10, Column#11 separator \",\")->Column#5", @@ -734,7 +734,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,1) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#10, Column#11 separator \",\")->Column#5", @@ -751,7 +751,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,0) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#8, Column#9 separator \",\")->Column#5", @@ -768,7 +768,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,10) from ts group by '010'", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] group by:Column#17, funcs:group_concat(distinct Column#15, Column#16 separator \",\")->Column#5", @@ -785,7 +785,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,0) from ts group by '011'", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] group by:Column#14, funcs:group_concat(distinct Column#12, Column#13 separator \",\")->Column#5", @@ -802,7 +802,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 0,'GG') from ts group by 'GG'", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] group by:Column#17, funcs:group_concat(distinct Column#15, Column#16 separator \",\")->Column#5", @@ -825,7 +825,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 'GG','GG') from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#7, Column#7 separator \",\")->Column#5", @@ -841,7 +841,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 'Gg','GG') from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#8, Column#9 separator \",\")->Column#5", @@ -857,7 +857,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct 'GG-10','GG') from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#8, Column#9 separator \",\")->Column#5", @@ -873,7 +873,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct '1200-01-01 00:00:00.023',1200) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct Column#10, Column#11 separator \",\")->Column#5", @@ -892,7 +892,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_0) from ts group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:test.ts.id, funcs:group_concat(test.ts.col_0, test.ts.col_0 separator \",\")->Column#5", @@ -907,7 +907,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(col_0, col_0,id) from ts group by id", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#12, funcs:group_concat(Column#9, Column#10, Column#11 separator \",\")->Column#5", @@ -923,7 +923,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0 order by id<10) from ts", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] Column#5", " └─HashAgg 1.00 mpp[tiflash] funcs:group_concat(distinct test.ts.col_0 order by Column#7 separator \",\")->Column#5", @@ -940,7 +940,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0 order by id<10) from ts group by col_1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:test.ts.col_1, funcs:group_concat(distinct test.ts.col_0 order by Column#8 separator \",\")->Column#5", @@ -957,7 +957,7 @@ { "SQL": "desc format = 'brief' select /*+ hash_agg(),agg_to_cop() */ group_concat(distinct col_0>10 order by id<10) from ts group by col_1", "Plan": [ - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 8000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 8000.00 mpp[tiflash] Column#5", " └─HashAgg 8000.00 mpp[tiflash] group by:Column#17, funcs:group_concat(distinct Column#15 order by Column#16 separator \",\")->Column#5", @@ -977,7 +977,7 @@ "Plan": [ "HashAgg 1.00 root funcs:group_concat(distinct Column#6 order by Column#7 separator \",\")->Column#5", "└─Projection 10000.00 root test.ts.col_0->Column#6, nulleq(test.ts.col_0, )->Column#7", - " └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:ts keep order:false, stats:pseudo" ], @@ -998,7 +998,7 @@ "SQL": "explain format = 'brief' select sum(ps_supplycost) from partsupp, supplier where ps_suppkey = s_suppkey;", "Plan": [ "HashAgg 1.00 root funcs:sum(Column#15)->Column#14", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:sum(test.partsupp.ps_supplycost)->Column#15", " └─Projection 12500.00 mpp[tiflash] test.partsupp.ps_supplycost", @@ -1017,7 +1017,7 @@ { "SQL": "explain format = 'brief' select * from rp_t where a = 1 or a = 20", "Plan": [ - "TableReader 20.00 root partition:p0,p3 MppVersion: 2, data:ExchangeSender", + "TableReader 20.00 root partition:p0,p3 MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 20.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 20.00 mpp[tiflash] or(eq(test.rp_t.a, 1), eq(test.rp_t.a, 20))", " └─TableFullScan 10000.00 mpp[tiflash] table:rp_t pushed down filter:empty, keep order:false, stats:pseudo, PartitionTableScan:true" @@ -1026,7 +1026,7 @@ { "SQL": "explain format = 'brief' select * from hp_t where a = 1 or a = 20", "Plan": [ - "TableReader 20.00 root partition:p0,p1 MppVersion: 2, data:ExchangeSender", + "TableReader 20.00 root partition:p0,p1 MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 20.00 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 20.00 mpp[tiflash] or(eq(test.hp_t.a, 1), eq(test.hp_t.a, 20))", " └─TableFullScan 10000.00 mpp[tiflash] table:hp_t pushed down filter:empty, keep order:false, stats:pseudo, PartitionTableScan:true" @@ -1036,7 +1036,7 @@ "SQL": "explain format = 'brief' select count(*) from rp_t where a = 1 or a = 20", "Plan": [ "HashAgg 1.00 root funcs:count(Column#4)->Column#3", - "└─TableReader 1.00 root partition:p0,p3 MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root partition:p0,p3 MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#4", " └─Selection 20.00 mpp[tiflash] or(eq(test.rp_t.a, 1), eq(test.rp_t.a, 20))", @@ -1047,7 +1047,7 @@ "SQL": "explain format = 'brief' select count(*) from hp_t where a = 1 or a = 20", "Plan": [ "HashAgg 1.00 root funcs:count(Column#4)->Column#3", - "└─TableReader 1.00 root partition:p0,p1 MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root partition:p0,p1 MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#4", " └─Selection 20.00 mpp[tiflash] or(eq(test.hp_t.a, 1), eq(test.hp_t.a, 20))", @@ -1062,7 +1062,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1 from t1 window w1 as (partition by c1 order by c1);", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#5->Column#6, stream_count: 8", " └─Window 10000.00 mpp[tiflash] row_number()->Column#5 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1072,7 +1072,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#5->Column#6, stream_count: 8", " └─Window 10000.00 mpp[tiflash] row_number()->Column#5 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1085,7 +1085,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1, rank() over w2 from t1 window w1 as (partition by c1 order by c1), w2 as (partition by c2);", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#7->Column#8, Column#6->Column#9, stream_count: 8", " └─Window 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1099,7 +1099,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#7->Column#8, Column#6->Column#9, stream_count: 8", " └─Window 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1118,7 +1118,7 @@ "Plan": [ "Projection 10.00 root Column#7->Column#8, Column#6->Column#9", "└─TopN 10.00 root Column#7, Column#6, offset:0, count:10", - " └─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 10.00 mpp[tiflash] Column#7, Column#6, offset:0, count:10", " └─Window 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1134,7 +1134,7 @@ "Redact": [ "Projection 10.00 root Column#7->Column#8, Column#6->Column#9", "└─TopN 10.00 root Column#7, Column#6, offset:?, count:?", - " └─TableReader 10.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 10.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 10.00 mpp[tiflash] Column#7, Column#6, offset:?, count:?", " └─Window 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1151,7 +1151,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1, count(c2) from t1 group by c1 having c1 > 10 window w1 as (partition by c2 order by c2);", "Plan": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8, stream_count: 8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c2 order by test.t1.c2 rows between current row and current row), stream_count: 8", @@ -1167,7 +1167,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8, stream_count: 8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c2 order by test.t1.c2 rows between current row and current row), stream_count: 8", @@ -1186,7 +1186,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1, count(c1) from t1 group by c2 having c2 > 10 window w1 as (partition by c1 order by c2);", "Plan": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8, stream_count: 8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c1 order by test.t1.c2 rows between current row and current row), stream_count: 8", @@ -1202,7 +1202,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8, stream_count: 8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c1 order by test.t1.c2 rows between current row and current row), stream_count: 8", @@ -1221,7 +1221,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1 from t1 a join t1 b on a.c1 = b.c2 window w1 as (partition by a.c1);", "Plan": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] Column#8->Column#9, stream_count: 8", " └─Window 12487.50 mpp[tiflash] row_number()->Column#8 over(partition by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1238,7 +1238,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:b pushed down filter:empty, keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 12487.50 root MppVersion: 2, data:ExchangeSender", + "TableReader 12487.50 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 12487.50 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 12487.50 mpp[tiflash] Column#8->Column#9, stream_count: 8", " └─Window 12487.50 mpp[tiflash] row_number()->Column#8 over(partition by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1258,7 +1258,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1 from t1 where c1 < 100 window w1 as (partition by c1 order by c1);", "Plan": [ - "TableReader 3323.33 root MppVersion: 2, data:ExchangeSender", + "TableReader 3323.33 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3323.33 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3323.33 mpp[tiflash] Column#5->Column#6, stream_count: 8", " └─Window 3323.33 mpp[tiflash] row_number()->Column#5 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1269,7 +1269,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 3323.33 root MppVersion: 2, data:ExchangeSender", + "TableReader 3323.33 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 3323.33 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 3323.33 mpp[tiflash] Column#5->Column#6, stream_count: 8", " └─Window 3323.33 mpp[tiflash] row_number()->Column#5 over(partition by test.t1.c1 order by test.t1.c1 rows between current row and current row), stream_count: 8", @@ -1283,12 +1283,12 @@ { "SQL": "explain format = 'brief' select * from t1;", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ] @@ -1296,7 +1296,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1 from t1 window w1 as (order by c1);", "Plan": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#5->Column#6", " └─Window 10000.00 mpp[tiflash] row_number()->Column#5 over(order by test.t1.c1 rows between current row and current row)", @@ -1306,7 +1306,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] Column#5->Column#6", " └─Window 10000.00 mpp[tiflash] row_number()->Column#5 over(order by test.t1.c1 rows between current row and current row)", @@ -1319,7 +1319,7 @@ { "SQL": "explain format = 'brief' select row_number() over w1, count(c2) from t1 group by c1 having c1 > 10 window w1 as (partition by c1 order by c2);", "Plan": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c1 order by test.t1.c2 rows between current row and current row)", @@ -1333,7 +1333,7 @@ " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" ], "Redact": [ - "TableReader 2666.67 root MppVersion: 2, data:ExchangeSender", + "TableReader 2666.67 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 2666.67 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 2666.67 mpp[tiflash] Column#6->Column#7, Column#4->Column#8", " └─Window 2666.67 mpp[tiflash] row_number()->Column#6 over(partition by test.t1.c1 order by test.t1.c2 rows between current row and current row)", @@ -1355,7 +1355,7 @@ { "SQL": "explain format = 'brief' select ta.c1 from t1 ta, t1 tb where ta.c1 * ta.c1 > ta.c2 + 10;", "Plan": [ - "TableReader 80000000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 80000000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 80000000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 80000000.00 mpp[tiflash] test.t1.c1", " └─HashJoin 80000000.00 mpp[tiflash] CARTESIAN inner join", @@ -1371,7 +1371,7 @@ "SQL": "explain format = 'brief' select count(*) from t1 ta, t1 tb where ta.c1 * ta.c1 > ta.c2 + 10;", "Plan": [ "HashAgg 1.00 root funcs:count(Column#8)->Column#7", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashAgg 1.00 mpp[tiflash] funcs:count(1)->Column#8", " └─Projection 80000000.00 mpp[tiflash] test.t1.c1", diff --git a/pkg/planner/core/casetest/vectorsearch/testdata/ann_index_suite_out.json b/pkg/planner/core/casetest/vectorsearch/testdata/ann_index_suite_out.json index 933105120ae9e..77764c259da87 100644 --- a/pkg/planner/core/casetest/vectorsearch/testdata/ann_index_suite_out.json +++ b/pkg/planner/core/casetest/vectorsearch/testdata/ann_index_suite_out.json @@ -5,7 +5,7 @@ { "SQL": "explain format = 'brief' select * from t1;", "Plan": [ - "TableReader 48.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 48.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 48.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 48.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], @@ -14,7 +14,7 @@ { "SQL": "explain format = 'brief' select * from t1 where a<1;", "Plan": [ - "TableReader 15.95 root MppVersion: 2, data:ExchangeSender", + "TableReader 15.95 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 15.95 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 15.95 mpp[tiflash] lt(test.t1.a, 1)", " └─TableFullScan 48.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -24,7 +24,7 @@ { "SQL": "explain format = 'brief' select * from t1 where vec = '[1,1,1]'", "Plan": [ - "TableReader 0.05 root MppVersion: 2, data:ExchangeSender", + "TableReader 0.05 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 0.05 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 0.05 mpp[tiflash] eq(test.t1.vec, [1,1,1])", " └─TableFullScan 48.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -34,7 +34,7 @@ { "SQL": "explain format = 'brief' select * from t1 where vec_cosine_distance(vec, '[1,1,1]') < 0.1", "Plan": [ - "TableReader 38.40 root MppVersion: 2, data:ExchangeSender", + "TableReader 38.40 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 38.40 mpp[tiflash] ExchangeType: PassThrough", " └─Selection 38.40 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", " └─TableFullScan 48.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" @@ -44,7 +44,7 @@ { "SQL": "explain format = 'brief' select vec_cosine_distance(vec, '[1,1,1]') as dis from t1 having dis < 0.1", "Plan": [ - "TableReader 38.40 root MppVersion: 2, data:ExchangeSender", + "TableReader 38.40 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 38.40 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 38.40 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", " └─Selection 38.40 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", @@ -58,7 +58,7 @@ "Projection 48.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d", "└─Sort 48.00 root Column#7", " └─Projection 48.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", - " └─TableReader 48.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 48.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 48.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 48.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" ], @@ -68,7 +68,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#8, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#8, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#8", @@ -80,7 +80,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, vec_from_text('[1,1,1]')) limit 1", "Plan": [ "TopN 1.00 root Column#8, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#8, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#8", @@ -92,7 +92,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '[1,1,1]') desc limit 1", "Plan": [ "TopN 1.00 root Column#7:desc, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7:desc, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -104,7 +104,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, vec_from_text('[1,1,1]')) desc limit 1", "Plan": [ "TopN 1.00 root Column#7:desc, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7:desc, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -116,7 +116,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '[1,1,1]')+1 limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, plus(vec_cosine_distance(test.t1.vec, [1,1,1]), 1)->Column#7", @@ -128,7 +128,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '[1,1,1]'),vec limit 1", "Plan": [ "TopN 1.00 root Column#7, test.t1.vec, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, test.t1.vec, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -140,7 +140,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_l2_distance(vec, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.vec, [1,1,1])->Column#7", @@ -152,7 +152,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_l1_distance(vec, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.vec, [1,1,1])->Column#7", @@ -164,7 +164,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_l2_distance(c, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.c, [1,1,1])->Column#7", @@ -176,7 +176,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_l2_distance(d, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.d, [1,1,1])->Column#7", @@ -188,7 +188,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(d, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.d, [1,1,1])->Column#7", @@ -200,7 +200,7 @@ "SQL": "explain format = 'brief' select * from t1 order by vec_l1_distance(d, '[1,1,1]') limit 1", "Plan": [ "TopN 1.00 root Column#7, offset:0, count:1", - "└─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.d, [1,1,1])->Column#7", @@ -212,7 +212,7 @@ "SQL": "explain format = 'brief' select vec_cosine_distance(vec, '[1,1,1]') as d from t1 order by d", "Plan": [ "Sort 48.00 root Column#7", - "└─TableReader 48.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 48.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 48.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 48.00 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", " └─TableFullScan 48.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" @@ -224,7 +224,7 @@ "Plan": [ "Projection 1.00 root vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN 1.00 root Column#9, offset:0, count:1", - " └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#9, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#9", @@ -237,7 +237,7 @@ "Plan": [ "Projection 1.00 root vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7, test.t1.vec, test.t1.a, test.t1.b", "└─TopN 1.00 root Column#9, offset:0, count:1", - " └─TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + " └─TableReader 1.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 1.00 mpp[tiflash] Column#9, offset:0, count:1", " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#9", @@ -249,7 +249,7 @@ "SQL": "explain format = 'brief' select * from t1 where a=0 order by vec_cosine_distance(vec, '[1,1,1]') limit 1", "Plan": [ "TopN 0.05 root Column#7, offset:0, count:1", - "└─TableReader 0.05 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 0.05 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 0.05 mpp[tiflash] ExchangeType: PassThrough", " └─TopN 0.05 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection 0.05 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -266,7 +266,7 @@ { "SQL": "explain select * from t1;", "Plan": [ - "TableReader_10 49152.00 root partition:all MppVersion: 2, data:ExchangeSender_9", + "TableReader_10 49152.00 root partition:all MppVersion: 3, data:ExchangeSender_9", "└─ExchangeSender_9 49152.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_8 49152.00 mpp[tiflash] table:t1 keep order:false, PartitionTableScan:true" ], @@ -275,7 +275,7 @@ { "SQL": "explain select * from t1 where a<1;", "Plan": [ - "TableReader_13 0.00 root partition:all MppVersion: 2, data:ExchangeSender_12", + "TableReader_13 0.00 root partition:all MppVersion: 3, data:ExchangeSender_12", "└─ExchangeSender_12 0.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 0.00 mpp[tiflash] table:t1 pushed down filter:lt(test.t1.a, 1), keep order:false, PartitionTableScan:true" ], @@ -284,7 +284,7 @@ { "SQL": "explain select * from t1 where vec = '[1,1,1]'", "Plan": [ - "TableReader_13 16384.00 root partition:all MppVersion: 2, data:ExchangeSender_12", + "TableReader_13 16384.00 root partition:all MppVersion: 3, data:ExchangeSender_12", "└─ExchangeSender_12 16384.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 16384.00 mpp[tiflash] table:t1 pushed down filter:eq(test.t1.vec, [1,1,1]), keep order:false, PartitionTableScan:true" ], @@ -296,7 +296,7 @@ "Projection_13 49152.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─Sort_4 49152.00 root Column#6", " └─Projection_14 49152.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", - " └─TableReader_12 49152.00 root partition:all MppVersion: 2, data:ExchangeSender_11", + " └─TableReader_12 49152.00 root partition:all MppVersion: 3, data:ExchangeSender_11", " └─ExchangeSender_11 49152.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 49152.00 mpp[tiflash] table:t1 keep order:false, PartitionTableScan:true" ], @@ -307,7 +307,7 @@ "Plan": [ "Projection_6 1.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_10 1.00 root Column#6, offset:0, count:1", - " └─TableReader_20 1.00 root partition:all MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 1.00 root partition:all MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_18 1.00 mpp[tiflash] Column#6, offset:0, count:1", " └─Projection_17 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -320,7 +320,7 @@ "Plan": [ "Projection_6 1.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_10 1.00 root Column#6:desc, offset:0, count:1", - " └─TableReader_19 1.00 root partition:all MppVersion: 2, data:ExchangeSender_18", + " └─TableReader_19 1.00 root partition:all MppVersion: 3, data:ExchangeSender_18", " └─ExchangeSender_18 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_17 1.00 mpp[tiflash] Column#6:desc, offset:0, count:1", " └─Projection_16 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -333,7 +333,7 @@ "Plan": [ "Projection_6 1.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_10 1.00 root Column#6:desc, offset:0, count:1", - " └─TableReader_19 1.00 root partition:all MppVersion: 2, data:ExchangeSender_18", + " └─TableReader_19 1.00 root partition:all MppVersion: 3, data:ExchangeSender_18", " └─ExchangeSender_18 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_17 1.00 mpp[tiflash] Column#6:desc, offset:0, count:1", " └─Projection_16 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -346,7 +346,7 @@ "Plan": [ "Projection_6 1.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_10 1.00 root Column#6, offset:0, count:1", - " └─TableReader_19 1.00 root partition:all MppVersion: 2, data:ExchangeSender_18", + " └─TableReader_19 1.00 root partition:all MppVersion: 3, data:ExchangeSender_18", " └─ExchangeSender_18 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_17 1.00 mpp[tiflash] Column#6, offset:0, count:1", " └─Projection_16 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, plus(vec_cosine_distance(test.t1.vec, [1,1,1]), 1)->Column#6", @@ -358,7 +358,7 @@ "SQL": "explain select vec_cosine_distance(vec, '[1,1,1]') as d from t1 order by d", "Plan": [ "Sort_4 49152.00 root Column#6", - "└─TableReader_13 49152.00 root partition:all MppVersion: 2, data:ExchangeSender_12", + "└─TableReader_13 49152.00 root partition:all MppVersion: 3, data:ExchangeSender_12", " └─ExchangeSender_12 49152.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 49152.00 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", " └─TableFullScan_11 49152.00 mpp[tiflash] table:t1 keep order:false, PartitionTableScan:true" @@ -370,7 +370,7 @@ "Plan": [ "Projection_6 1.00 root vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", "└─TopN_10 1.00 root Column#7, offset:0, count:1", - " └─TableReader_20 1.00 root partition:all MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 1.00 root partition:all MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_18 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection_17 1.00 mpp[tiflash] test.t1.vec, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -383,7 +383,7 @@ "Plan": [ "Projection_6 1.00 root vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6, test.t1.vec, test.t1.a, test.t1.b", "└─TopN_10 1.00 root Column#7, offset:0, count:1", - " └─TableReader_20 1.00 root partition:all MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 1.00 root partition:all MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_18 1.00 mpp[tiflash] Column#7, offset:0, count:1", " └─Projection_17 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", @@ -396,7 +396,7 @@ "Plan": [ "Projection_7 0.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_11 0.00 root Column#6, offset:0, count:1", - " └─TableReader_22 0.00 root partition:all MppVersion: 2, data:ExchangeSender_21", + " └─TableReader_22 0.00 root partition:all MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 0.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 0.00 mpp[tiflash] Column#6, offset:0, count:1", " └─Projection_19 0.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -409,7 +409,7 @@ "Plan": [ "Projection_7 0.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_11 0.00 root Column#6, offset:0, count:1", - " └─TableReader_22 0.00 root partition:p0,p1 MppVersion: 2, data:ExchangeSender_21", + " └─TableReader_22 0.00 root partition:p0,p1 MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 0.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 0.00 mpp[tiflash] Column#6, offset:0, count:1", " └─Projection_19 0.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -422,7 +422,7 @@ "Plan": [ "Projection_6 1.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id", "└─TopN_10 1.00 root Column#6, offset:0, count:1", - " └─TableReader_20 1.00 root partition:p0 MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 1.00 root partition:p0 MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_18 1.00 mpp[tiflash] Column#6, offset:0, count:1", " └─Projection_17 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.store_id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#6", @@ -438,7 +438,7 @@ { "SQL": "explain select id from t1", "Plan": [ - "TableReader_14 6000.00 root MppVersion: 2, data:ExchangeSender_13", + "TableReader_14 6000.00 root MppVersion: 3, data:ExchangeSender_13", "└─ExchangeSender_13 6000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_11 6000.00 mpp[tiflash] table:t1 keep order:false" ], @@ -448,7 +448,7 @@ "SQL": "explain select id from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_11 10.00 root Column#10, offset:0, count:10", - "└─TableReader_29 10.00 root MppVersion: 2, data:ExchangeSender_28", + "└─TableReader_29 10.00 root MppVersion: 3, data:ExchangeSender_28", " └─ExchangeSender_28 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_27 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_26 10.00 mpp[tiflash] test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -463,7 +463,7 @@ "└─Projection_14 6000.00 root test.t1.id, test.t1.vec", " └─Sort_7 6000.00 root Column#8", " └─Projection_15 6000.00 root test.t1.id, test.t1.vec, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#8", - " └─TableReader_12 6000.00 root MppVersion: 2, data:ExchangeSender_11", + " └─TableReader_12 6000.00 root MppVersion: 3, data:ExchangeSender_11", " └─ExchangeSender_11 6000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_10 6000.00 mpp[tiflash] table:t1 keep order:false" ], @@ -473,7 +473,7 @@ "SQL": "explain select * from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + "└─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#9", @@ -485,7 +485,7 @@ "SQL": "explain select id, a, b from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_11 10.00 root Column#12, offset:0, count:10", - "└─TableReader_29 10.00 root MppVersion: 2, data:ExchangeSender_28", + "└─TableReader_29 10.00 root MppVersion: 3, data:ExchangeSender_28", " └─ExchangeSender_28 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_27 10.00 mpp[tiflash] Column#12, offset:0, count:10", " └─Projection_26 10.00 mpp[tiflash] test.t1.id, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#12", @@ -498,7 +498,7 @@ "Plan": [ "Projection_7 10.00 root test.t1.a, test.t1.id, test.t1.b", "└─TopN_11 10.00 root Column#12, offset:0, count:10", - " └─TableReader_29 10.00 root MppVersion: 2, data:ExchangeSender_28", + " └─TableReader_29 10.00 root MppVersion: 3, data:ExchangeSender_28", " └─ExchangeSender_28 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_27 10.00 mpp[tiflash] Column#12, offset:0, count:10", " └─Projection_26 10.00 mpp[tiflash] test.t1.id, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#12", @@ -511,7 +511,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_10 10.00 root Column#10, offset:0, count:10", - " └─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + " └─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -523,7 +523,7 @@ "SQL": "explain select id, vec_cosine_distance(vec, '[1,1,1]') as d from t1 order by d", "Plan": [ "Sort_4 6000.00 root Column#7", - "└─TableReader_17 6000.00 root MppVersion: 2, data:ExchangeSender_16", + "└─TableReader_17 6000.00 root MppVersion: 3, data:ExchangeSender_16", " └─ExchangeSender_16 6000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 6000.00 mpp[tiflash] test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", " └─TableFullScan_14 6000.00 mpp[tiflash] table:t1 keep order:false" @@ -535,7 +535,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_10 10.00 root Column#10, offset:0, count:10", - " └─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + " └─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -548,7 +548,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7, test.t1.a, test.t1.b", "└─TopN_10 10.00 root Column#10, offset:0, count:10", - " └─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + " └─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -561,7 +561,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_10 10.00 root Column#10, offset:0, count:10", - " └─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + " └─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -706,7 +706,7 @@ "SQL": "explain select id from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_11 10.00 root Column#10, offset:0, count:10", - "└─TableReader_29 10.00 root MppVersion: 2, data:ExchangeSender_28", + "└─TableReader_29 10.00 root MppVersion: 3, data:ExchangeSender_28", " └─ExchangeSender_28 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_27 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_26 10.00 mpp[tiflash] test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -718,7 +718,7 @@ "SQL": "explain select id from t1 order by vec_l1_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_23 10.00 root MppVersion: 2, data:ExchangeSender_22", + "└─TableReader_23 10.00 root MppVersion: 3, data:ExchangeSender_22", " └─ExchangeSender_22 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_21 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_20 10.00 mpp[tiflash] test.t1.id, vec_l1_distance(test.t1.vec, [1,1,1])->Column#9", @@ -730,7 +730,7 @@ "SQL": "explain select id from t1 order by vec_l2_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_23 10.00 root MppVersion: 2, data:ExchangeSender_22", + "└─TableReader_23 10.00 root MppVersion: 3, data:ExchangeSender_22", " └─ExchangeSender_22 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_21 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_20 10.00 mpp[tiflash] test.t1.id, vec_l2_distance(test.t1.vec, [1,1,1])->Column#9", @@ -742,7 +742,7 @@ "SQL": "explain select id from t1 order by vec_negative_inner_product(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_23 10.00 root MppVersion: 2, data:ExchangeSender_22", + "└─TableReader_23 10.00 root MppVersion: 3, data:ExchangeSender_22", " └─ExchangeSender_22 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_21 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_20 10.00 mpp[tiflash] test.t1.id, vec_negative_inner_product(test.t1.vec, [1,1,1])->Column#9", @@ -754,7 +754,7 @@ "SQL": "explain select id from t1 order by vec_dims(vec) limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + "└─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, vec_dims(test.t1.vec)->Column#9", @@ -766,7 +766,7 @@ "SQL": "explain select id from t1 order by vec_l2_norm(vec) limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + "└─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, vec_l2_norm(test.t1.vec)->Column#9", @@ -780,7 +780,7 @@ "Projection_23 10.00 root test.t1.id", "└─TopN_10 10.00 root Column#9, offset:0, count:10", " └─Projection_24 10.00 root test.t1.id, test.t1.a, mod(test.t1.a, 3)->Column#9", - " └─TableReader_20 10.00 root MppVersion: 2, data:ExchangeSender_19", + " └─TableReader_20 10.00 root MppVersion: 3, data:ExchangeSender_19", " └─ExchangeSender_19 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_21 10.00 mpp[tiflash] test.t1.id, test.t1.a", " └─TopN_18 10.00 mpp[tiflash] Column#8, offset:0, count:10", @@ -794,7 +794,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_10 10.00 root Column#10, offset:0, count:10", - " └─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + " └─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#10, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#10", @@ -807,7 +807,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_l1_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_9 10.00 root Column#9, offset:0, count:10", - " └─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + " └─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_l1_distance(test.t1.vec, [1,1,1])->Column#9", @@ -820,7 +820,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_l2_distance(test.t1.vec, [1,1,1])->Column#7", "└─TopN_9 10.00 root Column#9, offset:0, count:10", - " └─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + " └─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_l2_distance(test.t1.vec, [1,1,1])->Column#9", @@ -833,7 +833,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_negative_inner_product(test.t1.vec, [1,1,1])->Column#7", "└─TopN_9 10.00 root Column#9, offset:0, count:10", - " └─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + " └─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_negative_inner_product(test.t1.vec, [1,1,1])->Column#9", @@ -846,7 +846,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_dims(test.t1.vec)->Column#7", "└─TopN_9 10.00 root Column#9, offset:0, count:10", - " └─TableReader_21 10.00 root MppVersion: 2, data:ExchangeSender_20", + " └─TableReader_21 10.00 root MppVersion: 3, data:ExchangeSender_20", " └─ExchangeSender_20 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_19 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_18 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_dims(test.t1.vec)->Column#9", @@ -859,7 +859,7 @@ "Plan": [ "Projection_6 10.00 root test.t1.id, vec_l2_norm(test.t1.vec)->Column#7", "└─TopN_9 10.00 root Column#9, offset:0, count:10", - " └─TableReader_21 10.00 root MppVersion: 2, data:ExchangeSender_20", + " └─TableReader_21 10.00 root MppVersion: 3, data:ExchangeSender_20", " └─ExchangeSender_20 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_19 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_18 10.00 mpp[tiflash] test.t1.id, test.t1.vec, vec_l2_norm(test.t1.vec)->Column#9", @@ -874,7 +874,7 @@ "└─Projection_22 10.00 root test.t1.id, test.t1.a", " └─TopN_9 10.00 root Column#9, offset:0, count:10", " └─Projection_23 10.00 root test.t1.id, test.t1.a, mod(test.t1.a, 3)->Column#9", - " └─TableReader_19 10.00 root MppVersion: 2, data:ExchangeSender_18", + " └─TableReader_19 10.00 root MppVersion: 3, data:ExchangeSender_18", " └─ExchangeSender_18 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_20 10.00 mpp[tiflash] test.t1.id, test.t1.a", " └─TopN_17 10.00 mpp[tiflash] Column#8, offset:0, count:10", @@ -887,7 +887,7 @@ "SQL": "explain select * from t1 order by vec_cosine_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_10 10.00 root Column#9, offset:0, count:10", - "└─TableReader_28 10.00 root MppVersion: 2, data:ExchangeSender_27", + "└─TableReader_28 10.00 root MppVersion: 3, data:ExchangeSender_27", " └─ExchangeSender_27 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_26 10.00 mpp[tiflash] Column#9, offset:0, count:10", " └─Projection_25 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#9", @@ -899,7 +899,7 @@ "SQL": "explain select * from t1 order by vec_l1_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_9 10.00 root Column#8, offset:0, count:10", - "└─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + "└─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#8, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.vec, [1,1,1])->Column#8", @@ -911,7 +911,7 @@ "SQL": "explain select * from t1 order by vec_l2_distance(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_9 10.00 root Column#8, offset:0, count:10", - "└─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + "└─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#8, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.vec, [1,1,1])->Column#8", @@ -923,7 +923,7 @@ "SQL": "explain select * from t1 order by vec_negative_inner_product(vec, '[1,1,1]') limit 10", "Plan": [ "TopN_9 10.00 root Column#8, offset:0, count:10", - "└─TableReader_22 10.00 root MppVersion: 2, data:ExchangeSender_21", + "└─TableReader_22 10.00 root MppVersion: 3, data:ExchangeSender_21", " └─ExchangeSender_21 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_20 10.00 mpp[tiflash] Column#8, offset:0, count:10", " └─Projection_19 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_negative_inner_product(test.t1.vec, [1,1,1])->Column#8", @@ -935,7 +935,7 @@ "SQL": "explain select * from t1 order by vec_dims(vec) limit 10", "Plan": [ "TopN_9 10.00 root Column#8, offset:0, count:10", - "└─TableReader_21 10.00 root MppVersion: 2, data:ExchangeSender_20", + "└─TableReader_21 10.00 root MppVersion: 3, data:ExchangeSender_20", " └─ExchangeSender_20 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_19 10.00 mpp[tiflash] Column#8, offset:0, count:10", " └─Projection_18 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_dims(test.t1.vec)->Column#8", @@ -947,7 +947,7 @@ "SQL": "explain select * from t1 order by vec_l2_norm(vec) limit 10", "Plan": [ "TopN_9 10.00 root Column#8, offset:0, count:10", - "└─TableReader_21 10.00 root MppVersion: 2, data:ExchangeSender_20", + "└─TableReader_21 10.00 root MppVersion: 3, data:ExchangeSender_20", " └─ExchangeSender_20 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─TopN_19 10.00 mpp[tiflash] Column#8, offset:0, count:10", " └─Projection_18 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_norm(test.t1.vec)->Column#8", @@ -961,7 +961,7 @@ "Projection_22 10.00 root test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d", "└─TopN_9 10.00 root Column#8, offset:0, count:10", " └─Projection_23 10.00 root test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, mod(test.t1.a, 3)->Column#8", - " └─TableReader_19 10.00 root MppVersion: 2, data:ExchangeSender_18", + " └─TableReader_19 10.00 root MppVersion: 3, data:ExchangeSender_18", " └─ExchangeSender_18 10.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_20 10.00 mpp[tiflash] test.t1.id, test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d", " └─TopN_17 10.00 mpp[tiflash] Column#7, offset:0, count:10", diff --git a/pkg/planner/core/casetest/windows/testdata/window_push_down_suite_out.json b/pkg/planner/core/casetest/windows/testdata/window_push_down_suite_out.json index e5866b6ee4cb9..b17c7e75124fe 100644 --- a/pkg/planner/core/casetest/windows/testdata/window_push_down_suite_out.json +++ b/pkg/planner/core/casetest/windows/testdata/window_push_down_suite_out.json @@ -10,7 +10,7 @@ { "SQL": "explain select *, row_number() over () FROM employee -- 1. empty partition", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] row_number()->Column#6 over(rows between current row and current row)", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -22,7 +22,7 @@ { "SQL": "explain select *, row_number() over (order by salary) FROM employee -- 1.1 empty partition with sort", "Plan": [ - "TableReader_24 10000.00 root MppVersion: 2, data:ExchangeSender_23", + "TableReader_24 10000.00 root MppVersion: 3, data:ExchangeSender_23", "└─ExchangeSender_23 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_22 10000.00 mpp[tiflash] row_number()->Column#6 over(order by test.employee.salary rows between current row and current row)", " └─Sort_13 10000.00 mpp[tiflash] test.employee.salary", @@ -35,7 +35,7 @@ { "SQL": "explain select *, row_number() over (partition by deptid) FROM employee -- 2. column partition key", "Plan": [ - "TableReader_25 10000.00 root MppVersion: 2, data:ExchangeSender_24", + "TableReader_25 10000.00 root MppVersion: 3, data:ExchangeSender_24", "└─ExchangeSender_24 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_23 10000.00 mpp[tiflash] row_number()->Column#6 over(partition by test.employee.deptid rows between current row and current row), stream_count: 8", " └─Sort_13 10000.00 mpp[tiflash] test.employee.deptid, stream_count: 8", @@ -48,7 +48,7 @@ { "SQL": "explain select *, row_number() over (partition by deptid+1) FROM employee -- 3. expression partition key", "Plan": [ - "TableReader_31 10000.00 root MppVersion: 2, data:ExchangeSender_30", + "TableReader_31 10000.00 root MppVersion: 3, data:ExchangeSender_30", "└─ExchangeSender_30 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 10000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#7, stream_count: 8", " └─Window_29 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by Column#6 rows between current row and current row), stream_count: 8", @@ -63,7 +63,7 @@ { "SQL": "explain select *, row_number() over (partition by deptid ORDER BY salary desc) FROM employee -- 3.1 with sort key", "Plan": [ - "TableReader_25 10000.00 root MppVersion: 2, data:ExchangeSender_24", + "TableReader_25 10000.00 root MppVersion: 3, data:ExchangeSender_24", "└─ExchangeSender_24 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_23 10000.00 mpp[tiflash] row_number()->Column#6 over(partition by test.employee.deptid order by test.employee.salary desc rows between current row and current row), stream_count: 8", " └─Sort_13 10000.00 mpp[tiflash] test.employee.deptid, test.employee.salary:desc, stream_count: 8", @@ -76,7 +76,7 @@ { "SQL": "explain select *, rank() over w, dense_rank() over w from employee window w as (partition by deptid) -- 4. same kinds, multi function, same window", "Plan": [ - "TableReader_25 10000.00 root MppVersion: 2, data:ExchangeSender_24", + "TableReader_25 10000.00 root MppVersion: 3, data:ExchangeSender_24", "└─ExchangeSender_24 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_23 10000.00 mpp[tiflash] rank()->Column#7, dense_rank()->Column#8 over(partition by test.employee.deptid), stream_count: 8", " └─Sort_13 10000.00 mpp[tiflash] test.employee.deptid, stream_count: 8", @@ -89,7 +89,7 @@ { "SQL": "explain select *, row_number() over w, rank() over w from employee window w as (partition by deptid) -- 5. different kinds, multi functions, same window", "Plan": [ - "TableReader_37 10000.00 root MppVersion: 2, data:ExchangeSender_36", + "TableReader_37 10000.00 root MppVersion: 3, data:ExchangeSender_36", "└─ExchangeSender_36 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_9 10000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#8, Column#7, stream_count: 8", " └─Window_35 10000.00 mpp[tiflash] row_number()->Column#8 over(partition by test.employee.deptid rows between current row and current row), stream_count: 8", @@ -104,7 +104,7 @@ { "SQL": "explain select *, rank() over () FROM (select *, row_number() over () a from employee) tmp -- 6. multi window from sub query", "Plan": [ - "TableReader_41 10000.00 root MppVersion: 2, data:ExchangeSender_40", + "TableReader_41 10000.00 root MppVersion: 3, data:ExchangeSender_40", "└─ExchangeSender_40 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_39 10000.00 mpp[tiflash] rank()->Column#8 over()", " └─Window_14 10000.00 mpp[tiflash] row_number()->Column#6 over(rows between current row and current row)", @@ -117,7 +117,7 @@ { "SQL": "explain select *, rank() over (partition by deptid) FROM (select *, row_number() over () a from employee) tmp -- 6.1 multi window from sub query", "Plan": [ - "TableReader_42 10000.00 root MppVersion: 2, data:ExchangeSender_41", + "TableReader_42 10000.00 root MppVersion: 3, data:ExchangeSender_41", "└─ExchangeSender_41 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_40 10000.00 mpp[tiflash] rank()->Column#8 over(partition by test.employee.deptid), stream_count: 8", " └─Sort_20 10000.00 mpp[tiflash] test.employee.deptid, stream_count: 8", @@ -141,7 +141,7 @@ " └─Window_14 10000.00 root row_number()->Column#7 over(order by Column#6 rows between current row and current row)", " └─Sort_25 10000.00 root Column#6", " └─Projection_19 10000.00 root test.employee.empid, test.employee.deptid, test.employee.salary, md5(cast(test.employee.deptid, var_string(20)))->Column#6", - " └─TableReader_24 10000.00 root MppVersion: 2, data:ExchangeSender_23", + " └─TableReader_24 10000.00 root MppVersion: 3, data:ExchangeSender_23", " └─ExchangeSender_23 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_22 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -155,7 +155,7 @@ { "SQL": "explain select deptid, row_number() OVER() from (select deptid from employee group by deptid) t;", "Plan": [ - "TableReader_78 8000.00 root MppVersion: 2, data:ExchangeSender_77", + "TableReader_78 8000.00 root MppVersion: 3, data:ExchangeSender_77", "└─ExchangeSender_77 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_76 8000.00 mpp[tiflash] row_number()->Column#6 over(rows between current row and current row)", " └─ExchangeReceiver_26 8000.00 mpp[tiflash] ", @@ -182,7 +182,7 @@ { "SQL": "explain select *, row_number() over () FROM employee -- 1. pure window functions", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] row_number()->Column#6 over(rows between current row and current row)", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -194,7 +194,7 @@ { "SQL": "explain select *, rank() over () FROM employee", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] rank()->Column#6 over()", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -206,7 +206,7 @@ { "SQL": "explain select *, dense_rank() over () FROM employee", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] dense_rank()->Column#6 over()", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -218,7 +218,7 @@ { "SQL": "explain select *, lead(empid) over () FROM employee", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] lead(test.employee.empid)->Column#6 over()", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -230,7 +230,7 @@ { "SQL": "explain select *, lag(empid) over () FROM employee", "Plan": [ - "TableReader_27 10000.00 root MppVersion: 2, data:ExchangeSender_26", + "TableReader_27 10000.00 root MppVersion: 3, data:ExchangeSender_26", "└─ExchangeSender_26 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_25 10000.00 mpp[tiflash] lag(test.employee.empid)->Column#6 over()", " └─ExchangeReceiver_12 10000.00 mpp[tiflash] ", @@ -243,7 +243,7 @@ "SQL": "explain select *, sum(empid) over () FROM employee -- 2. agg functions", "Plan": [ "Window_8 10000.00 root sum(cast(test.employee.empid, decimal(10,0) BINARY))->Column#6 over()", - "└─TableReader_18 10000.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18 10000.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -256,7 +256,7 @@ "SQL": "explain select *, count(empid) over () FROM employee", "Plan": [ "Window_8 10000.00 root count(test.employee.empid)->Column#6 over()", - "└─TableReader_18 10000.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18 10000.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -269,7 +269,7 @@ "SQL": "explain select *, min(empid) over () FROM employee", "Plan": [ "Window_8 10000.00 root min(test.employee.empid)->Column#6 over()", - "└─TableReader_18 10000.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18 10000.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -282,7 +282,7 @@ "SQL": "explain select *, max(empid) over () FROM employee", "Plan": [ "Window_8 10000.00 root max(test.employee.empid)->Column#6 over()", - "└─TableReader_18 10000.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18 10000.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -295,7 +295,7 @@ "SQL": "explain select *, avg(empid) over () FROM employee", "Plan": [ "Window_8 10000.00 root avg(cast(test.employee.empid, decimal(10,0) BINARY))->Column#6 over()", - "└─TableReader_18 10000.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18 10000.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -307,7 +307,7 @@ { "SQL": "explain select *, row_number() over (partition by empid order by salary RANGE between 1 preceding and 1 following) FROM employee -- 3. range frame", "Plan": [ - "TableReader_25 10000.00 root MppVersion: 2, data:ExchangeSender_24", + "TableReader_25 10000.00 root MppVersion: 3, data:ExchangeSender_24", "└─ExchangeSender_24 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_23 10000.00 mpp[tiflash] row_number()->Column#6 over(partition by test.employee.empid order by test.employee.salary rows between current row and current row), stream_count: 8", " └─Sort_13 10000.00 mpp[tiflash] test.employee.empid, test.employee.salary, stream_count: 8", @@ -326,7 +326,7 @@ "└─Window_8 10000.00 root sum(test.employee.salary)->Column#6 over(partition by test.employee.empid order by test.employee.salary range between 1 preceding and 1 following)", " └─Sort_14 10000.00 root test.employee.empid, test.employee.salary", " └─ShuffleReceiver_16 10000.00 root ", - " └─TableReader_13 10000.00 root MppVersion: 2, data:ExchangeSender_12", + " └─TableReader_13 10000.00 root MppVersion: 3, data:ExchangeSender_12", " └─ExchangeSender_12 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_11 10000.00 mpp[tiflash] table:employee keep order:false, stats:pseudo" ], @@ -348,7 +348,7 @@ { "SQL": "explain select *, row_number() over () from (select count(distinct empid) from employee) t", "Plan": [ - "TableReader_63 1.00 root MppVersion: 2, data:ExchangeSender_62", + "TableReader_63 1.00 root MppVersion: 3, data:ExchangeSender_62", "└─ExchangeSender_62 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_61 1.00 mpp[tiflash] row_number()->Column#7 over(rows between current row and current row)", " └─Projection_15 1.00 mpp[tiflash] Column#5", @@ -366,7 +366,7 @@ { "SQL": "explain select *, row_number() over () from (select count(empid) from employee group by deptid) t", "Plan": [ - "TableReader_78 8000.00 root MppVersion: 2, data:ExchangeSender_77", + "TableReader_78 8000.00 root MppVersion: 3, data:ExchangeSender_77", "└─ExchangeSender_77 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_76 8000.00 mpp[tiflash] row_number()->Column#7 over(rows between current row and current row)", " └─ExchangeReceiver_26 8000.00 mpp[tiflash] ", @@ -383,7 +383,7 @@ { "SQL": "explain select *, row_number() over (partition by a) from (select count(distinct empid) a from employee) t", "Plan": [ - "TableReader_51 1.00 root MppVersion: 2, data:ExchangeSender_50", + "TableReader_51 1.00 root MppVersion: 3, data:ExchangeSender_50", "└─ExchangeSender_50 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_49 1.00 mpp[tiflash] row_number()->Column#7 over(partition by Column#5 rows between current row and current row), stream_count: 8", " └─Sort_22 1.00 mpp[tiflash] Column#5, stream_count: 8", @@ -404,7 +404,7 @@ { "SQL": "explain select *, row_number() over (partition by deptid) from (select count(empid), deptid from employee group by deptid) t", "Plan": [ - "TableReader_62 8000.00 root MppVersion: 2, data:ExchangeSender_61", + "TableReader_62 8000.00 root MppVersion: 3, data:ExchangeSender_61", "└─ExchangeSender_61 8000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_60 8000.00 mpp[tiflash] row_number()->Column#7 over(partition by test.employee.deptid rows between current row and current row)", " └─Sort_24 8000.00 mpp[tiflash] test.employee.deptid", @@ -420,7 +420,7 @@ { "SQL": "explain select count(distinct empid) from (select *, row_number() over () from employee) t", "Plan": [ - "TableReader_41 1.00 root MppVersion: 2, data:ExchangeSender_40", + "TableReader_41 1.00 root MppVersion: 3, data:ExchangeSender_40", "└─ExchangeSender_40 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_39 1.00 mpp[tiflash] Column#7", " └─HashAgg_38 1.00 mpp[tiflash] funcs:count(distinct test.employee.empid)->Column#7", @@ -434,7 +434,7 @@ { "SQL": "explain select count(distinct empid) from (select *, row_number() over (partition by deptid) from employee) t", "Plan": [ - "TableReader_50 1.00 root MppVersion: 2, data:ExchangeSender_49", + "TableReader_50 1.00 root MppVersion: 3, data:ExchangeSender_49", "└─ExchangeSender_49 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_43 1.00 mpp[tiflash] Column#7", " └─HashAgg_44 1.00 mpp[tiflash] funcs:sum(Column#9)->Column#7", @@ -455,7 +455,7 @@ { "SQL": "explain select count(empid) from (select *, row_number() over () a from employee) t group by a", "Plan": [ - "TableReader_58 10000.00 root MppVersion: 2, data:ExchangeSender_57", + "TableReader_58 10000.00 root MppVersion: 3, data:ExchangeSender_57", "└─ExchangeSender_57 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_52 10000.00 mpp[tiflash] Column#7", " └─HashAgg_50 10000.00 mpp[tiflash] group by:Column#6, funcs:count(test.employee.empid)->Column#7", @@ -469,7 +469,7 @@ { "SQL": "explain select count(empid) from (select *, row_number() over (partition by deptid) a from employee) t group by a", "Plan": [ - "TableReader_55 10000.00 root MppVersion: 2, data:ExchangeSender_54", + "TableReader_55 10000.00 root MppVersion: 3, data:ExchangeSender_54", "└─ExchangeSender_54 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_50 10000.00 mpp[tiflash] Column#7", " └─HashAgg_51 10000.00 mpp[tiflash] group by:Column#6, funcs:sum(Column#10)->Column#7", @@ -487,7 +487,7 @@ { "SQL": "explain select row_number() over w2, row_number() over w1 from employee window w2 as (order by deptid), w1 as (partition by deptid);", "Plan": [ - "TableReader_38 10000.00 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 10000.00 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_10 10000.00 mpp[tiflash] Column#8->Column#9, Column#7->Column#10", " └─Window_36 10000.00 mpp[tiflash] row_number()->Column#8 over(order by test.employee.deptid rows between current row and current row)", diff --git a/pkg/planner/core/integration_test.go b/pkg/planner/core/integration_test.go index 635db5f26e221..4528bff107fc9 100644 --- a/pkg/planner/core/integration_test.go +++ b/pkg/planner/core/integration_test.go @@ -226,7 +226,7 @@ func TestTimeToSecPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "10000.00", "root", " MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "10000.00", "root", " MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "10000.00", "mpp[tiflash]", " ExchangeType: PassThrough"}, {" └─Projection_4", "10000.00", "mpp[tiflash]", " time_to_sec(test.t.a)->Column#3"}, {" └─TableFullScan_8", "10000.00", "mpp[tiflash]", "table:t", "keep order:false, stats:pseudo"}, @@ -256,7 +256,7 @@ func TestRightShiftPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "rightshift(test.t.a, test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -692,7 +692,7 @@ func TestReverseUTF8PushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "reverse(test.t.a)->Column#3"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -722,7 +722,7 @@ func TestReversePushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "reverse(test.t.a)->Column#3"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -752,7 +752,7 @@ func TestSpacePushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "space(test.t.a)->Column#3"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -948,7 +948,7 @@ func TestIssue31202(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} tk.MustQuery("explain format = 'brief' select * from t31202;").Check(testkit.Rows( - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan 10000.00 mpp[tiflash] table:t31202 keep order:false, stats:pseudo")) @@ -1196,7 +1196,7 @@ func TestRepeatPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "repeat(cast(test.t.a, var_string(20)), test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1231,7 +1231,7 @@ func TestIssue36194(t *testing.T) { } tk.MustQuery("explain format = 'brief' select /*+ read_from_storage(tiflash[t]) */ * from t where a + 1 > 20 limit 100;;").Check(testkit.Rows( "Limit 100.00 root offset:0, count:100", - "└─TableReader 100.00 root MppVersion: 2, data:ExchangeSender", + "└─TableReader 100.00 root MppVersion: 3, data:ExchangeSender", " └─ExchangeSender 100.00 mpp[tiflash] ExchangeType: PassThrough", " └─Limit 100.00 mpp[tiflash] offset:0, count:100", " └─Selection 100.00 mpp[tiflash] gt(plus(test.t.a, 1), 20)", @@ -1254,7 +1254,7 @@ func TestGetFormatPushDownToTiFlash(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} tk.MustQuery("explain format = 'brief' select GET_FORMAT(DATE, location) from t;").Check(testkit.Rows( - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 10000.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 10000.00 mpp[tiflash] get_format(DATE, test.t.location)->Column#3", " └─TableFullScan 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo")) @@ -1328,7 +1328,7 @@ func TestLeftShiftPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "leftshift(test.t.a, test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1353,7 +1353,7 @@ func TestHexIntOrStrPushDownToTiFlash(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "hex(test.t.a)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1361,7 +1361,7 @@ func TestHexIntOrStrPushDownToTiFlash(t *testing.T) { tk.MustQuery("explain select hex(a) from t;").CheckAt([]int{0, 2, 4}, rows) rows = [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "hex(test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1386,7 +1386,7 @@ func TestBinPushDownToTiFlash(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "bin(test.t.a)->Column#3"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1416,7 +1416,7 @@ func TestEltPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "elt(test.t.a, test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1445,7 +1445,7 @@ func TestRegexpInstrPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "regexp_instr(test.t.expr, test.t.pattern, 1, 1, 0, test.t.match_type)->Column#8"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1474,7 +1474,7 @@ func TestRegexpSubstrPushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "regexp_substr(test.t.expr, test.t.pattern, 1, 1, test.t.match_type)->Column#7"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1503,7 +1503,7 @@ func TestRegexpReplacePushDownToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "regexp_replace(test.t.expr, test.t.pattern, test.t.repl, 1, 1, test.t.match_type)->Column#8"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1536,7 +1536,7 @@ func TestCastTimeAsDurationToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "cast(test.t.a, time BINARY)->Column#4, cast(test.t.b, time BINARY)->Column#5"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1561,7 +1561,7 @@ func TestUnhexPushDownToTiFlash(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "unhex(cast(test.t.a, var_string(20)))->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1569,7 +1569,7 @@ func TestUnhexPushDownToTiFlash(t *testing.T) { tk.MustQuery("explain select unhex(a) from t;").CheckAt([]int{0, 2, 4}, rows) rows = [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "unhex(test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1594,7 +1594,7 @@ func TestLeastGretestStringPushDownToTiFlash(t *testing.T) { tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true} rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "least(test.t.a, test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1602,7 +1602,7 @@ func TestLeastGretestStringPushDownToTiFlash(t *testing.T) { tk.MustQuery("explain select least(a, b) from t;").CheckAt([]int{0, 2, 4}, rows) rows = [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "greatest(test.t.a, test.t.b)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1914,7 +1914,7 @@ func TestIsIPv4ToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "is_ipv4(test.t.v4)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -1945,7 +1945,7 @@ func TestIsIPv6ToTiFlash(t *testing.T) { } rows := [][]any{ - {"TableReader_10", "root", "MppVersion: 2, data:ExchangeSender_9"}, + {"TableReader_10", "root", "MppVersion: 3, data:ExchangeSender_9"}, {"└─ExchangeSender_9", "mpp[tiflash]", "ExchangeType: PassThrough"}, {" └─Projection_4", "mpp[tiflash]", "is_ipv6(test.t.v6)->Column#4"}, {" └─TableFullScan_8", "mpp[tiflash]", "keep order:false, stats:pseudo"}, @@ -2052,7 +2052,7 @@ func TestWindowRangeFramePushDownTiflash(t *testing.T) { tk.MustExec(`set @@tidb_max_tiflash_threads=20`) tk.MustQuery("explain select *, first_value(v) over (partition by p order by o range between 3 preceding and 0 following) as a from test.first_range;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o range between 3 preceding and 0 following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range.p, test.first_range.o, stream_count: 20", @@ -2061,7 +2061,7 @@ func TestWindowRangeFramePushDownTiflash(t *testing.T) { " └─TableFullScan_10 10000.00 mpp[tiflash] table:first_range keep order:false, stats:pseudo")) tk.MustQuery("explain select *, first_value(v) over (partition by p order by o range between 3 preceding and 2.9E0 following) as a from test.first_range;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o range between 3 preceding and 2.9 following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range.p, test.first_range.o, stream_count: 20", @@ -2070,7 +2070,7 @@ func TestWindowRangeFramePushDownTiflash(t *testing.T) { " └─TableFullScan_10 10000.00 mpp[tiflash] table:first_range keep order:false, stats:pseudo")) tk.MustQuery("explain select *, first_value(v) over (partition by p order by o range between 2.3 preceding and 0 following) as a from test.first_range_d64;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range_d64.v)->Column#6 over(partition by test.first_range_d64.p order by test.first_range_d64.o range between 2.3 preceding and 0 following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range_d64.p, test.first_range_d64.o, stream_count: 20", @@ -2079,7 +2079,7 @@ func TestWindowRangeFramePushDownTiflash(t *testing.T) { " └─TableFullScan_10 10000.00 mpp[tiflash] table:first_range_d64 keep order:false, stats:pseudo")) tk.MustQuery("explain select *, first_value(v) over (partition by p order by o_datetime range between interval 1 day preceding and interval 1 day following) as a from test.first_range;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o_datetime range between interval 1 \"DAY\" preceding and interval 1 \"DAY\" following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range.p, test.first_range.o_datetime, stream_count: 20", @@ -2092,7 +2092,7 @@ func TestWindowRangeFramePushDownTiflash(t *testing.T) { "└─Window_8 10000.00 root first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o_time range between interval 1 \"DAY\" preceding and interval 1 \"DAY\" following)", " └─Sort_12 10000.00 root test.first_range.p, test.first_range.o_time", " └─ShuffleReceiver_14 10000.00 root ", - " └─TableReader_11 10000.00 root MppVersion: 2, data:ExchangeSender_10", + " └─TableReader_11 10000.00 root MppVersion: 3, data:ExchangeSender_10", " └─ExchangeSender_10 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_9 10000.00 mpp[tiflash] table:first_range keep order:false, stats:pseudo")) } diff --git a/pkg/planner/core/testdata/runtime_filter_generator_suite_out.json b/pkg/planner/core/testdata/runtime_filter_generator_suite_out.json index 1d31c342c1188..cd71037ea4168 100644 --- a/pkg/planner/core/testdata/runtime_filter_generator_suite_out.json +++ b/pkg/planner/core/testdata/runtime_filter_generator_suite_out.json @@ -5,7 +5,7 @@ { "SQL": "select /*+ hash_join_build(t1) */ * from t1, t2 where t1.k1=t2.k1 and t2.k2 = 1", "Plan": [ - "TableReader_32 1.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 1.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_24 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.k1, test.t2.k1)], runtime filter:0[IN] <- test.t1.k1", " ├─ExchangeReceiver_28(Build) 1.00 mpp[tiflash] ", @@ -19,7 +19,7 @@ { "SQL": "format='brief' select /*+ hash_join_build(t1) */ * from t1, t2 where t1.k1=t2.k1 and t1.k1=t2.k2", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.k1, test.t2.k1) eq(test.t1.k1, test.t2.k2)], runtime filter:0[IN] <- test.t1.k1, 1[IN] <- test.t1.k1", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -33,7 +33,7 @@ { "SQL": "select /*+ shuffle_join(t1, t2) */ * from t1, t2 where t1.k1=t2.k1; -- Global doesn't support", "Plan": [ - "TableReader_21 1.00 root MppVersion: 2, data:ExchangeSender_20", + "TableReader_21 1.00 root MppVersion: 3, data:ExchangeSender_20", "└─ExchangeSender_20 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_19 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.k1, test.t2.k1)]", " ├─ExchangeReceiver_12(Build) 1.00 mpp[tiflash] ", @@ -49,7 +49,7 @@ { "SQL": "select /*+ broadcast_join(t2, t1), hash_join_build(t2) */ * from t2, (select k1 from t1 group by k1) t1 where t1.k1=t2.k1; -- Global doesn't support", "Plan": [ - "TableReader_32 1.00 root MppVersion: 2, data:ExchangeSender_31", + "TableReader_32 1.00 root MppVersion: 3, data:ExchangeSender_31", "└─ExchangeSender_31 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_30 1.00 mpp[tiflash] inner join, equal:[eq(test.t2.k1, test.t1.k1)]", " ├─ExchangeReceiver_14(Build) 1.00 mpp[tiflash] ", @@ -67,7 +67,7 @@ { "SQL": "select /*+ broadcast_join(t1, t2), hash_join_build(t1) */ * from t1, t2 where t1.k1=t2.k1; -- t1 is build side", "Plan": [ - "TableReader_19 1.00 root MppVersion: 2, data:ExchangeSender_18", + "TableReader_19 1.00 root MppVersion: 3, data:ExchangeSender_18", "└─ExchangeSender_18 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_17 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.k1, test.t2.k1)], runtime filter:0[IN] <- test.t1.k1", " ├─ExchangeReceiver_12(Build) 1.00 mpp[tiflash] ", @@ -82,7 +82,7 @@ "SQL": "select * from t1_tikv as t1, t2 where t1.k1=t2.k1; -- Doesn't support hash join in root", "Plan": [ "HashJoin_7 1.25 root inner join, equal:[eq(test.t1_tikv.k1, test.t2.k1)]", - "├─TableReader_18(Build) 1.00 root MppVersion: 2, data:ExchangeSender_17", + "├─TableReader_18(Build) 1.00 root MppVersion: 3, data:ExchangeSender_17", "│ └─ExchangeSender_17 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─Selection_16 1.00 mpp[tiflash] not(isnull(test.t2.k1))", "│ └─TableFullScan_15 1.00 mpp[tiflash] table:t2 pushed down filter:empty, keep order:false", @@ -94,7 +94,7 @@ { "SQL": "format='brief' select /*+ broadcast_join(t1, t2), hash_join_build(t1) */ * from t1, t2 where t1.k1+1=t2.k1; -- Support transform src expression t1.k1+1", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] test.t1.k1, test.t2.k1, test.t2.k2, test.t2.k3", " └─HashJoin 1.00 mpp[tiflash] inner join, equal:[eq(Column#7, test.t2.k1)], runtime filter:0[IN] <- Column#7", @@ -108,7 +108,7 @@ { "SQL": "format='brief' select /*+ broadcast_join(t2, t1), hash_join_build(t2) */ * from t2, (select k1, k1+1 as k11 from t1) t1 where t1.k1=t2.k1; -- Only support origin column k1", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 1.00 mpp[tiflash] inner join, equal:[eq(test.t2.k1, test.t1.k1)], runtime filter:0[IN] <- test.t2.k1", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -123,7 +123,7 @@ { "SQL": "select /*+ hash_join_build(t2) */ * from t2, (select k1, k1+1 as k11 from t1) t1 where t1.k11=t2.k1; -- Doesn't support transform column k11", "Plan": [ - "TableReader_38 0.80 root MppVersion: 2, data:ExchangeSender_37", + "TableReader_38 0.80 root MppVersion: 3, data:ExchangeSender_37", "└─ExchangeSender_37 0.80 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin_31 0.80 mpp[tiflash] inner join, equal:[eq(test.t2.k1, Column#7)]", " ├─ExchangeReceiver_35(Build) 1.00 mpp[tiflash] ", @@ -138,7 +138,7 @@ { "SQL": "format='brief' select /*+ broadcast_join(t1, t2), hash_join_build(t1) */ * from t1, t2 where t1.k1=t2.k1+1; -- Doesn't support target expression t2.k1+1", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection 1.00 mpp[tiflash] test.t1.k1, test.t2.k1, test.t2.k2, test.t2.k3", " └─HashJoin 1.00 mpp[tiflash] inner join, equal:[eq(test.t1.k1, Column#7)]", @@ -152,7 +152,7 @@ { "SQL": "format='brief' select /*+ broadcast_join(t1, t2), hash_join_build(t1) */ * from t1 right join t2 on t1.k1=t2.k1; -- t2 side couldn't be RF target side, no RF", "Plan": [ - "TableReader 1.00 root MppVersion: 2, data:ExchangeSender", + "TableReader 1.00 root MppVersion: 3, data:ExchangeSender", "└─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─HashJoin 1.00 mpp[tiflash] right outer join, left side:ExchangeReceiver, equal:[eq(test.t1.k1, test.t2.k1)]", " ├─ExchangeReceiver(Build) 1.00 mpp[tiflash] ", @@ -166,10 +166,10 @@ "SQL": "select /*+ hash_join_build(t1) */ * from t1, t2 where t1.k1<=>t2.k1; -- Doesn't support null safe eq predicate", "Plan": [ "HashJoin_8 1.00 root inner join, equal:[nulleq(test.t1.k1, test.t2.k1)]", - "├─TableReader_13(Build) 1.00 root MppVersion: 2, data:ExchangeSender_12", + "├─TableReader_13(Build) 1.00 root MppVersion: 3, data:ExchangeSender_12", "│ └─ExchangeSender_12 1.00 mpp[tiflash] ExchangeType: PassThrough", "│ └─TableFullScan_11 1.00 mpp[tiflash] table:t1 keep order:false", - "└─TableReader_18(Probe) 1.00 root MppVersion: 2, data:ExchangeSender_17", + "└─TableReader_18(Probe) 1.00 root MppVersion: 3, data:ExchangeSender_17", " └─ExchangeSender_17 1.00 mpp[tiflash] ExchangeType: PassThrough", " └─TableFullScan_16 1.00 mpp[tiflash] table:t2 keep order:false" ] diff --git a/pkg/planner/core/tests/redact/redact_test.go b/pkg/planner/core/tests/redact/redact_test.go index 9d8f29985b285..712ac7c25deb3 100644 --- a/pkg/planner/core/tests/redact/redact_test.go +++ b/pkg/planner/core/tests/redact/redact_test.go @@ -68,7 +68,7 @@ func TestRedactExplain(t *testing.T) { " └─Point_Get_8 1.00 root table:t handle:‹1›")) // expression partition key tk.MustQuery("explain select *, row_number() over (partition by deptid+1) FROM employee").Check(testkit.Rows( - "TableReader_31 10000.00 root MppVersion: 2, data:ExchangeSender_30", + "TableReader_31 10000.00 root MppVersion: 3, data:ExchangeSender_30", "└─ExchangeSender_30 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 10000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#7, stream_count: 8", " └─Window_29 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by Column#6 rows between current row and current row), stream_count: 8", @@ -141,7 +141,7 @@ func TestRedactExplain(t *testing.T) { " └─Point_Get_8 1.00 root table:t handle:?")) // expression partition key tk.MustQuery("explain select *, row_number() over (partition by deptid+1) FROM employee").Check(testkit.Rows( - "TableReader_31 10000.00 root MppVersion: 2, data:ExchangeSender_30", + "TableReader_31 10000.00 root MppVersion: 3, data:ExchangeSender_30", "└─ExchangeSender_30 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Projection_7 10000.00 mpp[tiflash] test.employee.empid, test.employee.deptid, test.employee.salary, Column#7, stream_count: 8", " └─Window_29 10000.00 mpp[tiflash] row_number()->Column#7 over(partition by Column#6 rows between current row and current row), stream_count: 8", @@ -251,7 +251,7 @@ func TestRedactTiFlash(t *testing.T) { tk.MustExec(`set @@tidb_max_tiflash_threads=20`) tk.MustExec("set session tidb_redact_log=ON") tk.MustQuery("explain select *, first_value(v) over (partition by p order by o range between 3 preceding and 0 following) as a from test.first_range;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o range between ? preceding and ? following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range.p, test.first_range.o, stream_count: 20", @@ -260,7 +260,7 @@ func TestRedactTiFlash(t *testing.T) { " └─TableFullScan_10 10000.00 mpp[tiflash] table:first_range keep order:false, stats:pseudo")) tk.MustExec("set session tidb_redact_log=MARKER") tk.MustQuery("explain select *, first_value(v) over (partition by p order by o range between 3 preceding and 0 following) as a from test.first_range;").Check(testkit.Rows( - "TableReader_23 10000.00 root MppVersion: 2, data:ExchangeSender_22", + "TableReader_23 10000.00 root MppVersion: 3, data:ExchangeSender_22", "└─ExchangeSender_22 10000.00 mpp[tiflash] ExchangeType: PassThrough", " └─Window_21 10000.00 mpp[tiflash] first_value(test.first_range.v)->Column#8 over(partition by test.first_range.p order by test.first_range.o range between ‹3› preceding and ‹0› following), stream_count: 20", " └─Sort_13 10000.00 mpp[tiflash] test.first_range.p, test.first_range.o, stream_count: 20", diff --git a/pkg/sessionctx/sessionstates/session_states_test.go b/pkg/sessionctx/sessionstates/session_states_test.go index 2caea78e5575b..f1337448f3561 100644 --- a/pkg/sessionctx/sessionstates/session_states_test.go +++ b/pkg/sessionctx/sessionstates/session_states_test.go @@ -580,7 +580,7 @@ func TestSessionCtx(t *testing.T) { }, checkFunc: func(tk *testkit.TestKit, param any) { tk.MustQuery(`explain select id from test.t1`).Check(testkit.Rows( - `TableReader_12 10000.00 root MppVersion: 2, data:ExchangeSender_11`, + `TableReader_12 10000.00 root MppVersion: 3, data:ExchangeSender_11`, `└─ExchangeSender_11 10000.00 mpp[tiflash] ExchangeType: PassThrough`, ` └─TableFullScan_10 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo`)) }, diff --git a/tests/integrationtest/r/executor/set.result b/tests/integrationtest/r/executor/set.result index cc75d269594ff..bb3936fce8a8c 100644 --- a/tests/integrationtest/r/executor/set.result +++ b/tests/integrationtest/r/executor/set.result @@ -420,8 +420,8 @@ SET SESSION mpp_version = unspecified; select @@session.mpp_version; @@session.mpp_version unspecified -SET SESSION mpp_version = 3; -Error 1105 (HY000): incorrect value: 3. mpp_version options: -1 (unspecified), 0, 1, 2 +SET SESSION mpp_version = 4; +Error 1105 (HY000): incorrect value: 4. mpp_version options: -1 (unspecified), 0, 1, 2, 3 SET GLOBAL mpp_version = 1; select @@global.mpp_version; @@global.mpp_version diff --git a/tests/integrationtest/r/planner/core/plan.result b/tests/integrationtest/r/planner/core/plan.result index acddffb38e6a8..165c09f59d8ad 100644 --- a/tests/integrationtest/r/planner/core/plan.result +++ b/tests/integrationtest/r/planner/core/plan.result @@ -395,7 +395,7 @@ IndexReader_7 10000.00 root index:IndexFullScan_6 alter table t set hypo tiflash replica 1; explain select a from t; id estRows task access object operator info -TableReader_14 10000.00 root MppVersion: 2, data:ExchangeSender_13 +TableReader_14 10000.00 root MppVersion: 3, data:ExchangeSender_13 └─ExchangeSender_13 10000.00 mpp[tiflash] ExchangeType: PassThrough └─TableFullScan_12 10000.00 mpp[tiflash] table:t keep order:false, stats:pseudo alter table t set hypo tiflash replica 0; diff --git a/tests/integrationtest/t/executor/set.test b/tests/integrationtest/t/executor/set.test index b1392ebca7fe6..ec70be499088b 100644 --- a/tests/integrationtest/t/executor/set.test +++ b/tests/integrationtest/t/executor/set.test @@ -254,7 +254,7 @@ select @@session.mpp_version; SET SESSION mpp_version = unspecified; select @@session.mpp_version; -- error 1105 -SET SESSION mpp_version = 3; +SET SESSION mpp_version = 4; SET GLOBAL mpp_version = 1; select @@global.mpp_version; SET GLOBAL mpp_version = -1;