summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <tnurnberg@mysql.com/white.intern.koehntopp.de>2007-12-10 09:17:18 +0100
committerunknown <tnurnberg@mysql.com/white.intern.koehntopp.de>2007-12-10 09:17:18 +0100
commitd689cf23be4f14e0735126b2535254c3d5cc3a62 (patch)
tree5067648e9e800cc99bd8a11076db667db85ef493 /sql
parentbfe58b71f26cd791c5f196d843cb00f9752f8349 (diff)
downloadmariadb-git-d689cf23be4f14e0735126b2535254c3d5cc3a62.tar.gz
Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps track of the TIME.
LAST_DAY() says it returns a DATE, not a DATETIME, but didn't zero the time fields. Adapted from a patch kindly supplied by Claudio Cherubino. mysql-test/r/func_time.result: show that LAST_DAY() returns only a DATE, not a DATETIME mysql-test/t/func_time.test: show that LAST_DAY() returns only a DATE, not a DATETIME sql/item_timefunc.cc: zero time-fields as we return only a DATE
Diffstat (limited to 'sql')
-rw-r--r--sql/item_timefunc.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 7ed5e375f5b..82159658883 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -3411,6 +3411,8 @@ bool Item_func_last_day::get_date(MYSQL_TIME *ltime, uint fuzzy_date)
ltime->day= days_in_month[month_idx];
if ( month_idx == 1 && calc_days_in_year(ltime->year) == 366)
ltime->day= 29;
+ ltime->hour= ltime->minute= ltime->second= 0;
+ ltime->second_part= 0;
ltime->time_type= MYSQL_TIMESTAMP_DATE;
return 0;
}