summaryrefslogtreecommitdiff
path: root/mysql-test/t/partition_range.test
diff options
context:
space:
mode:
authormikael/pappa@dator5.(none) <>2006-07-20 05:28:16 -0400
committermikael/pappa@dator5.(none) <>2006-07-20 05:28:16 -0400
commitcef004845ca44f573f2b6be5dd3807ef90498a30 (patch)
treeda310fc6f8a67bd811c883d600b16277eb1c9f3c /mysql-test/t/partition_range.test
parentbae61f209dc2460b53dcdb2b5a66aa53ff41a236 (diff)
downloadmariadb-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.test44
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 (