• unknown's avatar
    Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, · 42894ed0
    unknown authored
    JOIN, and ORDER BY
    
    Problem: improper maximum length calculation of the CASE function leads to 
    decimal value truncation (storing/retrieving decimal field values).
    
    Fix: accurately calculate maximum length/unsigned flag/decimals parameters 
    of the CASE function.
    
    
    mysql-test/r/case.result:
      Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, 
      JOIN, and ORDER BY
        - test result.
    mysql-test/t/case.test:
      Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, 
      JOIN, and ORDER BY
        - test case.
    sql/item_cmpfunc.cc:
      Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, 
      JOIN, and ORDER BY
        - accurately calculate Item_func_case::max_length/unsigned_flag/decimals.
    sql/item_cmpfunc.h:
      Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, 
      JOIN, and ORDER BY
        - accurately calculate Item_func_case::max_length/unsigned_flag/decimals.
    42894ed0
item_cmpfunc.h 48.2 KB