|
|
|
@ -1102,6 +1102,40 @@ f1 f2 f2 |
|
|
|
set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; |
|
|
|
DROP TABLE t1,t2; |
|
|
|
set use_stat_tables=@save_use_stat_tables; |
|
|
|
# |
|
|
|
# Bug mdev-4406: range condition for non-nullable column |
|
|
|
# when optimizer_use_condition_selectivity=3 |
|
|
|
# |
|
|
|
create table t1 (a int not null); |
|
|
|
insert into t1 values |
|
|
|
(7), (6), (4), (9), (1), (5), (2), (1), (3), (8); |
|
|
|
set use_stat_tables='preferably'; |
|
|
|
analyze table t1; |
|
|
|
Table Op Msg_type Msg_text |
|
|
|
test.t1 analyze status OK |
|
|
|
flush table t1; |
|
|
|
set optimizer_use_condition_selectivity=3; |
|
|
|
select count(*) from t1 where a between 5 and 7; |
|
|
|
count(*) |
|
|
|
3 |
|
|
|
explain extended select * from t1 where a between 5 and 7; |
|
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra |
|
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 25.00 Using where |
|
|
|
Warnings: |
|
|
|
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` between 5 and 7) |
|
|
|
alter table t1 change column a a int; |
|
|
|
analyze table t1; |
|
|
|
Table Op Msg_type Msg_text |
|
|
|
test.t1 analyze status OK |
|
|
|
flush table t1; |
|
|
|
explain extended select * from t1 where a between 5 and 7; |
|
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra |
|
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 25.00 Using where |
|
|
|
Warnings: |
|
|
|
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` between 5 and 7) |
|
|
|
set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; |
|
|
|
drop table t1; |
|
|
|
set use_stat_tables=@save_use_stat_tables; |
|
|
|
set use_stat_tables=@save_use_stat_tables; |
|
|
|
set optimizer_switch=@save_optimizer_switch_for_selectivity_test; |
|
|
|
SET SESSION STORAGE_ENGINE=DEFAULT; |