Re: [Maria-developers] Rev 3671: MDEV-4652 Wrong result for CONCAT(GREATEST(TIME('00:00:01'), TIME('00:00:00')))
Hi, Alexander! On Aug 07, Alexander Barkov wrote:
At lp:~maria-captains/maria/5.3
------------------------------------------------------------ revno: 3671 revision-id: bar@mariadb.org-20130807093420-khdah292yerbor8y parent: sergii@pisem.net-20130715163225-6ch6x34lsufode3d committer: Alexander Barkov <bar@mariadb.org> branch nick: 5.3.b4652 timestamp: Wed 2013-08-07 13:34:20 +0400 message: MDEV-4652 Wrong result for CONCAT(GREATEST(TIME('00:00:01'),TIME('00:00:00')))
Ok to push.
=== modified file 'sql/item.cc' --- a/sql/item.cc 2013-07-03 07:46:20 +0000 +++ b/sql/item.cc 2013-08-07 09:34:20 +0000 @@ -252,7 +252,8 @@ String *Item::val_string_from_decimal(St String *Item::val_string_from_date(String *str) { MYSQL_TIME ltime; - if (get_date(<ime, 0) || + if (get_date(<ime, + field_type() == MYSQL_TYPE_TIME ? TIME_TIME_ONLY : 0) || str->alloc(MAX_DATE_STRING_REP_LENGTH)) { null_value= 1;
=== modified file 'sql/item_func.cc' --- a/sql/item_func.cc 2013-07-03 07:46:20 +0000 +++ b/sql/item_func.cc 2013-08-07 09:34:20 +0000 @@ -2480,6 +2480,13 @@ bool Item_func_min_max::get_date(MYSQL_T ltime->time_type= MYSQL_TIMESTAMP_DATE; ltime->hour= ltime->minute= ltime->second= ltime->second_part= 0; } + else if (compare_as_dates->field_type() == MYSQL_TYPE_TIME) + { + ltime->time_type= MYSQL_TIMESTAMP_TIME; + ltime->hour+= (ltime->month * 32 + ltime->day) * 24; + ltime->month= ltime->day= 0; + } +
return 0; }
Regards, Sergei
participants (1)
-
Sergei Golubchik