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