List:Commits« Previous MessageNext Message »
From:Martin Hansson Date:January 20 2011 8:20am
Subject:bzr push into mysql-5.5 branch (martin.hansson:3269)
View as plain text  
 3269 Martin Hansson	2011-01-20 [merge]
      Merge.

    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-07 16:16:30 +0000
+++ b/mysql-test/r/type_datetime.result	2011-01-19 14:12:43 +0000
@@ -637,6 +637,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-07 16:16:30 +0000
+++ b/mysql-test/t/type_datetime.test	2011-01-19 14:12:43 +0000
@@ -445,6 +445,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:05:14 +0000
+++ b/sql/item_cmpfunc.cc	2011-01-19 14:12:43 +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-20110120081945-daabnuovwm7bi1s6.bundle
Thread
bzr push into mysql-5.5 branch (martin.hansson:3269) Martin Hansson20 Jan