Loading mysql-test/r/func_time.result +3 −0 Original line number Diff line number Diff line Loading @@ -1282,4 +1282,7 @@ DATE_ADD('20071108', INTERVAL 1 DAY) select DATE_ADD(20071108, INTERVAL 1 DAY); DATE_ADD(20071108, INTERVAL 1 DAY) 2007-11-09 select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND 2007-12-30 23:59:59 End of 5.0 tests mysql-test/t/func_time.test +7 −0 Original line number Diff line number Diff line Loading @@ -797,4 +797,11 @@ select DATE_ADD(20071108181000, INTERVAL 1 DAY); select DATE_ADD('20071108', INTERVAL 1 DAY); select DATE_ADD(20071108, INTERVAL 1 DAY); # # Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps # track of the TIME. # select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; --echo End of 5.0 tests sql/item_timefunc.cc +2 −0 Original line number Diff line number Diff line Loading @@ -3415,6 +3415,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; } Loading
mysql-test/r/func_time.result +3 −0 Original line number Diff line number Diff line Loading @@ -1282,4 +1282,7 @@ DATE_ADD('20071108', INTERVAL 1 DAY) select DATE_ADD(20071108, INTERVAL 1 DAY); DATE_ADD(20071108, INTERVAL 1 DAY) 2007-11-09 select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND 2007-12-30 23:59:59 End of 5.0 tests
mysql-test/t/func_time.test +7 −0 Original line number Diff line number Diff line Loading @@ -797,4 +797,11 @@ select DATE_ADD(20071108181000, INTERVAL 1 DAY); select DATE_ADD('20071108', INTERVAL 1 DAY); select DATE_ADD(20071108, INTERVAL 1 DAY); # # Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps # track of the TIME. # select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND; --echo End of 5.0 tests
sql/item_timefunc.cc +2 −0 Original line number Diff line number Diff line Loading @@ -3415,6 +3415,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; }