mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Move the testcase for BUG#21282 to a file that includes have_debug.inc
The testcase needs to set in_predicate_conversion_threshold which is only available in debug builds (this is subject to further discussion).
This commit is contained in:
@ -1048,30 +1048,6 @@ select a, hex(filler) from t1 where a not between 'b' and 'b';
|
|||||||
a hex(filler)
|
a hex(filler)
|
||||||
a 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
a 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
create table t1 (a int);
|
|
||||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
|
||||||
create table t2 (a int, key(a));
|
|
||||||
insert into t2 select 2*(A.a + 10*(B.a + 10*C.a)) from t1 A, t1 B, t1 C;
|
|
||||||
set in_predicate_conversion_threshold= 2000;
|
|
||||||
set @a="select * from t2 force index (a) where a NOT IN(0";
|
|
||||||
select count(*) from (select @a:=concat(@a, ',', a) from t2 ) Z;
|
|
||||||
count(*)
|
|
||||||
1000
|
|
||||||
set @a=concat(@a, ')');
|
|
||||||
insert into t2 values (11),(13),(15);
|
|
||||||
set @b= concat("explain ", @a);
|
|
||||||
prepare stmt1 from @b;
|
|
||||||
execute stmt1;
|
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
|
||||||
1 SIMPLE t2 index a a 5 NULL 1003 Using where; Using index
|
|
||||||
prepare stmt1 from @a;
|
|
||||||
execute stmt1;
|
|
||||||
a
|
|
||||||
11
|
|
||||||
13
|
|
||||||
15
|
|
||||||
set in_predicate_conversion_threshold= default;
|
|
||||||
drop table t1, t2;
|
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
id int NOT NULL DEFAULT '0',
|
id int NOT NULL DEFAULT '0',
|
||||||
b int NOT NULL DEFAULT '0',
|
b int NOT NULL DEFAULT '0',
|
||||||
|
@ -862,34 +862,6 @@ select a, hex(filler) from t1 where a not between 'b' and 'b';
|
|||||||
|
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
#
|
|
||||||
# BUG#21282
|
|
||||||
#
|
|
||||||
create table t1 (a int);
|
|
||||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
|
||||||
create table t2 (a int, key(a));
|
|
||||||
insert into t2 select 2*(A.a + 10*(B.a + 10*C.a)) from t1 A, t1 B, t1 C;
|
|
||||||
|
|
||||||
set in_predicate_conversion_threshold= 2000;
|
|
||||||
|
|
||||||
set @a="select * from t2 force index (a) where a NOT IN(0";
|
|
||||||
select count(*) from (select @a:=concat(@a, ',', a) from t2 ) Z;
|
|
||||||
set @a=concat(@a, ')');
|
|
||||||
|
|
||||||
insert into t2 values (11),(13),(15);
|
|
||||||
|
|
||||||
set @b= concat("explain ", @a);
|
|
||||||
|
|
||||||
prepare stmt1 from @b;
|
|
||||||
execute stmt1;
|
|
||||||
|
|
||||||
prepare stmt1 from @a;
|
|
||||||
execute stmt1;
|
|
||||||
|
|
||||||
set in_predicate_conversion_threshold= default;
|
|
||||||
|
|
||||||
drop table t1, t2;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #18165: range access for BETWEEN with a constant for the first argument
|
# Bug #18165: range access for BETWEEN with a constant for the first argument
|
||||||
#
|
#
|
||||||
|
24
mysql-test/main/range_debug.result
Normal file
24
mysql-test/main/range_debug.result
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
create table t2 (a int, key(a));
|
||||||
|
insert into t2 select 2*(A.a + 10*(B.a + 10*C.a)) from t1 A, t1 B, t1 C;
|
||||||
|
set in_predicate_conversion_threshold= 2000;
|
||||||
|
set @a="select * from t2 force index (a) where a NOT IN(0";
|
||||||
|
select count(*) from (select @a:=concat(@a, ',', a) from t2 ) Z;
|
||||||
|
count(*)
|
||||||
|
1000
|
||||||
|
set @a=concat(@a, ')');
|
||||||
|
insert into t2 values (11),(13),(15);
|
||||||
|
set @b= concat("explain ", @a);
|
||||||
|
prepare stmt1 from @b;
|
||||||
|
execute stmt1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 index a a 5 NULL 1003 Using where; Using index
|
||||||
|
prepare stmt1 from @a;
|
||||||
|
execute stmt1;
|
||||||
|
a
|
||||||
|
11
|
||||||
|
13
|
||||||
|
15
|
||||||
|
set in_predicate_conversion_threshold= default;
|
||||||
|
drop table t1, t2;
|
30
mysql-test/main/range_debug.test
Normal file
30
mysql-test/main/range_debug.test
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
source include/have_debug.inc;
|
||||||
|
#
|
||||||
|
# BUG#21282
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
create table t2 (a int, key(a));
|
||||||
|
insert into t2 select 2*(A.a + 10*(B.a + 10*C.a)) from t1 A, t1 B, t1 C;
|
||||||
|
|
||||||
|
set in_predicate_conversion_threshold= 2000;
|
||||||
|
|
||||||
|
set @a="select * from t2 force index (a) where a NOT IN(0";
|
||||||
|
select count(*) from (select @a:=concat(@a, ',', a) from t2 ) Z;
|
||||||
|
set @a=concat(@a, ')');
|
||||||
|
|
||||||
|
insert into t2 values (11),(13),(15);
|
||||||
|
|
||||||
|
set @b= concat("explain ", @a);
|
||||||
|
|
||||||
|
prepare stmt1 from @b;
|
||||||
|
execute stmt1;
|
||||||
|
|
||||||
|
prepare stmt1 from @a;
|
||||||
|
execute stmt1;
|
||||||
|
|
||||||
|
set in_predicate_conversion_threshold= default;
|
||||||
|
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user