Hi, Alexander!

Looks very good!

Just one comment - instead of a special treatment for MYSQL_TYPE_NULL, I
would try to set decimal=0 in Item_null. It already sets max_length=0,
and I cannot think of any reason why we might want decimal to be 31 for it.

On Mar 17, Alexander Barkov wrote:
> Hi Sergei,
> 
> It appeared to be very easy to fix all hybrid functions to use the same
> attribute aggregation code, and therefore get rid of duplicate
> implementations for Item_func_case_abbreviation2 and
> Item_func_case.
> 
> This patch fixes:
> - The original problem reported in MDEV-9653
> 
> - An additional problem, see new comments about COALESCE and IF
>   returning 1.1000000000000000000000000000000 instead of just 1.1
> 
> - A new problem that I found:
>   MDEV-9752 Wrong data type for COALEASCE(?,1) in prepared statements
> 
> 
> Note, the patch does not cover LEAST/GREATEST. They have another
> version of their own aggregation code. I don't want to touch them
> in this fix. Let's do them separately.
> 
> Note, I also removed Item_func_case::agg_str_lengths().
> It was a dead code.

Regards,
Sergei
Chief Architect MariaDB
and secur...@mariadb.org

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to