• unknown's avatar
    BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0) · 9221a548
    unknown authored
     When implicitly converting string fields to numbers the 
     string-to-number conversion error was not sent to the client.
     Added code to send the conversion error as warning.
     
     We also need to prevent generation of warnings from the places
     where val_xxx() methods are called for the sole purpose of updating
     the Item::null_value flag.
     To achieve that a special function is added (and called) : 
     update_null_value(). This function will set the no_errors flag and
     will call val_xxx(). The warning generation in Field_string::val_xxx()
     will use the flag when generating the conversion warnings. 
    
    
    mysql-test/r/compare.result:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - non-convertible strings in arithmetic operations
    mysql-test/r/func_gconcat.result:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - non-convertible strings in arithmetic operations
    mysql-test/r/func_group.result:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - non-convertible strings in arithmetic operations
    mysql-test/r/type_varchar.result:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - test case
    mysql-test/t/type_varchar.test:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - test case
    sql/field.cc:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - send conversion warning to the client
    sql/item.cc:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - send conversion warning to the client
    sql/item.h:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - added a special function to explicitly update the null_value
    sql/item_func.h:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - added a special function to explicitly update the null_value
    sql/item_subselect.h:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - added a special function to explicitly update the null_value
    sql/item_sum.cc:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - added a special function to explicitly update the null_value
    sql/item_sum.h:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - added a special function to explicitly update the null_value
    sql/sql_string.h:
      BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
       - send conversion warning to the client
    9221a548
item_subselect.h 14.6 KB