summaryrefslogtreecommitdiff
path: root/mysql-test/r/partition_pruning.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/r/partition_pruning.result')
-rw-r--r--mysql-test/r/partition_pruning.result288
1 files changed, 144 insertions, 144 deletions
diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result
index 0fb24b74218..69a43ae7238 100644
--- a/mysql-test/r/partition_pruning.result
+++ b/mysql-test/r/partition_pruning.result
@@ -640,29 +640,33 @@ PARTITION BY RANGE (TO_DAYS(a))
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'),
+INSERT IGNORE INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 4
+Warning 1265 Data truncated for column 'a' at row 6
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -670,45 +674,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -720,55 +723,53 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
+1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
+1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 index a a 4 NULL 5 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p2001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 pNULL,p2001-01-01 index a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p1001-01-01 system a NULL NULL NULL 1
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
+1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
+1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 index a a 4 NULL 5 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 index a a 4 NULL 5 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
@@ -793,7 +794,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01,p2001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
+1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL,p1001-01-01,p2001-01-01 index a a 4 NULL 5 Using where; Using index
@@ -801,28 +802,30 @@ EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01 index a a 4 NULL 6 Using where; Using index
# test without index
+SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
ALTER TABLE t1 DROP KEY a;
+SET sql_mode = DEFAULT;
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -830,45 +833,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -880,27 +882,25 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
@@ -969,29 +969,33 @@ 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'),
+INSERT IGNORE INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 4
+Warning 1265 Data truncated for column 'a' at row 6
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -999,45 +1003,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1049,55 +1052,53 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL index a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p1001-01-01 system a NULL NULL NULL 1
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
@@ -1122,7 +1123,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL,p1001-01-01 index a a 4 NULL 4 Using where; Using index
@@ -1130,28 +1131,30 @@ EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
# test without index
+SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
ALTER TABLE t1 DROP KEY a;
+SET sql_mode = DEFAULT;
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1159,45 +1162,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1209,27 +1211,25 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
@@ -1298,29 +1298,33 @@ PARTITION `p2001-01-01` VALUES IN (TO_SECONDS('2001-01-01')),
PARTITION `pNULL` VALUES IN (NULL),
PARTITION `p0000-01-02` VALUES IN (TO_SECONDS('0000-01-02')),
PARTITION `p1001-01-01` VALUES IN (TO_SECONDS('1001-01-01')));
-INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
+INSERT IGNORE INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 4
+Warning 1265 Data truncated for column 'a' at row 6
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1328,45 +1332,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1378,55 +1381,53 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL index a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p1001-01-01 system a NULL NULL NULL 1
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 4 Using where; Using index
+1 SIMPLE t1 p2001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
@@ -1451,7 +1452,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 3 Using where; Using index
+1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 pNULL,p1001-01-01 index a a 4 NULL 4 Using where; Using index
@@ -1459,28 +1460,30 @@ EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0001-01-01,pNULL,p1001-01-01 range a a 4 NULL 3 Using where; Using index
# test without index
+SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
ALTER TABLE t1 DROP KEY a;
+SET sql_mode = DEFAULT;
SELECT * FROM t1 WHERE a < '1001-01-01';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1488,45 +1491,44 @@ a
SELECT * FROM t1 WHERE a < '1001-00-00';
a
0000-00-00
+0000-00-00
+0000-00-00
0000-01-02
0001-01-01
SELECT * FROM t1 WHERE a <= '1001-00-00';
a
0000-00-00
+0000-00-00
+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
# Disabling warnings for the invalid date
SELECT * FROM t1 WHERE a < '1999-02-31';
a
0000-00-00
+0000-00-00
+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-00-00
+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
@@ -1538,27 +1540,25 @@ a
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
a
0000-00-00
+0000-00-00
+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-00-00
+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
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
id select_type table partitions type possible_keys key key_len ref rows Extra