mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge
This commit is contained in:
63
mysql-test/include/partition_date_range.inc
Normal file
63
mysql-test/include/partition_date_range.inc
Normal file
@ -0,0 +1,63 @@
|
||||
# Created for verifying bug#20577.
|
||||
# expects TABLE t1 (... , a DATE, ...)
|
||||
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
if ($explain_partitions)
|
||||
{
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
}
|
@ -1,4 +1,429 @@
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
# test of RANGE and index
|
||||
CREATE TABLE t1 (a DATE, KEY(a))
|
||||
PARTITION BY RANGE (TO_DAYS(a))
|
||||
(PARTITION `pNULL` VALUES LESS THAN (0),
|
||||
PARTITION `p0001-01-01` VALUES LESS THAN (366 + 1),
|
||||
PARTITION `p1001-01-01` VALUES LESS THAN (TO_DAYS('1001-01-01') + 1),
|
||||
PARTITION `p2001-01-01` VALUES LESS THAN (TO_DAYS('2001-01-01') + 1));
|
||||
INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
|
||||
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
a
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
a
|
||||
Warning 1292 Incorrect date value: '1999-02-31' for column 'a' at row 1
|
||||
Warnings:
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
a
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
# test without index
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
a
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
a
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
a
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
DROP TABLE t1;
|
||||
# test of LIST and index
|
||||
CREATE TABLE t1 (a DATE, KEY(a))
|
||||
PARTITION BY LIST (TO_DAYS(a))
|
||||
(PARTITION `p0001-01-01` VALUES IN (TO_DAYS('0001-01-01')),
|
||||
PARTITION `p2001-01-01` VALUES IN (TO_DAYS('2001-01-01')),
|
||||
PARTITION `pNULL` VALUES IN (NULL),
|
||||
PARTITION `p0000-01-02` VALUES IN (TO_DAYS('0000-01-02')),
|
||||
PARTITION `p1001-01-01` VALUES IN (TO_DAYS('1001-01-01')));
|
||||
INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
|
||||
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
a
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
a
|
||||
Warning 1292 Incorrect date value: '1999-02-31' for column 'a' at row 1
|
||||
Warnings:
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
a
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
# test without index
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
a
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
a
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
a
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
a
|
||||
2001-01-01
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
a
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
a
|
||||
0000-00-00
|
||||
0000-01-02
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
a
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
1002-00-00
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
a
|
||||
0001-01-01
|
||||
1001-00-00
|
||||
1001-01-01
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1
|
||||
(a INT NOT NULL AUTO_INCREMENT,
|
||||
b DATETIME,
|
||||
|
@ -745,7 +745,7 @@ a
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1
|
||||
WHERE a >= '2004-07-01' AND a <= '2004-09-30';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409 ALL NULL NULL NULL NULL 18 Using where
|
||||
SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
@ -772,7 +772,7 @@ EXPLAIN PARTITIONS SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 27 Using where
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
|
@ -8,6 +8,50 @@
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Bug#20577: Partitions: use of to_days() function leads to selection failures
|
||||
#
|
||||
--let $explain_partitions= 1;
|
||||
--let $verify_without_partitions= 0;
|
||||
--echo # test of RANGE and index
|
||||
CREATE TABLE t1 (a DATE, KEY(a))
|
||||
PARTITION BY RANGE (TO_DAYS(a))
|
||||
(PARTITION `pNULL` VALUES LESS THAN (0),
|
||||
PARTITION `p0001-01-01` VALUES LESS THAN (366 + 1),
|
||||
PARTITION `p1001-01-01` VALUES LESS THAN (TO_DAYS('1001-01-01') + 1),
|
||||
PARTITION `p2001-01-01` VALUES LESS THAN (TO_DAYS('2001-01-01') + 1));
|
||||
if ($verify_without_partitions)
|
||||
{
|
||||
ALTER TABLE t1 REMOVE PARTITIONING;
|
||||
}
|
||||
INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
|
||||
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
|
||||
--source include/partition_date_range.inc
|
||||
--echo # test without index
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
--source include/partition_date_range.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # test of LIST and index
|
||||
CREATE TABLE t1 (a DATE, KEY(a))
|
||||
PARTITION BY LIST (TO_DAYS(a))
|
||||
(PARTITION `p0001-01-01` VALUES IN (TO_DAYS('0001-01-01')),
|
||||
PARTITION `p2001-01-01` VALUES IN (TO_DAYS('2001-01-01')),
|
||||
PARTITION `pNULL` VALUES IN (NULL),
|
||||
PARTITION `p0000-01-02` VALUES IN (TO_DAYS('0000-01-02')),
|
||||
PARTITION `p1001-01-01` VALUES IN (TO_DAYS('1001-01-01')));
|
||||
if ($verify_without_partitions)
|
||||
{
|
||||
ALTER TABLE t1 REMOVE PARTITIONING;
|
||||
}
|
||||
INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
|
||||
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
|
||||
--source include/partition_date_range.inc
|
||||
--echo # test without index
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
--source include/partition_date_range.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#40972: some sql execution lead the whole database crashing
|
||||
#
|
||||
|
Reference in New Issue
Block a user