Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

planner: show cast type in EXPLAIN #14942

Merged
merged 7 commits into from
Feb 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cmd/explaintest/r/explain.result
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ set session tidb_hashagg_final_concurrency = 1;
explain select group_concat(a) from t group by id;
id count task operator info
StreamAgg_8 8000.00 root group by:Column#6, funcs:group_concat(Column#5, ",")->Column#4
└─Projection_18 10000.00 root cast(test.t.a)->Column#5, test.t.id
└─Projection_18 10000.00 root cast(test.t.a, var_string(20))->Column#5, test.t.id
└─TableReader_15 10000.00 root data:TableFullScan_14
└─TableFullScan_14 10000.00 cop[tikv] table:t, keep order:true, stats:pseudo
explain select group_concat(a, b) from t group by id;
id count task operator info
StreamAgg_8 8000.00 root group by:Column#7, funcs:group_concat(Column#5, Column#6, ",")->Column#4
└─Projection_18 10000.00 root cast(test.t.a)->Column#5, cast(test.t.b)->Column#6, test.t.id
└─Projection_18 10000.00 root cast(test.t.a, var_string(20))->Column#5, cast(test.t.b, var_string(20))->Column#6, test.t.id
└─TableReader_15 10000.00 root data:TableFullScan_14
└─TableFullScan_14 10000.00 cop[tikv] table:t, keep order:true, stats:pseudo
drop table t;
2 changes: 1 addition & 1 deletion cmd/explaintest/r/explain_complex.result
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ CREATE TABLE `tbl_009` (`a` int, `b` int);
explain select sum(a) from (select * from tbl_001 union all select * from tbl_002 union all select * from tbl_003 union all select * from tbl_004 union all select * from tbl_005 union all select * from tbl_006 union all select * from tbl_007 union all select * from tbl_008 union all select * from tbl_009) x group by b;
id count task operator info
HashAgg_34 72000.00 root group by:Column#32, funcs:sum(Column#31)->Column#30
└─Projection_63 90000.00 root cast(Column#28)->Column#31, Column#29
└─Projection_63 90000.00 root cast(Column#28, decimal(65,0) BINARY)->Column#31, Column#29
└─Union_35 90000.00 root
├─TableReader_38 10000.00 root data:TableFullScan_37
│ └─TableFullScan_37 10000.00 cop[tikv] table:tbl_001, keep order:false, stats:pseudo
Expand Down
2 changes: 1 addition & 1 deletion cmd/explaintest/r/explain_complex_stats.result
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ load stats 's/explain_complex_stats_tbl_009.json';
explain select sum(a) from (select * from tbl_001 union all select * from tbl_002 union all select * from tbl_003 union all select * from tbl_004 union all select * from tbl_005 union all select * from tbl_006 union all select * from tbl_007 union all select * from tbl_008 union all select * from tbl_009) x group by b;
id count task operator info
HashAgg_34 18000.00 root group by:Column#32, funcs:sum(Column#31)->Column#30
└─Projection_63 18000.00 root cast(Column#28)->Column#31, Column#29
└─Projection_63 18000.00 root cast(Column#28, decimal(65,0) BINARY)->Column#31, Column#29
└─Union_35 18000.00 root
├─TableReader_38 2000.00 root data:TableFullScan_37
│ └─TableFullScan_37 2000.00 cop[tikv] table:tbl_001, keep order:false
Expand Down
12 changes: 6 additions & 6 deletions cmd/explaintest/r/explain_easy.result
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ explain select * from t3 where exists (select s.a from t3 s having sum(s.a) = t3
id count task operator info
Projection_11 8000.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d
└─HashLeftJoin_12 8000.00 root semi join, inner:StreamAgg_27, equal:[eq(Column#13, Column#11)]
├─Projection_13 10000.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d, cast(test.t3.a)->Column#13
├─Projection_13 10000.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d, cast(test.t3.a, decimal(20,0) BINARY)->Column#13
│ └─TableReader_15 10000.00 root data:TableFullScan_14
│ └─TableFullScan_14 10000.00 cop[tikv] table:t3, keep order:false, stats:pseudo
└─StreamAgg_27 1.00 root funcs:sum(Column#16)->Column#11
Expand Down Expand Up @@ -64,7 +64,7 @@ Delete_4 N/A root N/A
└─TableRowIDScan_10 10.00 cop[tikv] table:t1, keep order:false, stats:pseudo
explain select count(b.c2) from t1 a, t2 b where a.c1 = b.c2 group by a.c1;
id count task operator info
Projection_11 9990.00 root cast(Column#8)->Column#7
Projection_11 9990.00 root cast(Column#8, bigint(21) BINARY)->Column#7
└─HashLeftJoin_21 9990.00 root inner join, inner:HashAgg_28, equal:[eq(test.t1.c1, test.t2.c2)]
├─TableReader_34 10000.00 root data:TableFullScan_33
│ └─TableFullScan_33 10000.00 cop[tikv] table:a, keep order:false, stats:pseudo
Expand Down Expand Up @@ -93,7 +93,7 @@ TableReader_7 0.33 root data:Selection_6
explain select sum(t1.c1 in (select c1 from t2)) from t1;
id count task operator info
StreamAgg_12 1.00 root funcs:sum(Column#10)->Column#8
└─Projection_23 10000.00 root cast(Column#7)->Column#10
└─Projection_23 10000.00 root cast(Column#7, decimal(65,0) BINARY)->Column#10
└─HashLeftJoin_22 10000.00 root CARTESIAN left outer semi join, inner:IndexReader_21, other cond:eq(test.t1.c1, test.t2.c1)
├─TableReader_15 10000.00 root data:TableFullScan_14
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
Expand Down Expand Up @@ -226,7 +226,7 @@ set @@session.tidb_opt_insubq_to_join_and_agg=0;
explain select sum(t1.c1 in (select c1 from t2)) from t1;
id count task operator info
StreamAgg_12 1.00 root funcs:sum(Column#10)->Column#8
└─Projection_23 10000.00 root cast(Column#7)->Column#10
└─Projection_23 10000.00 root cast(Column#7, decimal(65,0) BINARY)->Column#10
└─HashLeftJoin_22 10000.00 root CARTESIAN left outer semi join, inner:IndexReader_21, other cond:eq(test.t1.c1, test.t2.c1)
├─TableReader_15 10000.00 root data:TableFullScan_14
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
Expand All @@ -244,7 +244,7 @@ Projection_6 10000.00 root Column#7
explain select sum(6 in (select c2 from t2)) from t1;
id count task operator info
StreamAgg_12 1.00 root funcs:sum(Column#10)->Column#8
└─Projection_22 10000.00 root cast(Column#7)->Column#10
└─Projection_22 10000.00 root cast(Column#7, decimal(65,0) BINARY)->Column#10
└─HashLeftJoin_21 10000.00 root CARTESIAN left outer semi join, inner:TableReader_20
├─TableReader_15 10000.00 root data:TableFullScan_14
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
Expand Down Expand Up @@ -751,7 +751,7 @@ explain select a, b from (select a, b, avg(b) over (partition by a)as avg_b from
id count task operator info
Projection_8 2666.67 root test.t.a, test.t.b
└─Selection_9 2666.67 root gt(cast(test.t.a), Column#5), lt(test.t.b, 10)
└─Window_10 3333.33 root avg(cast(test.t.b))->Column#5 over(partition by test.t.a)
└─Window_10 3333.33 root avg(cast(test.t.b, decimal(65,4) BINARY))->Column#5 over(partition by test.t.a)
└─Sort_14 3333.33 root test.t.a:asc
└─TableReader_13 3333.33 root data:Selection_12
└─Selection_12 3333.33 cop[tikv] gt(test.t.a, 10)
Expand Down
4 changes: 2 additions & 2 deletions cmd/explaintest/r/explain_easy_stats.result
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ explain select * from t3 where exists (select s.a from t3 s having sum(s.a) = t3
id count task operator info
Projection_11 1600.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d
└─HashLeftJoin_12 1600.00 root semi join, inner:StreamAgg_27, equal:[eq(Column#13, Column#11)]
├─Projection_13 2000.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d, cast(test.t3.a)->Column#13
├─Projection_13 2000.00 root test.t3.a, test.t3.b, test.t3.c, test.t3.d, cast(test.t3.a, decimal(20,0) BINARY)->Column#13
│ └─TableReader_15 2000.00 root data:TableFullScan_14
│ └─TableFullScan_14 2000.00 cop[tikv] table:t3, keep order:false
└─StreamAgg_27 1.00 root funcs:sum(Column#16)->Column#11
Expand Down Expand Up @@ -65,7 +65,7 @@ Delete_4 N/A root N/A
└─TableRowIDScan_10 0.00 cop[tikv] table:t1, keep order:false
explain select count(b.c2) from t1 a, t2 b where a.c1 = b.c2 group by a.c1;
id count task operator info
Projection_11 1985.00 root cast(Column#8)->Column#7
Projection_11 1985.00 root cast(Column#8, bigint(21) BINARY)->Column#7
└─HashLeftJoin_21 1985.00 root inner join, inner:HashAgg_25, equal:[eq(test.t1.c1, test.t2.c2)]
├─TableReader_34 1999.00 root data:TableFullScan_33
│ └─TableFullScan_33 1999.00 cop[tikv] table:a, keep order:false
Expand Down
8 changes: 4 additions & 4 deletions cmd/explaintest/r/generated_columns.result
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ INSERT INTO t1 (a) VALUES (2), (1), (1), (3), (NULL);
EXPLAIN SELECT sum(a) FROM t1 GROUP BY b;
id count task operator info
HashAgg_5 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection_12 10000.00 root cast(test.t1.a)->Column#6, test.t1.b
└─Projection_12 10000.00 root cast(test.t1.a, decimal(65,0) BINARY)->Column#6, test.t1.b
└─TableReader_9 10000.00 root data:TableFullScan_8
└─TableFullScan_8 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
EXPLAIN SELECT sum(a) FROM t1 GROUP BY c;
Expand All @@ -193,13 +193,13 @@ HashAgg_11 8000.00 root group by:test.t1.c, funcs:sum(Column#6)->Column#5
EXPLAIN SELECT sum(b) FROM t1 GROUP BY a;
id count task operator info
HashAgg_5 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection_12 10000.00 root cast(test.t1.b)->Column#6, test.t1.a
└─Projection_12 10000.00 root cast(test.t1.b, decimal(65,0) BINARY)->Column#6, test.t1.a
└─TableReader_9 10000.00 root data:TableFullScan_8
└─TableFullScan_8 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
EXPLAIN SELECT sum(b) FROM t1 GROUP BY c;
id count task operator info
HashAgg_5 8000.00 root group by:Column#9, funcs:sum(Column#8)->Column#5
└─Projection_18 10000.00 root cast(test.t1.b)->Column#8, test.t1.c
└─Projection_18 10000.00 root cast(test.t1.b, decimal(65,0) BINARY)->Column#8, test.t1.c
└─TableReader_11 10000.00 root data:TableFullScan_10
└─TableFullScan_10 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
EXPLAIN SELECT sum(c) FROM t1 GROUP BY a;
Expand All @@ -211,6 +211,6 @@ HashAgg_9 8000.00 root group by:test.t1.a, funcs:sum(Column#6)->Column#5
EXPLAIN SELECT sum(c) FROM t1 GROUP BY b;
id count task operator info
HashAgg_5 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection_12 10000.00 root cast(test.t1.c)->Column#6, test.t1.b
└─Projection_12 10000.00 root cast(test.t1.c, decimal(65,0) BINARY)->Column#6, test.t1.b
└─TableReader_9 10000.00 root data:TableFullScan_8
└─TableFullScan_8 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
8 changes: 4 additions & 4 deletions cmd/explaintest/r/select.result
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@ Projection_8 10000.00 root and(or(or(gt(Column#8, 1), ne(test.t.a, Column#7)), i
├─TableReader_12 10000.00 root data:TableFullScan_11
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
└─StreamAgg_16 1.00 root funcs:firstrow(Column#13)->Column#7, funcs:count(distinct Column#14)->Column#8, funcs:sum(Column#15)->Column#9, funcs:count(1)->Column#10
└─Projection_26 10000.00 root test.t.a, test.t.a, cast(isnull(test.t.a))->Column#15
└─Projection_26 10000.00 root test.t.a, test.t.a, cast(isnull(test.t.a), decimal(65,0) BINARY)->Column#15
└─TableReader_23 10000.00 root data:TableFullScan_22
└─TableFullScan_22 10000.00 cop[tikv] table:t2, keep order:false, stats:pseudo
explain select a = all (select a from t t2) from t t1;
Expand All @@ -397,7 +397,7 @@ Projection_8 10000.00 root or(and(and(le(Column#8, 1), eq(test.t.a, Column#7)),
├─TableReader_12 10000.00 root data:TableFullScan_11
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, keep order:false, stats:pseudo
└─StreamAgg_16 1.00 root funcs:firstrow(Column#13)->Column#7, funcs:count(distinct Column#14)->Column#8, funcs:sum(Column#15)->Column#9, funcs:count(1)->Column#10
└─Projection_26 10000.00 root test.t.a, test.t.a, cast(isnull(test.t.a))->Column#15
└─Projection_26 10000.00 root test.t.a, test.t.a, cast(isnull(test.t.a), decimal(65,0) BINARY)->Column#15
└─TableReader_23 10000.00 root data:TableFullScan_22
└─TableFullScan_22 10000.00 cop[tikv] table:t2, keep order:false, stats:pseudo
drop table if exists t;
Expand All @@ -408,10 +408,10 @@ explain select a in (select a from s where s.b = t.b) from t;
id count task operator info
Projection_9 10000.00 root Column#7
└─HashLeftJoin_10 10000.00 root left outer semi join, inner:Projection_14, equal:[eq(Column#8, Column#9)], other cond:eq(cast(test.t.a), cast(test.s.a))
├─Projection_11 10000.00 root test.t.a, cast(test.t.b)->Column#8
├─Projection_11 10000.00 root test.t.a, cast(test.t.b, double BINARY)->Column#8
│ └─TableReader_13 10000.00 root data:TableFullScan_12
│ └─TableFullScan_12 10000.00 cop[tikv] table:t, keep order:false, stats:pseudo
└─Projection_14 10000.00 root test.s.a, cast(test.s.b)->Column#9
└─Projection_14 10000.00 root test.s.a, cast(test.s.b, double BINARY)->Column#9
└─TableReader_16 10000.00 root data:TableFullScan_15
└─TableFullScan_15 10000.00 cop[tikv] table:s, keep order:false, stats:pseudo
explain select a in (select a+b from t t2 where t2.b = t1.b) from t t1;
Expand Down
4 changes: 2 additions & 2 deletions cmd/explaintest/r/tpch.result
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,7 @@ Projection_57 1304801.67 root tpch.partsupp.ps_partkey, Column#18
└─Sort_58 1304801.67 root Column#18:desc
└─Selection_60 1304801.67 root gt(Column#18, NULL)
└─HashAgg_63 1631002.09 root group by:Column#44, funcs:sum(Column#42)->Column#18, funcs:firstrow(Column#43)->tpch.partsupp.ps_partkey
└─Projection_89 1631002.09 root mul(tpch.partsupp.ps_supplycost, cast(tpch.partsupp.ps_availqty))->Column#42, tpch.partsupp.ps_partkey, tpch.partsupp.ps_partkey
└─Projection_89 1631002.09 root mul(tpch.partsupp.ps_supplycost, cast(tpch.partsupp.ps_availqty, decimal(20,0) BINARY))->Column#42, tpch.partsupp.ps_partkey, tpch.partsupp.ps_partkey
└─HashRightJoin_67 1631002.09 root inner join, inner:HashRightJoin_80, equal:[eq(tpch.supplier.s_suppkey, tpch.partsupp.ps_suppkey)]
├─HashRightJoin_80 20000.00 root inner join, inner:TableReader_85, equal:[eq(tpch.nation.n_nationkey, tpch.supplier.s_nationkey)]
│ ├─TableReader_85 1.00 root data:Selection_84
Expand Down Expand Up @@ -768,7 +768,7 @@ id count task operator info
Sort_9 1.00 root tpch.lineitem.l_shipmode:asc
└─Projection_11 1.00 root tpch.lineitem.l_shipmode, Column#27, Column#28
└─HashAgg_14 1.00 root group by:Column#40, funcs:sum(Column#37)->Column#27, funcs:sum(Column#38)->Column#28, funcs:firstrow(Column#39)->tpch.lineitem.l_shipmode
└─Projection_54 10023369.01 root cast(case(or(eq(tpch.orders.o_orderpriority, 1-URGENT), eq(tpch.orders.o_orderpriority, 2-HIGH)), 1, 0))->Column#37, cast(case(and(ne(tpch.orders.o_orderpriority, 1-URGENT), ne(tpch.orders.o_orderpriority, 2-HIGH)), 1, 0))->Column#38, tpch.lineitem.l_shipmode, tpch.lineitem.l_shipmode
└─Projection_54 10023369.01 root cast(case(or(eq(tpch.orders.o_orderpriority, 1-URGENT), eq(tpch.orders.o_orderpriority, 2-HIGH)), 1, 0), decimal(65,0) BINARY)->Column#37, cast(case(and(ne(tpch.orders.o_orderpriority, 1-URGENT), ne(tpch.orders.o_orderpriority, 2-HIGH)), 1, 0), decimal(65,0) BINARY)->Column#38, tpch.lineitem.l_shipmode, tpch.lineitem.l_shipmode
└─IndexMergeJoin_22 10023369.01 root inner join, inner:TableReader_20, outer key:tpch.lineitem.l_orderkey, inner key:tpch.orders.o_orderkey
├─TableReader_50 10023369.01 root data:Selection_49
│ └─Selection_49 10023369.01 cop[tikv] ge(tpch.lineitem.l_receiptdate, 1997-01-01 00:00:00.000000), in(tpch.lineitem.l_shipmode, "RAIL", "FOB"), lt(tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate), lt(tpch.lineitem.l_receiptdate, 1998-01-01), lt(tpch.lineitem.l_shipdate, tpch.lineitem.l_commitdate)
Expand Down
Loading