1. 01 Nov, 2007 4 commits
  2. 31 Oct, 2007 3 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · a55b8d0d
      unknown authored
      into  loke.(none):/home/knielsen/devel/mysql-5.0-maint
      
      
      a55b8d0d
    • unknown's avatar
      BUG#31799: Scrambled number output due to integer overflow · f8b5a340
      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.
      f8b5a340
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 71f9931d
      unknown authored
      into  mysql.com:/home/ram/work/b30654/b30654.5.0
      
      
      71f9931d
  3. 30 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #30654: mysqlcheck fails during upgrade of tables whose · 2611e8ec
      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.
      2611e8ec
  4. 29 Oct, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 2fa9b3c9
      unknown authored
      into  mysql.com:/home/ram/work/b31137/b31137.5.0
      
      
      2fa9b3c9
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 016c6f61
      unknown authored
      into  mysql.com:/home/ram/work/b30782/b30782.5.0
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      016c6f61
    • 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
  5. 26 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, · d7d93cf5
      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();
      d7d93cf5
  6. 25 Oct, 2007 2 commits
  7. 24 Oct, 2007 6 commits
  8. 23 Oct, 2007 7 commits
  9. 22 Oct, 2007 2 commits
  10. 19 Oct, 2007 4 commits
  11. 18 Oct, 2007 4 commits
  12. 17 Oct, 2007 3 commits
    • unknown's avatar
      Bug #29804 UDF parameters don't contain correct string length · 367fc73e
      unknown authored
          
      Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
          
      Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
      
      
      mysql-test/r/udf.result:
        Test case to check constants passed UDFs.
      mysql-test/t/udf.test:
        Test case to check constants passed UDFs.
      sql/item_func.cc:
        UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant.
      sql/udf_example.c:
        Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed.
      sql/udf_example.def:
        Add new example functions to windows dll export list.
      367fc73e
    • unknown's avatar
      Fix syntax error build problem on Windows (variable was defined · a634d1bf
      unknown authored
      in middle of block)
      
      
      libmysql/libmysql.c:
        Fix syntax error - don't define new variables in the middle of a block.
        
        Also, use size_t instead of uint to avoid unnecessary casting.
      a634d1bf
    • unknown's avatar
      Fix for bug #31207: Test "join_nested" shows different strategy on IA64 · ce8bf087
      unknown authored
      CPUs / Intel's ICC compile
      
      The bug is a combination of two problems:
      
      1. IA64/ICC MySQL binaries use glibc's qsort(), not the one in mysys.
      
      2. The order relation implemented by join_tab_cmp() is not transitive,
      i.e. it is possible to choose such a, b and c that (a < b) && (b < c)
      but (c < a). This implies that result of a sort using the relation
      implemented by join_tab_cmp() depends on the order in which
      elements are compared, i.e. the result is implementation-specific. Since
      choose_plan() uses qsort() to pre-sort the
      join tables using join_tab_cmp() as a compare function, the results of
      the sorting may vary depending on qsort() implementation.
      
      It is neither possible nor important to implement a better ordering
      algorithm in join_tab_cmp(). Therefore the only way to fix it is to
      force our own qsort() to be used by renaming it to my_qsort(), so we don't depend
      on linker to decide that.
      
      This patch also "fixes" bug #20530: qsort redefinition violates the
      standard.
      
      
      include/my_sys.h:
        Renamed qsort() and qsort2() to my_qsort() and my_qsort2(). Since
        previously we relied on stdlib.h to provide a declaration for qsort(), a
        separate declaration for my_qsort() is now required.
      libmysql/Makefile.shared:
        Added mf_qsort.c to libmysql, since my_lib.c now uses my_qsort() instead of qsort().
      myisam/ft_boolean_search.c:
        Replaced qsort2() with my_qsort2().
      myisam/ft_nlq_search.c:
        Replaced qsort2() with my_qsort2().
      myisam/myisampack.c:
        Replaced qsort() with my_qsort().
      myisam/sort.c:
        Replaced qsort2() with my_qsort2().
      mysys/mf_keycache.c:
        Replaced qsort() with my_qsort().
      mysys/mf_qsort.c:
        Renamed qsort() to my_qsort() and qsort2() to my_qsort2().
      mysys/mf_sort.c:
        Replaced qsort2() with my_qsort2().
      mysys/my_lib.c:
        Replaced qsort() with my_qsort().
      mysys/queues.c:
        Replaced qsort2() with my_qsort2().
      sql/item_cmpfunc.cc:
        Replaced qsort2() with my_qsort2().
      sql/item_cmpfunc.h:
        Replaced qsort2() with my_qsort2().
      sql/opt_range.cc:
        Replaced qsort() with my_qsort().
      sql/records.cc:
        Replaced qsort() with my_qsort().
      sql/sql_acl.cc:
        Replaced qsort() with my_qsort().
      sql/sql_array.h:
        Replaced qsort() with my_qsort().
      sql/sql_help.cc:
        Replaced qsort() with my_qsort().
      sql/sql_select.cc:
        Replaced qsort() with my_qsort().
      sql/examples/ha_tina.cc:
        Replaced qsort() with my_qsort().
      sql/sql_table.cc:
        Replaced qsort() with my_qsort().
      ce8bf087