maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #05995
Re: 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@xxxxxxxxxxx-20130807093420-khdah292yerbor8y
> parent: sergii@xxxxxxxxx-20130715163225-6ch6x34lsufode3d
> committer: Alexander Barkov <bar@xxxxxxxxxxx>
> 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