Skip to content

Commit

Permalink
Merge branch 'master' into trace_predicate_push_down
Browse files Browse the repository at this point in the history
  • Loading branch information
Yisaer authored Dec 24, 2021
2 parents 0332162 + 404895c commit d8d7efd
Show file tree
Hide file tree
Showing 72 changed files with 1,680 additions and 1,409 deletions.
4 changes: 2 additions & 2 deletions br/pkg/restore/split.go
Original file line number Diff line number Diff line change
Expand Up @@ -455,14 +455,14 @@ type scanRegionBackoffer struct {

func newScanRegionBackoffer() utils.Backoffer {
return &scanRegionBackoffer{
attempt: 3,
attempt: 30,
}
}

// NextBackoff returns a duration to wait before retrying again
func (b *scanRegionBackoffer) NextBackoff(err error) time.Duration {
if berrors.ErrPDBatchScanRegion.Equal(err) {
// 500ms * 3 could be enough for splitting remain regions in the hole.
// 500ms * 30 could be enough for splitting remain regions in the hole.
b.attempt--
return 500 * time.Millisecond
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/explaintest/r/explain_complex.result
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ CREATE TABLE `tbl_009` (`a` int, `b` int);
explain format = 'brief' 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 estRows task access object operator info
HashAgg 72000.00 root group by:Column#32, funcs:sum(Column#31)->Column#30
└─Projection 90000.00 root cast(Column#28, decimal(32,0) BINARY)->Column#31, Column#29
└─Projection 90000.00 root cast(Column#28, decimal(10,0) BINARY)->Column#31, Column#29
└─Union 90000.00 root
├─TableReader 10000.00 root data:TableFullScan
│ └─TableFullScan 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 @@ -205,7 +205,7 @@ load stats 's/explain_complex_stats_tbl_009.json';
explain format = 'brief' 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 estRows task access object operator info
HashAgg 18000.00 root group by:Column#32, funcs:sum(Column#31)->Column#30
└─Projection 18000.00 root cast(Column#28, decimal(32,0) BINARY)->Column#31, Column#29
└─Projection 18000.00 root cast(Column#28, decimal(10,0) BINARY)->Column#31, Column#29
└─Union 18000.00 root
├─TableReader 2000.00 root data:TableFullScan
│ └─TableFullScan 2000.00 cop[tikv] table:tbl_001 keep order:false
Expand Down
128 changes: 123 additions & 5 deletions cmd/explaintest/r/explain_easy.result
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Selection 0.33 root gt(test.t1.c2, 1)
explain format = 'brief' select sum(t1.c1 in (select c1 from t2)) from t1;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#13)->Column#11
└─Projection 10000.00 root cast(Column#10, decimal(65,0) BINARY)->Column#13
└─Projection 10000.00 root cast(Column#10, decimal(3,0) BINARY)->Column#13
└─HashJoin 10000.00 root CARTESIAN left outer semi join, other cond:eq(test.t1.c1, test.t2.c1)
├─IndexReader(Build) 10000.00 root index:IndexFullScan
│ └─IndexFullScan 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
Expand Down Expand Up @@ -225,7 +225,7 @@ set @@session.tidb_opt_insubq_to_join_and_agg=0;
explain format = 'brief' select sum(t1.c1 in (select c1 from t2)) from t1;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#13)->Column#11
└─Projection 10000.00 root cast(Column#10, decimal(65,0) BINARY)->Column#13
└─Projection 10000.00 root cast(Column#10, decimal(3,0) BINARY)->Column#13
└─HashJoin 10000.00 root CARTESIAN left outer semi join, other cond:eq(test.t1.c1, test.t2.c1)
├─IndexReader(Build) 10000.00 root index:IndexFullScan
│ └─IndexFullScan 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
Expand All @@ -241,7 +241,7 @@ HashJoin 10000.00 root CARTESIAN left outer semi join, other cond:eq(1, test.t2
explain format = 'brief' select sum(6 in (select c2 from t2)) from t1;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#13)->Column#11
└─Projection 10000.00 root cast(Column#10, decimal(65,0) BINARY)->Column#13
└─Projection 10000.00 root cast(Column#10, decimal(3,0) BINARY)->Column#13
└─HashJoin 10000.00 root CARTESIAN left outer semi join, other cond:eq(6, test.t2.c2)
├─TableReader(Build) 10000.00 root data:TableFullScan
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
Expand Down Expand Up @@ -809,7 +809,7 @@ Projection 1.00 root Column#7
└─HashAgg(Probe) 1.00 root funcs:sum(Column#12)->Column#7
└─HashJoin 1.00 root CARTESIAN left outer join
├─HashAgg(Build) 1.00 root group by:1, funcs:sum(Column#14)->Column#12
│ └─Projection 1.00 root cast(Column#6, decimal(42,0) BINARY)->Column#14
│ └─Projection 1.00 root cast(Column#6, decimal(20,0) BINARY)->Column#14
│ └─MaxOneRow 1.00 root
│ └─Projection 1.00 root Column#5
│ └─TableDual 1.00 root rows:1
Expand All @@ -831,7 +831,7 @@ Projection 1.00 root Column#5
│ └─TableReader 10000.00 root data:TableFullScan
│ └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo
└─StreamAgg(Probe) 1.00 root funcs:sum(Column#7)->Column#5
└─Projection 1.00 root cast(Column#4, decimal(42,0) BINARY)->Column#7
└─Projection 1.00 root cast(Column#4, decimal(20,0) BINARY)->Column#7
└─TableDual 1.00 root rows:1
explain format = 'brief' select sum(a), (select sum(a)), count(a) from t group by b order by (select count(a));
id estRows task access object operator info
Expand All @@ -846,3 +846,121 @@ Projection 8000.00 root Column#4, Column#4, Column#5
└─HashAgg 8000.00 cop[tikv] group by:test.t.b, funcs:sum(test.t.a)->Column#13, funcs:count(test.t.a)->Column#14
└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo
drop table if exists t;
create table t(a tinyint, b smallint, c mediumint, d int, e bigint);
insert into mysql.opt_rule_blacklist VALUES("aggregation_push_down");
admin reload opt_rule_blacklist;

explain format = 'brief' select sum(t1.a) from t t1 join t t2 on t1.a=t2.a;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.a, decimal(3,0) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.a, test.t.a)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.a))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.a))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select sum(t1.b) from t t1 join t t2 on t1.b=t2.b;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.b, decimal(5,0) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.b, test.t.b)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.b))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.b))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select sum(t1.c) from t t1 join t t2 on t1.c=t2.c;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.c, decimal(8,0) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.c, test.t.c)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.c))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.c))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select sum(t1.d) from t t1 join t t2 on t1.d=t2.d;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.d, decimal(10,0) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.d, test.t.d)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.d))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.d))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select sum(t1.e) from t t1 join t t2 on t1.e=t2.e;
id estRows task access object operator info
StreamAgg 1.00 root funcs:sum(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.e, decimal(20,0) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.e, test.t.e)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.e))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.e))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select avg(t1.a) from t t1 join t t2 on t1.a=t2.a;
id estRows task access object operator info
StreamAgg 1.00 root funcs:avg(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.a, decimal(8,4) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.a, test.t.a)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.a))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.a))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select avg(t1.b) from t t1 join t t2 on t1.b=t2.b;
id estRows task access object operator info
StreamAgg 1.00 root funcs:avg(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.b, decimal(10,4) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.b, test.t.b)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.b))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.b))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select avg(t1.c) from t t1 join t t2 on t1.c=t2.c;
id estRows task access object operator info
StreamAgg 1.00 root funcs:avg(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.c, decimal(13,4) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.c, test.t.c)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.c))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.c))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select avg(t1.d) from t t1 join t t2 on t1.d=t2.d;
id estRows task access object operator info
StreamAgg 1.00 root funcs:avg(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.d, decimal(15,4) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.d, test.t.d)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.d))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.d))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
explain format = 'brief' select avg(t1.e) from t t1 join t t2 on t1.e=t2.e;
id estRows task access object operator info
StreamAgg 1.00 root funcs:avg(Column#14)->Column#13
└─Projection 12487.50 root cast(test.t.e, decimal(24,4) BINARY)->Column#14
└─HashJoin 12487.50 root inner join, equal:[eq(test.t.e, test.t.e)]
├─TableReader(Build) 9990.00 root data:Selection
│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.e))
│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
└─TableReader(Probe) 9990.00 root data:Selection
└─Selection 9990.00 cop[tikv] not(isnull(test.t.e))
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
drop table if exists t;
delete from mysql.opt_rule_blacklist where name="aggregation_push_down";
admin reload opt_rule_blacklist;

8 changes: 4 additions & 4 deletions cmd/explaintest/r/generated_columns.result
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ INSERT INTO t1 (a) VALUES (2), (1), (1), (3), (NULL);
EXPLAIN format = 'brief' SELECT sum(a) FROM t1 GROUP BY b;
id estRows task access object operator info
HashAgg 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection 10000.00 root cast(test.t1.a, decimal(32,0) BINARY)->Column#6, test.t1.b
└─Projection 10000.00 root cast(test.t1.a, decimal(10,0) BINARY)->Column#6, test.t1.b
└─TableReader 10000.00 root data:TableFullScan
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
EXPLAIN format = 'brief' SELECT sum(a) FROM t1 GROUP BY c;
Expand All @@ -194,13 +194,13 @@ HashAgg 8000.00 root group by:test.t1.c, funcs:sum(Column#6)->Column#5
EXPLAIN format = 'brief' SELECT sum(b) FROM t1 GROUP BY a;
id estRows task access object operator info
HashAgg 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection 10000.00 root cast(test.t1.b, decimal(32,0) BINARY)->Column#6, test.t1.a
└─Projection 10000.00 root cast(test.t1.b, decimal(10,0) BINARY)->Column#6, test.t1.a
└─TableReader 10000.00 root data:TableFullScan
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
EXPLAIN format = 'brief' SELECT sum(b) FROM t1 GROUP BY c;
id estRows task access object operator info
HashAgg 8000.00 root group by:Column#9, funcs:sum(Column#8)->Column#5
└─Projection 10000.00 root cast(test.t1.b, decimal(32,0) BINARY)->Column#8, test.t1.c
└─Projection 10000.00 root cast(test.t1.b, decimal(10,0) BINARY)->Column#8, test.t1.c
└─Projection 10000.00 root test.t1.b, test.t1.c
└─TableReader 10000.00 root data:TableFullScan
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
Expand All @@ -213,7 +213,7 @@ HashAgg 8000.00 root group by:test.t1.a, funcs:sum(Column#6)->Column#5
EXPLAIN format = 'brief' SELECT sum(c) FROM t1 GROUP BY b;
id estRows task access object operator info
HashAgg 8000.00 root group by:Column#7, funcs:sum(Column#6)->Column#5
└─Projection 10000.00 root cast(test.t1.c, decimal(32,0) BINARY)->Column#6, test.t1.b
└─Projection 10000.00 root cast(test.t1.c, decimal(10,0) BINARY)->Column#6, test.t1.b
└─Projection 10000.00 root test.t1.b, test.t1.c
└─TableReader 10000.00 root data:TableFullScan
└─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
Expand Down
Loading

0 comments on commit d8d7efd

Please sign in to comment.