MWL#90: address review feedback: more test coverage
This commit is contained in:
parent
8fb724281e
commit
af3c1dc508
@ -1324,3 +1324,35 @@ a a in (select a from t1)
|
||||
2 0
|
||||
drop table t0, t1;
|
||||
set optimizer_switch='firstmatch=on';
|
||||
#
|
||||
# MWL#90, review feedback: check what happens when the subquery
|
||||
# looks like candidate for MWL#90 checking at the first glance
|
||||
# but then subselect_hash_sj_engine::init_permanent() discovers
|
||||
# that it's not possible to perform duplicate removal for the
|
||||
# selected datatypes, and so materialization isn't applicable after
|
||||
# all.
|
||||
#
|
||||
set @blob_len = 1024;
|
||||
set @suffix_len = @blob_len - @prefix_len;
|
||||
create table t1_1024 (a1 blob(1024), a2 blob(1024));
|
||||
create table t2_1024 (b1 blob(1024), b2 blob(1024));
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 01', repeat('x', @suffix_len)), concat('2 - 01', repeat('x', @suffix_len)));
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 02', repeat('x', @suffix_len)), concat('2 - 02', repeat('x', @suffix_len)));
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 01', repeat('x', @suffix_len)), concat('2 - 01', repeat('x', @suffix_len)));
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 02', repeat('x', @suffix_len)), concat('2 - 02', repeat('x', @suffix_len)));
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 03', repeat('x', @suffix_len)), concat('2 - 03', repeat('x', @suffix_len)));
|
||||
explain select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,1,1024), count(*) from t2_1024 where b1 > '0');
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1_1024 ALL NULL NULL NULL NULL 3 Using where
|
||||
2 DEPENDENT SUBQUERY t2_1024 ALL NULL NULL NULL NULL 3 Using where
|
||||
select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,1,1024), count(*) from t2_1024 where b1 > '0');
|
||||
left(a1,7) left(a2,7)
|
||||
1 - 01x 2 - 01x
|
||||
drop table t1_1024, t2_1024;
|
||||
|
@ -936,3 +936,37 @@ update t1 set a=123;
|
||||
execute s;
|
||||
drop table t0, t1;
|
||||
set optimizer_switch='firstmatch=on';
|
||||
|
||||
--echo #
|
||||
--echo # MWL#90, review feedback: check what happens when the subquery
|
||||
--echo # looks like candidate for MWL#90 checking at the first glance
|
||||
--echo # but then subselect_hash_sj_engine::init_permanent() discovers
|
||||
--echo # that it's not possible to perform duplicate removal for the
|
||||
--echo # selected datatypes, and so materialization isn't applicable after
|
||||
--echo # all.
|
||||
--echo #
|
||||
set @blob_len = 1024;
|
||||
set @suffix_len = @blob_len - @prefix_len;
|
||||
|
||||
create table t1_1024 (a1 blob(1024), a2 blob(1024));
|
||||
create table t2_1024 (b1 blob(1024), b2 blob(1024));
|
||||
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 01', repeat('x', @suffix_len)), concat('2 - 01', repeat('x', @suffix_len)));
|
||||
insert into t1_1024 values
|
||||
(concat('1 - 02', repeat('x', @suffix_len)), concat('2 - 02', repeat('x', @suffix_len)));
|
||||
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 01', repeat('x', @suffix_len)), concat('2 - 01', repeat('x', @suffix_len)));
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 02', repeat('x', @suffix_len)), concat('2 - 02', repeat('x', @suffix_len)));
|
||||
insert into t2_1024 values
|
||||
(concat('1 - 03', repeat('x', @suffix_len)), concat('2 - 03', repeat('x', @suffix_len)));
|
||||
|
||||
explain select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,1,1024), count(*) from t2_1024 where b1 > '0');
|
||||
select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,1,1024), count(*) from t2_1024 where b1 > '0');
|
||||
|
||||
drop table t1_1024, t2_1024;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user