1. 08 May, 2007 1 commit
    • unknown's avatar
      Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a · 80788a34
      unknown authored
      TIMESTAMP field when no value has been provided.
      
      The LOAD DATA sets the current time in the TIMESTAMP field with
      CURRENT_TIMESTAMP default value when the field is detected as a null.
      But when the LOAD DATA command loads data from a file that doesn't contain
      enough data for all fields then the rest of fields are simply set to null
      without any check. This leads to no value being inserted to such TIMESTAMP
      field.
      
      Now the read_sep_field() and the read_fixed_length() functions set current
      time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
      when a NULL value is loaded to the field.
      
      
      mysql-test/t/loaddata.test:
        Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
        default value for a TIMESTAMP field when no value has been provided.
      mysql-test/r/loaddata.result:
        Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
        default value for a TIMESTAMP field when no value has been provided.
      sql/sql_load.cc:
        Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
        TIMESTAMP field when no value has been provided.
        Now the read_sep_field() and the read_fixed_length() functions set current
        time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
        when a NULL value is loaded to the field.
      80788a34
  2. 07 May, 2007 5 commits
  3. 04 May, 2007 11 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e63cc253
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
      
      
      sql/item_func.cc:
        Auto merged
      e63cc253
    • unknown's avatar
      bug #27531: · 359b0e59
      unknown authored
       fixed coverage of out-of-mem errors
      
      
      359b0e59
    • unknown's avatar
      Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. · 99bde6d9
      unknown authored
      The LEAST/GREATEST functions compared DATE/DATETIME values as
      strings which in some cases could lead to a wrong result.
      
      A new member function called cmp_datetimes() is added to the
      Item_func_min_max class. It compares arguments in DATETIME context
      and returns index of the least/greatest argument.
      The Item_func_min_max::fix_length_and_dec() function now detects when
      arguments should be compared in DATETIME context and sets the newly
      added flag compare_as_dates. It indicates that the cmp_datetimes() function
      should be called to get a correct result.
      Item_func_min_max::val_xxx() methods are corrected to call the
      cmp_datetimes() function when needed.
      Objects of the Item_splocal class now stores and reports correct original
      field type.
      
      
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
      mysql-test/r/sp-vars.result:
        A test case result corrected after the fix for the bug#27759.
      sql/mysql_priv.h:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        Added the prototype of the get_datetime_value() function.
      sql/item_func.h:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        A new member function called cmp_datetimes() is added to the
        Item_func_min_max class.
      sql/item_func.cc:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        A new member function called cmp_datetimes() is added to the
        Item_func_min_max class. It compares arguments in DATETIME context
        and returns index of the least/greatest argument.
        The Item_func_min_max::fix_length_and_dec() function now detects when
        arguments should be compared in DATETIME context and sets the newly
        added flag compare_as_dates. It indicates that the cmp_datetimes() function
        should be called to get a correct result.
        Item_func_min_max::val_xxx() methods are corrected to call the
        cmp_datetimes() function when needed.
      sql/item_cmpfunc.cc:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        The get_datetime_value() function is no longer static.
      sql/item.h:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        Objects of the Item_splocal class now stores and reports correct original
        field type.
      sql/item.cc:
        Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
        Objects of the Item_splocal class now stores and reports correct original
        field type.
      99bde6d9
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-4.1-opt · 7539cb43
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
      
      
      mysql-test/t/join.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/join.result:
        SCCS merged
      7539cb43
    • unknown's avatar
      Bug #27531: the 4.1 fix. · 353b6f26
      unknown authored
      When checking for applicability of join cache
      we must disable its usage only if there is no
      temp table in use.
      When a temp table is used we can use join
      cache (and it will not make the result-set 
      unordered) to fill the temp table. The filesort() 
      operation is then applied to the data in the temp 
      table and hence is not affected by join cache
      usage.
      Fixed by narrowing the condition for disabling 
      join cache to exclude the case where temp table
      is used.
      
      
      mysql-test/r/join.result:
        Bug #27531: test case
      mysql-test/t/join.test:
        Bug #27531: test case
      sql/sql_select.cc:
        Bug #27531: 
        Disable join cache only if not using temp table
      353b6f26
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1084f2d6
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      1084f2d6
    • unknown's avatar
      Bug#28181 Access denied to 'information_schema when select into out file (regression) · 13cfc477
      unknown authored
      allow select into out file from I_S if user has FILE privilege
      otherwise issue an error
      
      
      mysql-test/r/outfile.result:
        test result
      mysql-test/t/outfile.test:
        test case
      sql/sql_parse.cc:
        allow select into out file from I_S if user has FILE privilege
        otherwise issue an error
      13cfc477
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3ebd2e55
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
      
      
      3ebd2e55
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/23656-bug-4.1-opt-mysql · 74c794d0
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/23656-bug-5.0-opt-mysql
      
      
      mysql-test/r/cast.result:
        Auto merged
      mysql-test/t/cast.test:
        Auto merged
      sql/item_func.cc:
        Manual merge
      74c794d0
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ad06c4c0
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        merge to 5.0-opt
      mysql-test/t/subselect.test:
        merge to 5.0-opt
      ad06c4c0
    • unknown's avatar
      Bug #27807. · 0ad4e1b2
      unknown authored
      Non-correlated scalar subqueries may get executed
      in EXPLAIN at the optimization phase if they are
      part of a right hand sargable expression.
      If the scalar subquery uses a temp table to 
      materialize its results it will replace the 
      subquery structure from the parser with a simple
      select from the materialization table.
      As a result the EXPLAIN will crash as the 
      temporary materialization table is not to be shown
      in EXPLAIN at all.
      Fixed by preserving the original query structure
      right after calling optimize() for scalar subqueries
      with temp tables executed during EXPLAIN.
      
      
      mysql-test/r/subselect.result:
        Bug #27807: test case
      mysql-test/t/subselect.test:
        Bug #27807: test case
      sql/item_subselect.cc:
        Bug #27807: preserve the join structure
      sql/sql_select.cc:
        Bug #27807: introduce initialization function for tmp_join
      sql/sql_select.h:
        Bug #27807: introduce initialization function for tmp_join
      0ad4e1b2
  4. 03 May, 2007 2 commits
    • unknown's avatar
      Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function. · 1a0e3a28
      unknown authored
      The generic string to int conversion was used by the Item_func_signed and
      the Item_func_unsigned classes to convert DATE/DATETIME values to the
      SIGNED/UNSIGNED type. But this conversion produces wrong results for such
      values.
      
      Now if the item which result has to be converted can return its result as
      longlong then the item->val_int() method is used to allow the item to carry
      out the conversion itself and return the correct result.
      This condition is checked in the Item_func_signed::val_int() and the
      Item_func_unsigned::val_int() functions.
      
      
      mysql-test/t/cast.test:
        Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
      mysql-test/r/cast.result:
        Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
      sql/item_func.cc:
        Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
        Now if the item which result has to be converted can return its result as
        longlong then the item->val_int() method is used to allow the item to carry
        out the conversion itself and return the correct result.
        This condition is checked in the Item_func_signed::val_int() and the
        Item_func_unsigned::val_int() functions.
      1a0e3a28
    • unknown's avatar
      Better distinction between "CLEANFILES" and "DISTCLEANFILES" for some generated files · ad33a48a
      unknown authored
      (here: "scripts/mysql_fix_privilege_tables{.sql,_sql.c}"). Important for cross-builds.
      
      
      scripts/Makefile.am:
        Generated files like "mysql_fix_privilege_tables{.sql,_sql.c}" should survive
        a "make clean", this is essential for cross-builds.
        So move them from "CLEANFILES" to "DISTCLEANFILES".
      ad33a48a
  5. 02 May, 2007 14 commits
  6. 01 May, 2007 3 commits
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50 · dc9b20a6
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      sql/item_func.h:
        Auto merged
      dc9b20a6
    • unknown's avatar
      Updates to test/result files of funcs_1 to 5.0.40 level, · 51d6e623
      unknown authored
       - validated current result files
       - forced order by and removed time stamps 
      removed a_version files (since do not make sense now when suite is in the main tree)
      Note: datadict tests still fail as a result of regression bug 28181 in 5.0.42 (discovered
            while performing this update) - tests should run clean once bug is fixed
      
      
      BitKeeper/deleted/.del-a_version_check.test:
        Delete: mysql-test/suite/funcs_1/t/a_version_check.test
      BitKeeper/deleted/.del-a_version_check.result:
        Delete: mysql-test/suite/funcs_1/r/a_version_check.result
      BitKeeper/deleted/.del-innodb_views.warnings:
        Delete: mysql-test/suite/funcs_1/r/innodb_views.warnings
      BitKeeper/deleted/.del-memory_views.warnings:
        Delete: mysql-test/suite/funcs_1/r/memory_views.warnings
      BitKeeper/deleted/.del-myisam_views.warnings:
        Delete: mysql-test/suite/funcs_1/r/myisam_views.warnings
      mysql-test/suite/funcs_1/datadict/datadict_load.inc:
        Modified to correct failiure to return host name on some systems
      mysql-test/suite/funcs_1/datadict/datadict_master.inc:
        corrections to force order by on queries and replace time stamps with strings
      mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc:
        corrections to force order by on queries
      mysql-test/suite/funcs_1/r/innodb__datadict.result:
        Updated result file with order bu selects, elimination of time stamps 
        and selects with empty user (that we don't have anymore)
      mysql-test/suite/funcs_1/r/innodb_func_view.result:
        confirming existing results as correct ones - old result file had wrong cast values returned
      mysql-test/suite/funcs_1/r/innodb_trig_08.result:
        confirming existing results as correct ones - updated error message
      mysql-test/suite/funcs_1/r/innodb_views.result:
        confirming existing results as correct ones - returned results are correct, 
        wrong 'expected' error messages removed
      mysql-test/suite/funcs_1/r/memory__datadict.result:
        Updated result file with order bu selects, elimination of time stamps 
        and selects with empty user (that we don't have anymore)
      mysql-test/suite/funcs_1/r/memory_func_view.result:
        confirming existing results as correct ones - old result file had wrong cast values returned
      mysql-test/suite/funcs_1/r/memory_trig_08.result:
        confirming existing results as correct ones - updated error message
      mysql-test/suite/funcs_1/r/memory_views.result:
        confirming existing results as correct ones - returned results are correct, 
        wrong 'expected' error messages removed
      mysql-test/suite/funcs_1/r/myisam__datadict.result:
        Updated result file with order bu selects, elimination of time stamps 
        and selects with empty user (that we don't have anymore)
      mysql-test/suite/funcs_1/r/myisam_func_view.result:
        confirming existing results as correct ones - old result file had wrong cast values returned
      mysql-test/suite/funcs_1/r/myisam_trig_08.result:
        confirming existing results as correct ones - updated error message
      mysql-test/suite/funcs_1/r/myisam_views.result:
        confirming existing results as correct ones - returned results are correct, 
        wrong 'expected' error messages removed
      mysql-test/suite/funcs_1/t/disabled.def:
        Updated disabled messages with clearer ones
      mysql-test/suite/funcs_1/views/views_master.inc:
        removed invalid -- lines generating warning files
      51d6e623
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50 · f8274257
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      mysql-test/r/alter_table.result:
        Auto merged
      mysql-test/t/alter_table.test:
        Auto merged
      f8274257
  7. 30 Apr, 2007 4 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