mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
68 lines
2.8 KiB
Text
68 lines
2.8 KiB
Text
#
|
|
# Test negation elimination
|
|
#
|
|
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
create table t1 (a int, key (a));
|
|
insert into t1 values (NULL), (0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
|
|
(10), (11), (12), (13), (14), (15), (16), (17), (18), (19);
|
|
|
|
explain select * from t1 where not(not(a));
|
|
select * from t1 where not(not(a));
|
|
explain select * from t1 where not(not(not(a > 10)));
|
|
select * from t1 where not(not(not(a > 10)));
|
|
explain select * from t1 where not(not(not(a < 5) and not(a > 10)));
|
|
select * from t1 where not(not(not(a < 5) and not(a > 10)));
|
|
explain select * from t1 where not(a = 10);
|
|
select * from t1 where not(a = 10);
|
|
explain select * from t1 where not(a != 10);
|
|
select * from t1 where not(a != 1);
|
|
explain select * from t1 where not(a < 10);
|
|
select * from t1 where not(a < 10);
|
|
explain select * from t1 where not(a >= 10);
|
|
select * from t1 where not(a >= 10);
|
|
explain select * from t1 where not(a > 10);
|
|
select * from t1 where not(a > 10);
|
|
explain select * from t1 where not(a <= 10);
|
|
select * from t1 where not(a <= 10);
|
|
explain select * from t1 where not(a is null);
|
|
select * from t1 where not(a is null);
|
|
explain select * from t1 where not(a is not null);
|
|
select * from t1 where not(a is not null);
|
|
explain select * from t1 where not(a < 5 or a > 15);
|
|
select * from t1 where not(a < 5 or a > 15);
|
|
explain select * from t1 where not(a < 15 and a > 5);
|
|
select * from t1 where not(a < 15 and a > 5);
|
|
|
|
explain select * from t1 where a = 2 or not(a < 10);
|
|
select * from t1 where a = 2 or not(a < 10);
|
|
explain select * from t1 where a > 5 and not(a > 10);
|
|
select * from t1 where a > 5 and not(a > 10);
|
|
explain select * from t1 where a > 5 xor a < 10;
|
|
select * from t1 where a > 5 xor a < 10;
|
|
|
|
explain select * from t1 where a = 2 or not(a < 5 or a > 15);
|
|
select * from t1 where a = 2 or not(a < 5 or a > 15);
|
|
explain select * from t1 where a = 7 or not(a < 15 and a > 5);
|
|
select * from t1 where a = 7 or not(a < 15 and a > 5);
|
|
|
|
explain select * from t1 where NULL or not(a < 15 and a > 5);
|
|
select * from t1 where NULL or not(a < 15 and a > 5);
|
|
explain select * from t1 where not(NULL and a > 5);
|
|
select * from t1 where not(NULL and a > 5);
|
|
explain select * from t1 where not(NULL or a);
|
|
select * from t1 where not(NULL or a);
|
|
explain select * from t1 where not(NULL and a);
|
|
select * from t1 where not(NULL and a);
|
|
|
|
explain select * from t1 where not((a < 5 or a < 10) and (not(a > 16) or a > 17));
|
|
select * from t1 where not((a < 5 or a < 10) and (not(a > 16) or a > 17));
|
|
explain select * from t1 where not((a < 5 and a < 10) and (not(a > 16) or a > 17));
|
|
select * from t1 where not((a < 5 and a < 10) and (not(a > 16) or a > 17));
|
|
explain select * from t1 where ((a between 5 and 15) and (not(a like 10)));
|
|
select * from t1 where ((a between 5 and 15) and (not(a like 10)));
|
|
|
|
drop table t1;
|