diff options
author | mikael/pappa@dator5.(none) <> | 2006-07-20 05:28:16 -0400 |
---|---|---|
committer | mikael/pappa@dator5.(none) <> | 2006-07-20 05:28:16 -0400 |
commit | cef004845ca44f573f2b6be5dd3807ef90498a30 (patch) | |
tree | da310fc6f8a67bd811c883d600b16277eb1c9f3c /mysql-test/t/partition_range.test | |
parent | bae61f209dc2460b53dcdb2b5a66aa53ff41a236 (diff) | |
download | mariadb-git-cef004845ca44f573f2b6be5dd3807ef90498a30.tar.gz |
BUG20733: Bug in partition pruning with zerofill field
Problem was with handling NULL values in ranges
Diffstat (limited to 'mysql-test/t/partition_range.test')
-rw-r--r-- | mysql-test/t/partition_range.test | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mysql-test/t/partition_range.test b/mysql-test/t/partition_range.test index 38142a9d485..670b9333ab9 100644 --- a/mysql-test/t/partition_range.test +++ b/mysql-test/t/partition_range.test @@ -10,6 +10,50 @@ drop table if exists t1; --enable_warnings # +# More checks for partition pruning +# +create table t1 (a int unsigned) +partition by range (a) +(partition pnull values less than (0), + partition p0 values less than (1), + partition p1 values less than(2)); +insert into t1 values (null),(0),(1); + +select * from t1 where a is null; +select * from t1 where a >= 0; +select * from t1 where a < 0; +select * from t1 where a <= 0; +select * from t1 where a > 1; +explain partitions select * from t1 where a is null; +explain partitions select * from t1 where a >= 0; +explain partitions select * from t1 where a < 0; +explain partitions select * from t1 where a <= 0; +explain partitions select * from t1 where a > 1; +drop table t1; + +create table t1 (a int unsigned, b int unsigned) +partition by range (a) +subpartition by hash (b) +subpartitions 2 +(partition pnull values less than (0), + partition p0 values less than (1), + partition p1 values less than(2)); +insert into t1 values (null,0),(null,1),(0,0),(0,1),(1,0),(1,1); + +select * from t1 where a is null; +select * from t1 where a >= 0; +select * from t1 where a < 0; +select * from t1 where a <= 0; +select * from t1 where a > 1; +explain partitions select * from t1 where a is null; +explain partitions select * from t1 where a >= 0; +explain partitions select * from t1 where a < 0; +explain partitions select * from t1 where a <= 0; +explain partitions select * from t1 where a > 1; + +drop table t1; + +# # Partition by range, basic # CREATE TABLE t1 ( |