3535 Martin Hansson 2011-01-19 [merge]
Merge of fix for Bug#59173.
modified:
mysql-test/r/type_datetime.result
mysql-test/t/type_datetime.test
sql/item_cmpfunc.cc
3534 Alexander Barkov 2011-01-19 [merge]
Merging Copyright update from 5.5
modified:
strings/bchange.c
strings/bmove_upp.c
strings/conf_to_src.c
strings/ctype-big5.c
strings/ctype-bin.c
strings/ctype-cp932.c
strings/ctype-czech.c
strings/ctype-euc_kr.c
strings/ctype-eucjpms.c
strings/ctype-extra.c
strings/ctype-gb2312.c
strings/ctype-gbk.c
strings/ctype-latin1.c
strings/ctype-mb.c
strings/ctype-simple.c
strings/ctype-sjis.c
strings/ctype-tis620.c
strings/ctype-uca.c
strings/ctype-ucs2.c
strings/ctype-ujis.c
strings/ctype-utf8.c
strings/ctype-win1250ch.c
strings/ctype.c
strings/do_ctype.c
strings/dtoa.c
strings/dump_map.c
strings/int2str.c
strings/is_prefix.c
strings/llstr.c
strings/longlong2str.c
strings/my_strchr.c
strings/my_strtoll10.c
strings/my_vsnprintf.c
strings/str2int.c
strings/str_alloc.c
strings/strappend.c
strings/strcend.c
strings/strcont.c
strings/strend.c
strings/strfill.c
strings/strmake.c
strings/strmov.c
strings/strnlen.c
strings/strnmov.c
strings/strxmov.c
strings/strxnmov.c
strings/uca-dump.c
strings/uctypedump.c
strings/utr11-dump.c
strings/xml.c
=== modified file 'mysql-test/r/type_datetime.result'
--- a/mysql-test/r/type_datetime.result 2010-10-21 11:34:17 +0000
+++ b/mysql-test/r/type_datetime.result 2011-01-19 14:39:13 +0000
@@ -638,6 +638,17 @@ CAST(CAST('2008-07-29T10:42:51.1234567'
20080729104251.1234560
Warnings:
Warning 1292 Truncated incorrect datetime value: '2008-07-29T10:42:51.1234567'
+#
+# Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
+# Day is ZERO
+#
+CREATE TABLE t1 (dt1 DATETIME);
+INSERT INTO t1 (dt1) VALUES ('0000-00-01 00:00:01');
+DELETE FROM t1 WHERE dt1 = '0000-00-01 00:00:01';
+# Should be empty
+SELECT * FROM t1;
+dt1
+DROP TABLE t1;
End of 5.1 tests
#
# Start of 5.5 tests
=== modified file 'mysql-test/t/type_datetime.test'
--- a/mysql-test/t/type_datetime.test 2010-10-21 11:34:17 +0000
+++ b/mysql-test/t/type_datetime.test 2011-01-19 14:39:13 +0000
@@ -451,6 +451,17 @@ SELECT CAST(CAST('00000002006-000008-000
# show we truncate microseconds from the right
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime) AS DECIMAL(30,7));
+--echo #
+--echo # Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
+--echo # Day is ZERO
+--echo #
+CREATE TABLE t1 (dt1 DATETIME);
+INSERT INTO t1 (dt1) VALUES ('0000-00-01 00:00:01');
+DELETE FROM t1 WHERE dt1 = '0000-00-01 00:00:01';
+--echo # Should be empty
+SELECT * FROM t1;
+DROP TABLE t1;
+
--echo End of 5.1 tests
--echo #
=== modified file 'sql/item_cmpfunc.cc'
--- a/sql/item_cmpfunc.cc 2011-01-14 09:29:11 +0000
+++ b/sql/item_cmpfunc.cc 2011-01-19 14:39:13 +0000
@@ -918,7 +918,7 @@ int Arg_comparator::set_cmp_func(Item_re
cache_converted_constant can't be used here because it can't
correctly convert a DATETIME value from string to int representation.
*/
- Item_cache_int *cache= new Item_cache_int();
+ Item_cache_int *cache= new Item_cache_int(MYSQL_TYPE_DATETIME);
/* Mark the cache as non-const to prevent re-caching. */
cache->set_used_tables(1);
if (!(*a)->is_datetime())
Attachment: [text/bzr-bundle] bzr/martin.hansson@oracle.com-20110119143913-7ctrb0tgk43csqwa.bundle
| Thread |
|---|
| • bzr push into mysql-trunk branch (martin.hansson:3534 to 3535) Bug#59173 | Martin Hansson | 20 Jan |