1. 14 Nov, 2007 1 commit
    • unknown's avatar
      Fixed bug #32034: On 64bit platforms assigning values of · 69762c05
      unknown authored
      storage engine system variables was not validated and
      unexpected value was assigned.
      
      The check_func_enum function used subtraction from the uint
      value with the probably negative result. That result of
      type uint was compared with 0 after casting to signed long
      type. On architectures where long type is longer than int
      type the result of comparison was unexpected.
      
      
      storage/example/ha_example.cc:
        Fixed bug #32034.
        Sample system variable example_enum_var has been added to the
        EXAMPLE storage to test ENUM variables.
      sql/sql_plugin.cc:
        Fixed bug #32034.
        The check_func_enum function used subtraction from the uint
        value with the probably negative result. That result of
        type uint was compared with 0 after casting to signed long
        type. On architectures where long type is longer than int
        type the result of comparison was unexpected.
        
        uint value has been casted to long type before subtraction.
      mysql-test/t/plugin.test:
        Added test case for bug #32034.
      mysql-test/r/plugin.result:
        Added test case for bug #32034.
      69762c05
  2. 13 Nov, 2007 5 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/32067/my51-32067 · d68b313d
      unknown authored
      into  mysql.com:/home/hf/work/31305/my51-31305
      
      
      mysql-test/r/partition.result:
        Auto merged
      mysql-test/t/partition.test:
        Auto merged
      d68b313d
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · cc8a953d
      unknown authored
      into  mysql.com:/home/hf/work/31305/my51-31305
      
      
      cc8a953d
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 8021e495
      unknown authored
      into  moonbone.local:/work/30081-bug-5.1-opt-mysql
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/r/information_schema.result:
        Auto merged
      mysql-test/r/log_tables.result:
        Auto merged
      mysql-test/t/information_schema.test:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      8021e495
    • unknown's avatar
      Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS · b1b1d627
      unknown authored
      command and reported to a client.
      
      The fact that a timestamp field will be set to NO on UPDATE wasn't shown 
      by the SHOW COMMAND and reported to a client through connectors. This led to
      problems in the ODBC connector and might lead to a user confusion.
      
      A new filed flag called ON_UPDATE_NOW_FLAG is added. 
      Constructors of the Field_timestamp set it when a field should be set to NOW
      on UPDATE.
      
      The get_schema_column_record function now reports whether a timestamp field
      will be set to NOW on UPDATE.
      
      
      mysql-test/t/information_schema.test:
        A test case adjusted after fixing the bug#30081.
      mysql-test/r/type_timestamp.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/type_ranges.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/show_check.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/ps_5merge.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/ps_4heap.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/ps_3innodb.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/ps_2myisam.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/metadata.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/log_tables.result:
        Adjusted a test case after fixing bug#30081.
      mysql-test/r/information_schema.result:
        A test case adjusted after fixing the bug#30081.
      mysql-test/r/grant.result:
        Adjusted a test case after fixing bug#30081.
      tests/mysql_client_test.c:
        A test case adjusted after fixing the bug#30081.
      sql/sql_show.cc:
        Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS
        command and reported to a client.
        The get_schema_column_record function now reports whether a timestamp field
        will be set to NOW on UPDATE.
      sql/field.cc:
        Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS
        command and reported to a client.
        Constructors of the Field_timestamp set the ON_UPDATE_NOW_FLAG on a field when
        it should be set to NOW on UPDATE.
      include/mysql_com.h:
        Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS
        command and reported to a client.
        A new filed flag called ON_UPDATE_NOW_FLAG  is added.
      client/mysql.cc:
        Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS
        command and reported to a client.
        The fieldflag2str function is adjusted to print the ON_UPDATE_NOW_FLAG.
      b1b1d627
    • unknown's avatar
      test fixed · d742b9cb
      unknown authored
      
      mysql-test/r/partition_innodb.result:
        result fixed
      mysql-test/t/partition_innodb.test:
        number of subpartitions fixed
      d742b9cb
  3. 12 Nov, 2007 10 commits
    • unknown's avatar
      Bug #32067 Partitions: crash with timestamp column. · 6080ae98
      unknown authored
      Partition handler fails updating tables with partitioning
      based on timestamp field, as it calculates the timestamp field
      AFTER it calculates the number of partition of a record.
      
      Fixed by adding timestamp_field->set_time() call and disabling
      such consequent calls
      
      
      mysql-test/r/partition.result:
        Bug #32067 Partitions: crash with timestamp column.
        
        test result
      mysql-test/t/partition.test:
        Bug #32067 Partitions: crash with timestamp column.
        
        test case
      sql/ha_partition.cc:
        Bug #32067 Partitions: crash with timestamp column.
        
        do timestamp_field->set_time() in the ha_partition::update_row()
      6080ae98
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · c6b84cec
      unknown authored
      into  mysql.com:/home/hf/work/mysql-5.1-opt
      
      
      c6b84cec
    • unknown's avatar
      'no innodb engine' test failure fixed · f6e05571
      unknown authored
      
      mysql-test/r/partition.result:
        test result fixed
      mysql-test/r/partition_innodb.result:
        test result fixed
      mysql-test/t/partition.test:
        test moved to partition_innodb
      mysql-test/t/partition_innodb.test:
        test moved from partition.test
      f6e05571
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt · 11644b59
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      11644b59
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug30666/my51-bug29131 · eae53468
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        Manual merge.
      mysql-test/t/select.test:
        Manual merge.
      eae53468
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug30666/my50-bug29131 · 26ebe887
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        Manual merge.
      mysql-test/t/select.test:
        Manual merge.
      26ebe887
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31305/my50-31305 · 572cdc80
      unknown authored
      into  mysql.com:/home/hf/work/31305/my51-31305
      
      
      BitKeeper/etc/ignore:
        auto-union
      storage/myisam/mi_dynrec.c:
        Auto merged
      572cdc80
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31305/my41-31305 · 04e51e24
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      
      BitKeeper/etc/ignore:
        auto-union
      myisam/mi_dynrec.c:
        Auto merged
      04e51e24
    • unknown's avatar
      Bug #31305 myisam tables crash when they are near capacity. · cb927e2f
      unknown authored
      When we insert a record into MYISAM table which is almost 'full',
      we first write record data in the free space inside a file, and then
      check if we have enough space after the end of the file.
      So if we don't have the space, table will left corrupted.
      Similar error also happens when we updata MYISAM tables.
      
      Fixed by modifying write_dynamic_record and update_dynamic_record functions
      to check for free space before writing parts of a record
      
      
      BitKeeper/etc/ignore:
        Added libmysql_r/client_settings.h libmysqld/ha_blackhole.cc to the ignore list
      myisam/mi_dynrec.c:
        Bug #31305 myisam tables crash when they are near capacity.
        
        now we check space left in table in write_dynamic_record
        and update_dynamic_record functions.
        If we don't have enough room for the new (updated) record, return with the
        error.
      mysql-test/r/almost_full.result:
        New BitKeeper file ``mysql-test/r/almost_full.result''
      mysql-test/t/almost_full.test:
        New BitKeeper file ``mysql-test/t/almost_full.test''
      cb927e2f
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug30666/my50-bug29131 · 84fbbf4d
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug30666/my51-bug29131
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      84fbbf4d
  4. 11 Nov, 2007 2 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 04a5618d
      unknown authored
      into  mysql.com:/misc/mysql/31700/51-31700
      
      
      04a5618d
    • unknown's avatar
      Merge gleb.loc:/home/uchum/5.0-opt · 2892d3a2
      unknown authored
      into  gleb.loc:/home/uchum/5.1-opt
      
      
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/sp_rcontext.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Merge with 5.0-opt.
      mysql-test/t/subselect.test:
        Merge with 5.0-opt.
      2892d3a2
  5. 10 Nov, 2007 21 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e3bd2133
      unknown authored
      into  mysql.com:/misc/mysql/31700/50-31700
      
      
      sql/sql_select.cc:
        Auto merged
      e3bd2133
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · be948d04
      unknown authored
      into  mysql.com:/scratch/tnurnberg/31700/51-31700
      
      
      sql/sql_select.cc:
        Auto merged
      be948d04
    • unknown's avatar
      Bug#31700: thd->examined_row_count not incremented for 'const' type queries · c0fb459a
      unknown authored
      add 5.1-specific test showing that 'const' access increments 'examined'
      counter in slow query log.
      
      
      mysql-test/r/log_tables.result:
        5.1-only test showing that 'const' access increments counters
      mysql-test/t/log_tables.test:
        5.1-only test showing that 'const' access increments counters
      c0fb459a
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 7e71e24c
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      7e71e24c
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28076 · 747cb198
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      747cb198
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt · f60c55ea
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      f60c55ea
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my51-bug26215 · 34c3b687
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      34c3b687
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215 · 04468cba
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      04468cba
    • unknown's avatar
      Fixed bug #28076: inconsistent binary/varbinary comparison. · e7c6a81f
      unknown authored
      After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
      clause returned a wrong result: the VARBINARY value was illegally padded
      with zero bytes to the length of the BINARY column for the index search.
      (<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.
      
      
      sql/item.cc:
        Fixed bug #28076.
        The Item_cache_str::save_in_field method has been overloaded
        to check cached values for an illegal padding before the saving
        into a field.
      sql/item.h:
        Fixed bug #28076.
        The Item_cache_str::is_varbinary flag has been added and the
        Item_cache_str::save_in_field method has been overloaded to prevent
        cached values from an illegal padding when saving in fields.
        The signature of the Item_cache::get_cache method has been
        changed to accept pointers to Item instead of Item_result
        values.
      sql/item_cmpfunc.cc:
        Fixed bug #28076.
        The Item_in_optimizer::fix_left method has been modified to
        to call Item_cache::get_cache in a new manner.
      sql/item_subselect.cc:
        Fixed bug #28076.
        The subselect_indexsubquery_engine::exec method has been
        modified to take into account field conversion errors
        (copy&paste from subselect_uniquesubquery_engine::exec).
      sql/sp_rcontext.cc:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method has been
        modified to call Item_cache::get_cache in a new manner.
      sql/sp_rcontext.h:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method signature
        has been modified to pass Item pointers to the
        Item_cache::get_cache method.
      sql/sql_class.cc:
        Fixed bug #28076.
        The select_max_min_finder_subselect::send_data method has been
        modified to call Item_cache::get_cache in a new manner.
      mysql-test/t/subselect.test:
        Added test case for bug #28076.
      mysql-test/r/subselect.result:
        Added test case for bug #28076.
      e7c6a81f
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215 · c30eb25a
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug32202/my51-bug26215
      
      
      mysql-test/r/group_by.result:
        Manual merge.
      mysql-test/t/group_by.test:
        Manual merge.
      sql/sql_select.cc:
        Manual merge.
      c30eb25a
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · 40eaa33c
      unknown authored
      into  mysql.com:/home/hf/work/31893/my51-31893
      
      
      40eaa33c
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 7a39b128
      unknown authored
      into  mysql.com:/misc/mysql/31700/50-31700
      
      
      sql/sql_select.cc:
        Auto merged
      7a39b128
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31700/50-31700 · b25bf95f
      unknown authored
      into  mysql.com:/misc/mysql/31700/51-31700
      
      
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        manual merge
      b25bf95f
    • unknown's avatar
      Bug#31700: thd->examined_row_count not incremented for 'const' type queries · a41b4763
      unknown authored
      UNIQUE (eq-ref) lookups result in table being considered as a "constant" table.
      Queries that consist of only constant tables are processed in do_select() in a
      special way that doesn't invoke evaluate_join_record(), and therefore doesn't
      increase the counters join->examined_rows and join->thd->row_count.
      
      The patch increases these counters in this special case.
      
      NOTICE:
      This behavior seems to contradict what the documentation says in Sect. 5.11.4:
      "Queries handled by the query cache are not added to the slow query log, nor
      are queries that would not benefit from the presence of an index because the
      table has zero rows or one row."
      
      No test case in 5.0 as issue shows only in slow query log, and other counters
      can give subtly different values (with regard to counting in create_sort_index(),
      synthetic rows in ROLLUP, etc.).
      
      
      sql/sql_class.h:
        add documentation for some variables
      sql/sql_select.cc:
        Don't forget const tables when counting read records!
      a41b4763
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · a72ec638
      unknown authored
      into  mysql.com:/misc/mysql/31800/51-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      a72ec638
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 6b00e6eb
      unknown authored
      into  mysql.com:/scratch/tnurnberg/31800/50-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      6b00e6eb
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31800/50-31800 · 91ceabf3
      unknown authored
      into  mysql.com:/misc/mysql/31800/51-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      91ceabf3
    • unknown's avatar
      Bug#31800: Date comparison fails with timezone and slashes for greater than comparison · ac3ef6c7
      unknown authored
      BETWEEN was more lenient with regard to what it accepted as a DATE/DATETIME
      in comparisons than greater-than and less-than were. ChangeSet makes < >
      comparisons similarly robust with regard to trailing garbage (" GMT-1")
      and "missing" leading zeros. Now all three comparators behave similarly
      in that they throw a warning for "junk" at the end of the data, but then
      proceed anyway if possible. Before < > fell back on a string- (rather than
      date-) comparison when a warning-condition was raised in the string-to-date
      conversion. Now the fallback only happens on actual errors, while warning-
      conditions still result in a warning being to delivered to the client.
      
      
      mysql-test/r/select.result:
        Show that we compare DATE/DATETIME-like strings as date(time)s
        now, rather than as bin-strings.
        Adjust older result as "2005-09-3a" is now correctly seen as
        "2005-09-3" + trailing garbage, rather than as "2005-09-30".
      mysql-test/t/select.test:
        Show that we compare DATE/DATETIME-like strings as date(time)s
        now, rather than as bin-strings.
      sql-common/my_time.c:
        correct/clarify date-related comments, particulary for check_date().
        doxygenize comment while at it.
      sql/item_cmpfunc.cc:
        get_date_from_str() no longer signals an error when all we had
        was a warning-condition -- and one we already gave the user a
        warning for at that. Preamble doxygenized.
      ac3ef6c7
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · c3e41709
      unknown authored
      into  mysql.com:/misc/mysql/31990/51-31990
      
      
      c3e41709
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e9a78d8c
      unknown authored
      into  mysql.com:/misc/mysql/31990/50-31990
      
      
      e9a78d8c
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31990/50-31990 · 3e90d418
      unknown authored
      into  mysql.com:/misc/mysql/31990/51-31990
      
      
      mysql-test/r/cast.result:
        Auto merged
      mysql-test/t/cast.test:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/item_timefunc.h:
        Auto merged
      3e90d418
  6. 09 Nov, 2007 1 commit
    • unknown's avatar
      Fix for bug #32202: ORDER BY not working with GROUP BY · 55499d2b
      unknown authored
      The bug is a regression introduced by the fix for bug30596. The problem
      was that in cases when groups in GROUP BY correspond to only one row,
      and there is ORDER BY, the GROUP BY was removed and the ORDER BY
      rewritten to ORDER BY <group_by_columns> without checking if the
      columns in GROUP BY and ORDER BY are compatible. This led to
      incorrect ordering of the result set as it was sorted using the
      GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers
      from ORDER BY even if its columns were compatible with the GROUP BY
      ones.
      
      This patch fixes the regression by checking if ORDER BY columns form a
      prefix of the GROUP BY ones, and rewriting ORDER BY only in that case,
      preserving the ASC/DESC modifiers. That check is sufficient, since the
      GROUP BY columns contain a unique index.
      
      
      mysql-test/r/group_by.result:
        Added a test case for bug #32202.
      mysql-test/t/group_by.test:
        Added a test case for bug #32202.
      sql/sql_select.cc:
        In cases when groups in GROUP BY correspond to only one row and there
        is ORDER BY, rewrite the query to ORDER BY <group_by_columns> only if
        the columns in ORDER BY and GROUP BY are compatible, i.e. either one
        forms a prefix for another.
      55499d2b