1. 02 Dec, 2007 2 commits
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788 · 7980537c
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      mysql-test/t/insert.test:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/field.cc:
        Auto merged
      7980537c
    • unknown's avatar
      Windows-specific fixes in floating point tests. · f7bd0808
      unknown authored
      
      mysql-test/t/insert.test:
        Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result
      mysql-test/t/variables.test:
        We need to do replace_result because variables are printed by another procedure.
      sql/field.cc:
        Fixed the code to limit the precision to DBL_DIG.
      f7bd0808
  2. 01 Dec, 2007 6 commits
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788 · a4ba80a8
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      mysql-test/r/insert.result:
        Auto merged
      mysql-test/t/insert.test:
        Auto merged
      sql/field.cc:
        Auto merged
      a4ba80a8
    • unknown's avatar
      Fixed the floating point number tests on Windows. · cf4b8f6a
      unknown authored
      
      mysql-test/r/insert.result:
        Fixed the test cases.
      mysql-test/t/cast.test:
        We need to do replace_result because warnings are printed by another procedure.
      mysql-test/t/insert.test:
        Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result.
      sql/field.cc:
        Limit the precision to avoid garbage past the significant digits.
      cf4b8f6a
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788 · 509d07bf
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      sql/field.cc:
        Auto merged
      509d07bf
    • unknown's avatar
      Fixed the build failure on Windows. It does not have trunc() defined in... · 371514ec
      unknown authored
      Fixed the build failure on Windows. It does not have trunc() defined in math.h, so we should not use it code.
      
      
      371514ec
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788 · 961f3586
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      mysql-test/t/type_float.test:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/field.cc:
        Auto merged
      mysql-test/r/insert.result:
        SCCS merged
      mysql-test/t/insert.test:
        SCCS merged
      961f3586
    • unknown's avatar
      Fix for bug #26788 "mysqld (debug) aborts when inserting specific · 10f11bcd
      unknown authored
      numbers into char fields" and bug #12860 "Difference in zero padding of
      exponent between Unix and Windows"
      
      Rewrote the code that determines what 'precision' argument should be
      passed to sprintf() to fit the string representation of the input number
      into the field.
      We get finer control over conversion by pre-calculating the exponent, so
      we are able to determine which conversion format, 'e' or 'f', will be
      used by sprintf().
      We also remove the leading zero from the exponent on Windows to make it
      compatible with the sprintf() output on other platforms.
      
      
      mysql-test/r/insert.result:
        Added test cases for bug #26788 and bug #31152.
      mysql-test/t/cast.test:
        Removed --replace_result, since the result is now correct on Windows.
      mysql-test/t/insert.test:
        Added test cases for bug #26788 and bug #31152.
      mysql-test/t/type_float.test:
        Removed --replace_result, since the result is now correct on Windows.
      mysql-test/t/variables.test:
        Removed --replace_result, since the result is now correct on Windows.
      sql/field.cc:
        Rewrote the code that determines what 'precision' argument should be
        passed to sprintf() to fit the string representation of the input number
        into the field.
        We get finer control over conversion by pre-calculating the exponent, so
        we are able to determine which conversion format, 'e' or 'f', will be
        used by sprintf().
      10f11bcd
  3. 20 Nov, 2007 1 commit
  4. 17 Nov, 2007 2 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 5a8cff4e
      unknown authored
      into  mysql.com:/misc/mysql/24907/50-24907
      
      
      sql/sql_select.cc:
        Auto merged
      5a8cff4e
    • unknown's avatar
      Bug#24907: unpredictable (display) precission, if input precission increases · cc83f319
      unknown authored
      Server failed in assert() when we tried to create a DECIMAL() temp field
      with a scale of more than the allowed 30. Now we limit the scale to the
      allowed maximum. A truncation warning is thrown as necessary.
      
      
      mysql-test/r/type_newdecimal.result:
        Show that out of range DECIMAL temp fields will no longer
        stop the server with an assert.
      mysql-test/t/type_newdecimal.test:
        Show that out of range DECIMAL temp fields will no longer
        stop the server with an assert.
      sql/sql_select.cc:
        When creating DECIMAL() temp field, ascertain we stay within allowed
        limits. If not, truncate and warn.
      cc83f319
  5. 10 Nov, 2007 4 commits
  6. 07 Nov, 2007 1 commit
    • unknown's avatar
      Fix for bug #32137: prepared statement crash with str_to_date in update clause · dd780037
      unknown authored
      Problem: calling non-constant argument's val_xxx() methods 
      in the ::fix_length_and_dec() is inadmissible.
      
      Fix: call the method only for constant arguments.
      
      
      mysql-test/r/ps.result:
        Fix for bug #32137: prepared statement crash with str_to_date in update clause
          - test result.
      mysql-test/t/ps.test:
        Fix for bug #32137: prepared statement crash with str_to_date in update clause
          - test case.
      sql/item_timefunc.cc:
        Fix for bug #32137: prepared statement crash with str_to_date in update clause
          - call argument's val_str() only for constant items in the 
            Item_func_str_to_date::fix_length_and_dec().
      dd780037
  7. 01 Nov, 2007 4 commits
  8. 31 Oct, 2007 3 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · 1c6a97e2
      unknown authored
      into  loke.(none):/home/knielsen/devel/mysql-5.0-maint
      
      1c6a97e2
    • unknown's avatar
      BUG#31799: Scrambled number output due to integer overflow · 0b023e98
      unknown authored
      An integer overflow in number->string conversion caused completely
      wrong output of the number LONGLONG_MIN with gcc 4.2.1.
      
      Fixed by eliminating the overflow, using only operations that are
      well-defined in ANSI C.
      
      
      strings/ctype-simple.c:
        An integer overflow in number->string conversion caused completely
        wrong output of the number LONGLONG_MIN with gcc 4.2.1.
        
        Fixed by eliminating the overflow, using only operations that are
        well-defined in ANSI C.
      strings/ctype-ucs2.c:
        An integer overflow in number->string conversion caused completely
        wrong output of the number LONGLONG_MIN with gcc 4.2.1.
        
        Fixed by eliminating the overflow, using only operations that are
        well-defined in ANSI C.
      strings/int2str.c:
        An integer overflow in number->string conversion caused completely
        wrong output of the number LONGLONG_MIN with gcc 4.2.1.
        
        Fixed by eliminating the overflow, using only operations that are
        well-defined in ANSI C.
      strings/longlong2str.c:
        An integer overflow in number->string conversion caused completely
        wrong output of the number LONGLONG_MIN with gcc 4.2.1.
        
        Fixed by eliminating the overflow, using only operations that are
        well-defined in ANSI C.
      0b023e98
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · f4ee53fa
      unknown authored
      into  mysql.com:/home/ram/work/b30654/b30654.5.0
      
      f4ee53fa
  9. 30 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #30654: mysqlcheck fails during upgrade of tables whose · ce18ce32
      unknown authored
      names include backticks or blank
      
      Problem: mysqlcheck doesn't escape backtick characters in the table names.
      
      Fix: escape them.
      
      
      client/mysqlcheck.c:
        Fix for bug #30654: mysqlcheck fails during upgrade of tables whose 
        names include backticks or blank
          - escape backtick characters in the table names.
      mysql-test/r/mysqlcheck.result:
        Fix for bug #30654: mysqlcheck fails during upgrade of tables whose 
        names include backticks or blank
          - test result.
      mysql-test/t/mysqlcheck.test:
        Fix for bug #30654: mysqlcheck fails during upgrade of tables whose 
        names include backticks or blank
          - test case.
      ce18ce32
  10. 29 Oct, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 8f45e5f6
      unknown authored
      into  mysql.com:/home/ram/work/b31137/b31137.5.0
      
      8f45e5f6
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 9b241a7d
      unknown authored
      into  mysql.com:/home/ram/work/b30782/b30782.5.0
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      9b241a7d
    • unknown's avatar
      Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE, · 90081aed
      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.
      90081aed
  11. 26 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, · 51a49b17
      unknown authored
      file .\ha_innodb.
      
      Problem: if a partial unique key followed by a non-partial one we declare
      the second one as a primary key.
      
      Fix: sort non-partial unique keys before partial ones.
      
      
      include/my_base.h:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - sort unique keys that don't contain partial segments before other keys:
              set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
              use it in the sort_keys();
      mysql-test/r/innodb_mysql.result:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - test result.
      mysql-test/r/key.result:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - test result.
      mysql-test/t/innodb_mysql.test:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - test case.
      mysql-test/t/key.test:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - test case.
      sql/sql_table.cc:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - sort unique keys that don't contain partial segments before other keys:
              set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
              use it in the sort_keys();
      sql/structs.h:
        Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 
        file .\ha_innodb.
          - sort unique keys that don't contain partial segments before other keys:
              set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
              use it in the sort_keys();
      51a49b17
  12. 25 Oct, 2007 2 commits
  13. 24 Oct, 2007 6 commits
  14. 23 Oct, 2007 4 commits