Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
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).
- Loading branch information
Showing
4 changed files
with
54 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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; | ||
|
|
||
|
|