summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorevgen@moonbone.local <>2007-07-20 00:06:35 +0400
committerevgen@moonbone.local <>2007-07-20 00:06:35 +0400
commit08b9103d71c0d400b3741d2f48f8f763b96a1320 (patch)
treec289f957a8353fed4b3b04d0291bdd114445733c /mysql-test
parent7a2491871d61a2a64bc496eecbcbcbc56fe5471c (diff)
downloadmariadb-git-08b9103d71c0d400b3741d2f48f8f763b96a1320.tar.gz
Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag.
The Item_date_typecast::val_int function doesn't reset null_value flag. This makes all values that follows the first null value to be treated as nulls and led to a wrong result. Now the Item_date_typecast::val_int function correctly sets the null_value flag for both null and non-null values.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/cast.result11
-rw-r--r--mysql-test/t/cast.test9
2 files changed, 20 insertions, 0 deletions
diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result
index 6eceeff87e2..524ff48d69e 100644
--- a/mysql-test/r/cast.result
+++ b/mysql-test/r/cast.result
@@ -403,4 +403,15 @@ hex(cast('a' as binary(2)))
select hex(cast('a' as char(2) binary));
hex(cast('a' as char(2) binary))
61
+CREATE TABLE t1 (d1 datetime);
+INSERT INTO t1(d1) VALUES ('2007-07-19 08:30:00'), (NULL),
+('2007-07-19 08:34:00'), (NULL), ('2007-07-19 08:36:00');
+SELECT cast(date(d1) as signed) FROM t1;
+cast(date(d1) as signed)
+20070719
+NULL
+20070719
+NULL
+20070719
+drop table t1;
End of 5.0 tests
diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test
index b665eb86656..316b79efe4d 100644
--- a/mysql-test/t/cast.test
+++ b/mysql-test/t/cast.test
@@ -237,4 +237,13 @@ select hex(cast('a' as char(2) binary));
select hex(cast('a' as binary(2)));
select hex(cast('a' as char(2) binary));
+#
+# Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag.
+#
+CREATE TABLE t1 (d1 datetime);
+INSERT INTO t1(d1) VALUES ('2007-07-19 08:30:00'), (NULL),
+ ('2007-07-19 08:34:00'), (NULL), ('2007-07-19 08:36:00');
+SELECT cast(date(d1) as signed) FROM t1;
+drop table t1;
+
--echo End of 5.0 tests