#At file:///home/gluh/MySQL/mysql-trunk/ based on revid:andrei.elkin@stripped
3346 Sergey Glukhov 2011-03-30 [merge]
5.5 -> trunk merge
@ mysql-test/r/func_time.result
5.5 -> trunk merge
@ mysql-test/t/func_time.test
5.5 -> trunk merge
@ sql/item.cc
5.5 -> trunk merge
@ sql/item_timefunc.h
5.5 -> trunk merge
modified:
mysql-test/r/func_time.result
mysql-test/t/func_time.test
sql/item.cc
sql/item_timefunc.h
=== modified file 'mysql-test/r/func_time.result'
--- a/mysql-test/r/func_time.result 2011-03-28 13:38:03 +0000
+++ b/mysql-test/r/func_time.result 2011-03-30 07:42:03 +0000
@@ -1365,6 +1365,18 @@ SET GLOBAL SQL_MODE=DEFAULT;
SELECT FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1);
FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1)
NULL
+#
+# Bug#11766126 59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
+#
+SELECT CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025));
+CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025))
+NULL
+#
+# Bug#11766124 59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
+#
+SELECT ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR);
+ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR)
+NULL
End of 5.1 tests
#
# BUG#43578 "MyISAM&Maria gives wrong rows with range access
=== modified file 'mysql-test/t/func_time.test'
--- a/mysql-test/t/func_time.test 2011-03-28 13:38:03 +0000
+++ b/mysql-test/t/func_time.test 2011-03-30 07:42:03 +0000
@@ -882,6 +882,18 @@ SET GLOBAL SQL_MODE=DEFAULT;
SELECT FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1);
+--echo #
+--echo # Bug#11766126 59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
+--echo #
+
+SELECT CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025));
+
+--echo #
+--echo # Bug#11766124 59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
+--echo #
+
+SELECT ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR);
+
--echo End of 5.1 tests
--echo #
=== modified file 'sql/item.cc'
--- a/sql/item.cc 2011-03-22 11:44:40 +0000
+++ b/sql/item.cc 2011-03-30 07:42:03 +0000
@@ -1006,8 +1006,12 @@ bool Item::get_date(MYSQL_TIME *ltime,ui
}
else
{
- longlong value= val_int();
int was_cut;
+ longlong value= val_int();
+
+ if (null_value)
+ goto err;
+
if (number_to_datetime(value, ltime, fuzzydate, &was_cut) == LL(-1))
{
char buff[22], *end;
=== modified file 'sql/item_timefunc.h'
--- a/sql/item_timefunc.h 2011-03-22 11:44:40 +0000
+++ b/sql/item_timefunc.h 2011-03-30 07:42:03 +0000
@@ -140,8 +140,11 @@ public:
{ DBUG_ASSERT(fixed == 1); return (double) Item_func_month::val_int(); }
String *val_str(String *str)
{
- str->set(val_int(), collation.collation);
- return null_value ? 0 : str;
+ longlong nr= val_int();
+ if (null_value)
+ return 0;
+ str->set(nr, collation.collation);
+ return str;
}
const char *func_name() const { return "month"; }
enum Item_result result_type () const { return INT_RESULT; }
No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).
| Thread |
|---|
| • bzr commit into mysql-trunk branch (sergey.glukhov:3346) | Sergey Glukhov | 30 Mar |