summaryrefslogtreecommitdiff
path: root/mysql-test/t/select.test
diff options
context:
space:
mode:
authorunknown <tnurnberg@mysql.com/white.intern.koehntopp.de>2007-11-08 06:08:44 +0100
committerunknown <tnurnberg@mysql.com/white.intern.koehntopp.de>2007-11-08 06:08:44 +0100
commitb1fc4b9e639ab6913df49bbd8c01103eaf14c81d (patch)
treedb986cc0639f1d5c4413338e7ad1cca547a7e992 /mysql-test/t/select.test
parent9e6bb07d3845566ffa7274bb14df544c8147f594 (diff)
downloadmariadb-git-b1fc4b9e639ab6913df49bbd8c01103eaf14c81d.tar.gz
Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast. This happened because DATE-cast object did not overload get_time() method in superclass Item. The default method was inappropriate here and misinterpreted the data. Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL on NULL input, 0 otherwise. This coincides with the way DATE-columns behave. mysql-test/r/cast.result: Show that HOUR(), MINUTE(), ... return sensible values when used on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise. Show that this coincides with how DATE-columns behave. mysql-test/t/cast.test: Show that HOUR(), MINUTE(), ... return sensible values when used on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise. Show that this coincides with how DATE-columns behave. sql/item_timefunc.cc: Add get_time() method to DATE-cast object to overload the method in Item superclass that would return spurious results. Return zero-result; flag NULL if input was NULL. sql/item_timefunc.h: Add get_time() declaration to DATE-cast object.
Diffstat (limited to 'mysql-test/t/select.test')
0 files changed, 0 insertions, 0 deletions