Commit 57e700d7 authored by unknown's avatar unknown
Browse files

additional fix to the bug #13372 (decimal union)


mysql-test/r/type_float.result:
  test result fixed
sql/item.cc:
  we have to limit the max_length
parent 087f7cc8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -247,6 +247,6 @@ d
show create table t3;
Table	Create Table
t3	CREATE TABLE `t3` (
  `d` double(61,9) default NULL
  `d` double(22,9) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2, t3;
+2 −2
Original line number Diff line number Diff line
@@ -3230,12 +3230,12 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
  }
  case REAL_RESULT:
  {
    decimals= max(decimals, item->decimals);
    if (decimals != NOT_FIXED_DEC)
    {
      int delta1= max_length_orig - decimals_orig;
      int delta2= item->max_length - item->decimals;
      max_length= max(delta1, delta2) + decimals;
      max_length= min(max(delta1, delta2) + decimals,
                      (fld_type == MYSQL_TYPE_FLOAT) ? FLT_DIG+6 : DBL_DIG+7);
    }
    else
      max_length= (fld_type == MYSQL_TYPE_FLOAT) ? FLT_DIG+6 : DBL_DIG+7;