1. 01 May, 2007 1 commit
  2. 30 Apr, 2007 6 commits
    • unknown's avatar
      Merge dkatz@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 0fc282bb
      unknown authored
      into  damien-katzs-computer.local:/Users/dkatz/mysql50
      
      
      0fc282bb
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50 · 2127e26d
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      2127e26d
    • unknown's avatar
      Bug #27653: Temp table can't be created if lower_case_table_names=1 and · 36dea21b
      unknown authored
                  tmpdir has uppercase
      
      Fix: don't convert mysql_tmpdir to lower case when building the path to a
      temporary table
      
      
      mysql-test/include/have_lowercase1.inc:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/include/have_lowercase1.inc
      mysql-test/r/lowercase1.require:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/r/lowercase1.require
      mysql-test/r/lowercase_mixed_tmpdir.result:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/r/lowercase_mixed_tmpdir.result
      mysql-test/t/lowercase_mixed_tmpdir-master.opt:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir-master.opt
      mysql-test/t/lowercase_mixed_tmpdir-master.sh:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir-master.sh
      mysql-test/t/lowercase_mixed_tmpdir.test:
        BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir.test
      sql/sql_table.cc:
        When building the path for a temporary table file, do not
        convert mysql_tmpdir to lower case; lower_case_table_names
        should not apply to mysql_tmpdir.
      36dea21b
    • unknown's avatar
      Merge damien-katzs-computer.local:/Users/dkatz/mysql50 · 930912f8
      unknown authored
      into  damien-katzs-computer.local:/Users/dkatz/50_frm_files
      
      
      930912f8
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 0f6f3aa0
      unknown authored
      into  maint1.mysql.com:/data/localhome/tnurnberg/50-27293
      
      
      0f6f3aa0
    • unknown's avatar
      Bug#27293: mysqldump crashes when dumping procedure defined by different user · 3f18c6bc
      unknown authored
      mysqldump didn't properly handle getting no data on
      SHOW CREATE PROCEDURE.  If S/C/P fails (due to dumping
      user's insufficient privileges on mysql.proc, say),
      mysqldump will print a comment to that effect to the
      output and return an error-code.  If the -f (force) option
      is used, the dump will continue, otherwise, it will abort
      right there and then.
      
      Also fixes Bug#22761, "mysqldump reports no errors when using
      --routines without mysql.proc privileges"
      ---
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
      into  mysql.com:/home/tnurnberg/27293/50-27293
      
      
      client/mysqldump.c:
        Bug#27293: mysqldump crashes when dumping procedure defined by different user
        
        handle failure of SHOW CREATE PROCEDURE, give user diagnostics,
        heed -f (force) option
      mysql-test/r/mysqldump.result:
        Bug#27293: mysqldump crashes when dumping procedure defined by different user
        
        show that trying to mysqldump --routines with insufficient
        privileges will no longer crash the client
        ---
        manual merge
      mysql-test/t/mysqldump.test:
        Bug#27293: mysqldump crashes when dumping procedure defined by different user
        
        show that trying to mysqldump --routines with insufficient
        privileges will no longer crash the client
        ---
        manual merge
      3f18c6bc
  3. 29 Apr, 2007 11 commits
  4. 28 Apr, 2007 7 commits
    • unknown's avatar
      Fixed bug #13191. · 98c0da4e
      unknown authored
      INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: 
      "Can't find record in ..." if we are inserting into
      InnoDB table unique index of partial key with
      underlying UTF-8 string field.
      
      This error occurs because INSERT...ON DUPLICATE uses a wrong
      procedure to copy string fields of multi-byte character sets
      for index search.
      
      
      mysql-test/t/innodb_mysql.test:
        Added test case for bug #13191.
      mysql-test/r/innodb_mysql.result:
        Added test case for bug #13191.
      sql/field.h:
        Fixed bug #13191.
        Field_string::get_key_image() virtual function was overloaded
        to implement copying of variable length character (UTF-8) fields.
        Field::get_key_image() function prototype has been changed to
        return byte size of copied data.
      sql/field.cc:
        Fixed bug #13191.
        Field_string::get_key_image() virtual function was overloaded
        to implement copying of variable length character (UTF-8) fields.
        Field::get_key_image() function prototype has been changed to
        return byte size of copied data.
      sql/key.cc:
        Fixed bug #13191.
        INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: 
        "Can't find record in ...".
        This error occurs because INSERT...ON DUPLICATE uses
        a wrong procedure to copy field parts for index search.
        key_copy() function has been fixed.
      98c0da4e
    • unknown's avatar
      Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt · fd14779b
      unknown authored
      into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt
      
      
      fd14779b
    • unknown's avatar
      Fixed bug #20710. · f90870e9
      unknown authored
      This bug occurs when error message length exceeds allowed limit: my_error()
      function outputs "%s" sequences instead of long string arguments.
      
      Formats like %-.64s are very common in errmsg.txt files, however my_error()
      function simply ignores precision of those formats.
      
      
      mysys/my_error.c:
        Fixed bug #20710.
        This bug occurs when error message length exceeds allowed limit: my_error()
        function output "%s" sequences instead of long string arguments.
        my_error() function has been fixed to accept formats like %-.64s.
      mysql-test/t/alter_table.test:
        Added test case for bug #20710.
      mysql-test/r/alter_table.result:
        Added test case for bug #20710.
      f90870e9
    • 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
    • unknown's avatar
      mtr_report.pl: · b183fbbb
      unknown authored
        this has been driving me crazy: s/where/were/ in some messages
      
      
      mysql-test/lib/mtr_report.pl:
        this has been driving me crazy: s/where/were/ in some messages
      b183fbbb
  5. 27 Apr, 2007 9 commits
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50 · fef06223
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      scripts/mysql_install_db.sh:
        Auto merged
      fef06223
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 24d8fb25
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      24d8fb25
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50 · c6091d03
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      c6091d03
    • unknown's avatar
      Bug #27390: mysqld_multi --config-file= not working as documented · b762965c
      unknown authored
      Recognize the --no-defaults, --defaults-file and --defaults-extra-file
      options.  Treat old --config-file argument as if --defaults-extra-file
      had been specified instead.
      
      Plus a few other defaults-related cleanups.
      
      
      extra/my_print_defaults.c:
        
        Make help text more accurate regarding how --config-file, --defaults-file, and --defaults-extra-file should be used.  Flag --config-file as deprecated.
      mysys/default.c:
        
        Always print a newline after listing the default files, even if
        --defaults-file= was set (in my_print_default_files()).
      scripts/mysqld_multi.sh:
        
        Recognize --no-defaults, --defaults-file and --defaults-extra-file options.
        
        Treat old --config-file argument as if --defaults-extra-file had been specified
        instead.
        
        Improve find_groups() method, to honor --defaults-file, etc.
        
        A few random drive-by cleanups, while I'm here.
      b762965c
    • unknown's avatar
      Additional fix for the bug#27590. · 51d19e32
      unknown authored
      
      tests/mysql_client_test.c:
        Fixed failing build on the windows platform.
      mysql-test/r/ps_7ndb.result:
        The result of the adjusted test case after fix for bug#27590.
      mysql-test/r/ps_6bdb.result:
        The result of the adjusted test case after fix for bug#27590.
      sql/item_cmpfunc.cc:
        A warning is fixed.
      51d19e32
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 17fbe3b2
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/16377-bug-5.0-opt-mysql
      
      
      mysql-test/r/subselect.result:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      17fbe3b2
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 674ecb21
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27590-bug-5.0-opt-mysql
      
      
      mysql-test/r/subselect.result:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      674ecb21
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · abc56c84
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      abc56c84
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0 · 56c18450
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      56c18450
  6. 26 Apr, 2007 6 commits
    • unknown's avatar
      mysql_install_db.sh: Fix algorithm for finding pkgdata directory · 35d38253
      unknown authored
      
      scripts/mysql_install_db.sh:
        break out of for loop once first valid pkgdata directory is found
      35d38253
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · ecbbc457
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27390/50
      
      
      ecbbc457
    • unknown's avatar
      Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function. · 7216281e
      unknown authored
      The BETWEEN function was comparing DATE/DATETIME values either as ints or as
      strings. Both methods have their disadvantages and may lead to a wrong
      result.
      
      Now BETWEEN function checks whether all of its arguments has the STRING result
      types and at least one of them is a DATE/DATETIME item. If so it sets up
      two Arg_comparator obects to compare with the compare_datetime() comparator
      and uses them to compare such items.
      
      Added two Arg_comparator object members and one flag to the
      Item_func_between class for the correct DATE/DATETIME comparison.
      The Item_func_between::fix_length_and_dec() function now detects whether
      it's used for DATE/DATETIME comparison and sets up newly added Arg_comparator
      objects to do this.
      The Item_func_between::val_int() now uses Arg_comparator objects to perform
      correct DATE/DATETIME comparison.
      The owner variable of the Arg_comparator class now can be set to NULL if the
      caller wants to handle NULL values by itself.
      Now the Item_date_add_interval::get_date() function ajusts cached_field type according to the detected type.
      
      
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
      mysql-test/r/query_cache.result:
        A test case result corrected after the fix for bug#16377.
      sql/item_timefunc.cc:
        Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
        Now the Item_date_add_interval::get_date() function ajusts cached_field type according to the detected type.
      sql/item_cmpfunc.cc:
        Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
        The Item_func_between::fix_length_and_dec() function now detects whether
        it's used for DATE/DATETIME comparison and sets up newly added Arg_comparator
        objects to do this.
        The Item_func_between::val_int() now uses Arg_comparators to perform correct
        DATE/DATETIME comparison.
        The owner variable of the Arg_comparator class now can be set to NULL if the
        caller wants to handle NULL values by itself.
      sql/item_cmpfunc.h:
        Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
        Added two Arg_comparator object members and one flag
        to the Item_func_between class for the correct DATE/DATETIME comparison.
      7216281e
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/27590-bug-5.0-opt-mysql · ed7a9e8b
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/16377-bug-5.0-opt-mysql
      
      
      mysql-test/r/subselect.result:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      ed7a9e8b
    • unknown's avatar
      Bug#27590: Wrong DATE/DATETIME comparison. · 7bb6a725
      unknown authored
      DATE and DATETIME can be compared either as strings or as int. Both
      methods have their disadvantages. Strings can contain valid DATETIME value
      but have insignificant zeros omitted thus became non-comparable with
      other DATETIME strings. The comparison as int usually will require conversion
      from the string representation and the automatic conversion in most cases is
      carried out in a wrong way thus producing wrong comparison result. Another
      problem occurs when one tries to compare DATE field with a DATETIME constant.
      The constant is converted to DATE losing its precision i.e. losing time part.
      
      This fix addresses the problems described above by adding a special
      DATE/DATETIME comparator. The comparator correctly converts DATE/DATETIME
      string values to int when it's necessary, adds zero time part (00:00:00)
      to DATE values to compare them correctly to DATETIME values. Due to correct
      conversion malformed DATETIME string values are correctly compared to other
      DATE/DATETIME values.
      
      As of this patch a DATE value equals to DATETIME value with zero time part.
      For example '2001-01-01' equals to '2001-01-01 00:00:00'.
      
      The compare_datetime() function is added to the Arg_comparator class.
      It implements the correct comparator for DATE/DATETIME values.
      Two supplementary functions called get_date_from_str() and get_datetime_value()
      are added. The first one extracts DATE/DATETIME value from a string and the
      second one retrieves the correct DATE/DATETIME value from an item.
      The new Arg_comparator::can_compare_as_dates() function is added and used
      to check whether two given items can be compared by the compare_datetime()
      comparator.
      Two caching variables were added to the Arg_comparator class to speedup the
      DATE/DATETIME comparison.
      One more store() method was added to the Item_cache_int class to cache int
      values.
      The new is_datetime() function was added to the Item class. It indicates
      whether the item returns a DATE/DATETIME value.
      
      
      sql/item.cc:
        Bug#27590: Wrong DATE/DATETIME comparison.
        One more store() method was added to the Item_cache_int class to cache int
        values.
        The new is_datetime() function was added to the Item class. It indicates
        whether the item returns a DATE/DATETIME value.
      sql/item.h:
        Bug#27590: Wrong DATE/DATETIME comparison.
        One more store() method was added to the Item_cache_int class to cache int
        values.
        The new is_datetime() function was added to the Item class. It indicates
        whether the item returns a DATE/DATETIME value.
      sql/item_cmpfunc.cc:
        Bug#27590: Wrong DATE/DATETIME comparison.
        The compare_datetime() function is added to the Arg_comparator class.
        It implements the correct comparator for DATE/DATETIME values.
        Two supplementary functions called get_date_from_str() and get_datetime_value()
        are added. The first one extracts DATE/DATETIME value from a string and the
        second one retrieves the correct DATE/DATETIME value from an item.
        The new Arg_comparator::can_compare_as_dates() function is added and used
        to check whether two given items can be compared by the compare_datetime()
        comparator.
      sql/item_cmpfunc.h:
        Bug#27590: Wrong DATE/DATETIME comparison.
        The compare_datetime() function is added to the Arg_comparator class.
        It implements the correct comparator for DATE/DATETIME values.
        Two supplementary functions called get_date_from_str() and get_datetime_value()
        are added. The first one extracts DATE/DATETIME value from a string and the
        second one retrieves the correct DATE/DATETIME value from an item.
        The new Arg_comparator::can_compare_as_dates() function is added and used
        to check whether two given items can be compared by the compare_datetime()
        comparator.
        Two caching variables were added to the Arg_comparator class to speedup the
        DATE/DATETIME comparison.
      mysql-test/include/ps_conv.inc:
        Test case adjusted after fix for bug#27590.
      mysql-test/r/distinct.result:
        Test cases results are corrected after fix for bug#27590.
      sql/sql_select.cc:
        Bug#27590: Wrong DATE/DATETIME comparison.
        The test_if_equality_guarantees_uniqueness() function now uses
        Arg_comparator::can_compare_as_dates() to detect comparable DATE/DATETIME items.
      mysql-test/r/ps_2myisam.result:
        The result of the adjusted test case after fix for bug#27590.
      mysql-test/r/ps_3innodb.result:
        The result of the adjusted test case after fix for bug#27590.
      mysql-test/r/ps_4heap.result:
        The result of the adjusted test case after fix for bug#27590.
      mysql-test/r/ps_5merge.result:
        The result of the adjusted test case after fix for bug#27590.
      mysql-test/r/subselect.result:
        Test cases results are corrected after fix for bug#27590.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#27590: Wrong DATE/DATETIME comparison.
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#27590: Wrong DATE/DATETIME comparison.
      tests/mysql_client_test.c:
        Test case adjusted after fix for bug#27590.
      7bb6a725
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines · f63100e1
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
      
      
      f63100e1