Commit 3ea5628b authored by unknown's avatar unknown
Browse files

Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint

into  mysql.com:/usr/home/ram/work/bug23653/my50-bug23653

parents ab6d4437 096631a3
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1047,6 +1047,9 @@ union
(select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 HOUR)),'%k') As H);
H
5
select last_day('0000-00-00');
last_day('0000-00-00')
NULL
End of 4.1 tests
explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;
+6 −0
Original line number Diff line number Diff line
@@ -564,6 +564,12 @@ union
union
(select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 HOUR)),'%k') As H);

#
# Bug #23653: crash if last_day('0000-00-00')
#

select last_day('0000-00-00');

--echo End of 4.1 tests

explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
+2 −1
Original line number Diff line number Diff line
@@ -3369,7 +3369,8 @@ String *Item_func_str_to_date::val_str(String *str)

bool Item_func_last_day::get_date(TIME *ltime, uint fuzzy_date)
{
  if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE))
  if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE) ||
      (ltime->month == 0))
    return 1;
  uint month_idx= ltime->month-1;
  ltime->day= days_in_month[month_idx];