1. 29 Apr, 2007 1 commit
  2. 28 Apr, 2007 3 commits
    • unknown's avatar
      Avoid compiler warnings in Windows builds introduced by the patch for bug... · 024dbd23
      unknown authored
      Avoid compiler warnings in Windows builds introduced by the patch for bug #24912 "problems with bigint in abs() ceiling() ruond() truncate() mod()"
      
      
      
      024dbd23
    • unknown's avatar
      Merge polly.local:/home/kaa/src/maint/bug24912/my50-bug24912 · ac86892f
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      ac86892f
    • unknown's avatar
      Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate()... · 38090df9
      unknown authored
      Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate() mod()" and a number of related problems:
      
      - unsigned flag was not handled correctly for a number of mathematical funcions, which led to incorrect results
      - passing large values as the number of decimals to ROUND() resulted in incorrect results and even server crashes in some cases
      - reverted the fix and the testcase for bug #10083 as it violates the manual
      - fixed some testcases which relied on broken ROUND() behavior
      
      
      mysql-test/r/func_math.result:
        - Removed the testcase for bug #10083 (not a bug according to the manual)
        - Changed the testcase for bug #9837 to expect a correct ROUND() behavior
        - Added testcases for bug #24912 and all related bugs found
      mysql-test/r/type_newdecimal.result:
        Fixed a truncate() testcase which relied on broken behavior
      mysql-test/t/func_math.test:
        - Removed the testcase for bug #10083 (not a bug according to the manual)
        - Changed the testcase for bug #9837 to expect a correct ROUND() behavior
        - Added testcases for bug #24912 and all related bugs found
      sql/item_func.cc:
        Various changes to fix bug #24912 and all related bugs found:
        - honor unsigned_flag in various Item_* functions
        - correctly handle out-of-range numbers of decimals in Item_func_round::fix_length_and_dec()
        - changed the argument specifying the number of decimals in my_double_round() from int to longlong, added a new argument to pass the 'unsigned flag'
        - changed my_double_round() to correctly handle large values passed as the 'number of decimals' argument
        - added a my_double_round() analog for BIGINT UNSIGNED arguments (my_unsigned_round())
        - fixed Item_func_round()::int_op() to not overflow even when the result is within integer range
        - fixed a bug Item_founc_round()::decimal_op() which resulted in crash when a large number of decimals was passed to my_decimal_round()
      sql/item_func.h:
        Various fixed to correctly handle unsigned values.
      sql/item_strfunc.cc:
        Changed the call to my_double_round() to match the new declaration.
      sql/mysql_priv.h:
        Changed the declaration for my_double_round() to be able pass arbitrary integers as number of decimals (both signed and unsigned)
      38090df9
  3. 27 Apr, 2007 5 commits
  4. 26 Apr, 2007 11 commits
  5. 25 Apr, 2007 4 commits
  6. 24 Apr, 2007 15 commits
  7. 23 Apr, 2007 1 commit