Commit 8db63fd5 authored by unknown's avatar unknown
Browse files

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

into  production.mysql.com:/usersnfs/rkalimullin/mysql-5.0

parents b02a34f2 a8693be9
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -732,6 +732,25 @@ SELECT count(*) FROM t1 WHERE d>FROM_DAYS(TO_DAYS(@TMP)) AND d<=FROM_DAYS(TO_DAY
count(*)
3
DROP TABLE t1;
select last_day('2005-00-00');
last_day('2005-00-00')
NULL
Warnings:
Warning	1292	Truncated incorrect datetime value: '2005-00-00'
select last_day('2005-00-01');
last_day('2005-00-01')
NULL
Warnings:
Warning	1292	Truncated incorrect datetime value: '2005-00-01'
select last_day('2005-01-00');
last_day('2005-01-00')
NULL
Warnings:
Warning	1292	Truncated incorrect datetime value: '2005-01-00'
select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')),
monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m'));
monthname(str_to_date(null, '%m'))	monthname(str_to_date(null, '%m'))	monthname(str_to_date(1, '%m'))	monthname(str_to_date(0, '%m'))
NULL	NULL	January	NULL
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;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+14 −0
Original line number Diff line number Diff line
@@ -352,6 +352,20 @@ INSERT INTO t1 VALUES (NOW());
SELECT count(*) FROM t1 WHERE d>FROM_DAYS(TO_DAYS(@TMP)) AND d<=FROM_DAYS(TO_DAYS(@TMP)+1);
DROP TABLE t1;

#
# Bug #10568
#

select last_day('2005-00-00');
select last_day('2005-00-01');
select last_day('2005-01-00');

#
# Bug #18501: monthname and NULLs
#

select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')),
       monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m'));

# End of 4.1 tests

+2 −2
Original line number Diff line number Diff line
@@ -917,9 +917,9 @@ String* Item_func_monthname::val_str(String* str)
{
  DBUG_ASSERT(fixed == 1);
  const char *month_name;
  uint   month=(uint) Item_func_month::val_int();
  uint   month= (uint) val_int();

  if (!month)					// This is also true for NULL
  if (null_value || !month)
  {
    null_value=1;
    return (String*) 0;