1. 07 Oct, 2008 9 commits
  2. 06 Oct, 2008 18 commits
    • Guilhem Bichot's avatar
      merge · b3e0a955
      Guilhem Bichot authored
      b3e0a955
    • Chad MILLER's avatar
    • Chad MILLER's avatar
      Fix autoconf substitution and evaluation of a string inside single quotes · 1fb453f8
      Chad MILLER authored
      so that if the substitution contains single-quotes, the program will fail.
      1fb453f8
    • Tatiana A. Nurnberg's avatar
      WL#4403 deprecate @log and @slow_log_queries variables · 2c1d5ea7
      Tatiana A. Nurnberg authored
      Adds --general-log-file, --slow-query-log-file command-
      line options to match system variables of the same names.
      
      Deprecates --log, --log-slow-queries command-line option
      and log, log_slow_queries system-variables for v7.0; they
      are superseded by general_log/general_log_file and
      slow_query_log/slow_query_log_file, respectively.
      
      mysql-test/r/log_basic.result:
        Change deprecated system variable "log" to
        general log.
      mysql-test/r/log_bin_trust_routine_creators_basic.result:
        Change deprecation warning so it's more obvious we're referring
        to a variable.
      mysql-test/r/log_state.result:
        Show that all log-related server variables that
        should throw deprecation warnings do, and the
        others don't.
      mysql-test/r/warnings.result:
        Change deprecation warning so it's more obvious we're referring
        to a variable.
      mysql-test/suite/rpl/r/rpl_sp.result:
        Change deprecation warning so it's more obvious we're referring
        to a variable.
      mysql-test/t/log_basic.test:
        Change deprecated system variable "log" to
        general log.
      mysql-test/t/log_state.test:
        Show that all log-related server variables that
        should throw deprecation warnings do, and the
        others don't.
      sql/mysqld.cc:
        Add command-line options --general-log-file and
        --slow-query-log-file to match server options of
        the same name.
        
        Deprecated --log and --log-slow-queries command-line
        options; they are superseded by --general-log/
        --general-log-file and --slow-query-log/--slow-query-log-file,
        respectively
      sql/set_var.cc:
        Deprecate system-variables log in favour of general_log,
        log_slow_queries in favour of slow_query_log for 7.0,
        both for value- and DEFAULT-setting.
      2c1d5ea7
    • Guilhem Bichot's avatar
      Fix for BUG#31612 · 6ab4238f
      Guilhem Bichot authored
      "Trigger fired multiple times leads to gaps in auto_increment sequence".
      The bug was that if a trigger fired multiple times inside a top
      statement (for example top-statement is a multi-row INSERT,
      and trigger is ON INSERT), and that trigger inserted into an auto_increment
      column, then gaps could be observed in the auto_increment sequence,
      even if there were no other users of the database (no concurrency).
      It was wrong usage of THD::auto_inc_intervals_in_cur_stmt_for_binlog.
      Note that the fix changes "class handler", I'll tell the Storage Engine API team.
      
      mysql-test/r/trigger-trans.result:
        result; before the bugfix, the sequence was 1,2,4,6,8,10,12...
      mysql-test/t/trigger-trans.test:
        test for BUG#31612
      sql/handler.cc:
        See revision comment of handler.h.
        As THD::auto_inc_intervals_in_cur_stmt_for_binlog is cumulative
        over all trigger invokations by the top statement, the
        second invokation of the trigger arrived in handler::update_auto_increment()
        with already one interval in
        THD::auto_inc_intervals_in_cur_stmt_for_binlog. The method thus
        believed it had already reserved one interval for that invokation,
        thus reserved a twice larger interval (heuristic when we don't know
        how large the interval should be: we grow by powers of two). InnoDB
        thus increased its internal per-table auto_increment counter by 2
        while only one row was to be inserted. Hence a gap in the sequence.
        The fix is to use the new handler::auto_inc_intervals_count.
        Note that the trigger's statement knows how many rows it is going
        to insert, but provides estimation_rows_to_insert == 0 (see comments
        in sql_insert.cc why triggers don't call handler::ha_start_bulk_insert()).
        * removing white space at end of line
        * we don't need to maintain THD::auto_inc_intervals_in_cur_stmt_for_binlog
        if no binlogging or if row-based binlogging. Using auto_inc_intervals_count in
        the heuristic makes the heuristic independent of binary logging, which is good.
      sql/handler.h:
        THD::auto_inc_intervals_in_cur_stmt_for_binlog served
         - for binlogging
         - as a heuristic when we have no estimation of how many records the
           statement will insert.
        But the first goal needs to be cumulative over all statements which
        form a binlog event, while the second one needs to be attached to each
        statement. THD::auto_inc_intervals_in_cur_stmt_for_binlog is cumulative,
        leading to BUG#31612. So we introduce handler::auto_inc_intervals_count
        for the second goal. See the revision comment of handler.cc.
        A smaller issue was that, even when the binlog event was only one
        statement (no triggers, no stored functions),
        THD::auto_inc_intervals_in_cur_stmt.nb_elements() could be lower than
        the number of reserved intervals (fooling the heuristic), because its
        append() method collapses two contiguous intervals in one.
        Note that as auto_inc_intervals_count is in class 'handler' and not
        in class 'THD', it does not need to be handled in
        THD::reset|restore_sub_statement_state().
      sql/log.cc:
        Comment is wrong: if auto_increment is second, in handler::update_auto_increment()
        'append' is false and so auto_inc_intervals_in_cur_stmt_for_binlog
        is empty, we do not come here.
      sql/sql_class.h:
        comment
      6ab4238f
    • Chad MILLER's avatar
      Merge fix for bug 11122. · c05cb5b3
      Chad MILLER authored
      c05cb5b3
    • Chad MILLER's avatar
      Merge fix for bug 11122. · d86e3c79
      Chad MILLER authored
      d86e3c79
    • Chad MILLER's avatar
    • Alexey Botchkov's avatar
      keep compiler happy · 7eb35a81
      Alexey Botchkov authored
      7eb35a81
    • Alexey Botchkov's avatar
      Bug#38005 Partitions: error with insert select. · b93962e0
      Alexey Botchkov authored
      MyISAM blocks index usage for bulk insert into zero-records tables.
      See ha_myisam::start_bulk_insert() lines from
      ...
          if (file->state->records == 0 ...
      ...
      
      That causes problems for partition engine when some partitions have records some not
      as the engine uses same access method for all partitions.
      
      Now partition engine doesn't call index_first/index_last
      for empty tables.
      
      per-file comments:
        mysql-test/r/partition.result
              Bug#38005 Partitions: error with insert select.
              test result
      
        mysql-test/t/partition.test
              Bug#38005 Partitions: error with insert select.
              test case
      
        sql/ha_partition.cc
              Bug#38005 Partitions: error with insert select.
              ha_engine::index_first and
              ha_engine::index_last not called for empty tables.
      b93962e0
    • Chad MILLER's avatar
      Merge fix for join-testcase failure. · df666797
      Chad MILLER authored
      df666797
    • Chad MILLER's avatar
      Merge fix for join-testcase failure. · 541c70cb
      Chad MILLER authored
      541c70cb
    • Alexey Botchkov's avatar
    • Chad MILLER's avatar
    • Tatiana A. Nurnberg's avatar
      WL#4403 deprecate @log and @slow_log_queries variables · f3082d93
      Tatiana A. Nurnberg authored
      Adds --general_log_file, --slow_query_log_file command-
      line options to match system variables of the same names.
      
      Deprecates --log, --log-slow-queries command-line options
      and log, log_slow_queries system-variables for v7.0; they
      are superseded by general_log/general_log_file and
      slow_query_log/slow_query_log_file, respectively.
      
      mysql-test/r/log_basic.result:
        Change deprecated system variable "log" to
        general log.
      mysql-test/r/log_state.result:
        Show that all log-related server variables that
        should throw deprecation warnings do, and the
        others don't.
      mysql-test/t/log_basic.test:
        Change deprecated system variable "log" to
        general log.
      mysql-test/t/log_state.test:
        Show that all log-related server variables that
        should throw deprecation warnings do, and the
        others don't.
      sql/mysqld.cc:
        Add command-line options --general_log_file and
        --slow_query_log_file to match server options of
        the same name.
        
        Deprecated --log and --log-slow-queries command-line
        options; they are superseded by --general-log/
        --general-log-file and --slow-query-log/--slow-query-log-file,
        respectively
      sql/set_var.cc:
        Deprecate system-variables log in favour of general_log,
        log_slow_queries in favour of slow_query_log for 7.0,
        both for value- and DEFAULT-setting.
      f3082d93
    • Alexey Botchkov's avatar
      merging · 918ab0f3
      Alexey Botchkov authored
      918ab0f3
    • Mattias Jonsson's avatar
      merge · 53309752
      Mattias Jonsson authored
      53309752
    • Alexey Botchkov's avatar
      Bug#38083 Error-causing row inserted into partitioned table despite error · afcc4e58
      Alexey Botchkov authored
            
          problems are located in the sql_partition.cc where functions calculation
          partition_id don't expect error returned from item->val_int().
          Fixed by adding checks to these functions.
          Note  - it tries to fix more problems than just the reported bug.
            
      per-file comments:
      modified:
        mysql-test/r/partition.result
          Bug#38083 Error-causing row inserted into partitioned table despite error
              test result
        mysql-test/t/partition.test
          Bug#38083 Error-causing row inserted into partitioned table despite error
              test case
        sql/opt_range.cc
          Bug#38083 Error-causing row inserted into partitioned table despite error
              get_part_id() call fixed
        sql/partition_info.h
          Bug#38083 Error-causing row inserted into partitioned table despite error
              get_subpart_id_func interface changed. 
        sql/sql_partition.cc
          Bug#38083 Error-causing row inserted into partitioned table despite error
              various functions calculationg partition_id and subpart_id didn't expect
                  an error returned from item->val_int().  Error checks added.
      afcc4e58
  3. 04 Oct, 2008 2 commits
  4. 03 Oct, 2008 11 commits
    • Chad MILLER's avatar
      Merge fix for Bug#35754. · 24ab1b14
      Chad MILLER authored
      24ab1b14
    • Chad MILLER's avatar
      Merge fix for Bug#35754. · 4159b470
      Chad MILLER authored
      4159b470
    • Mattias Jonsson's avatar
      merge · 803555c1
      Mattias Jonsson authored
      803555c1
    • Andrei Elkin's avatar
      merge with the main 5.1-bugteam · 0e2681e9
      Andrei Elkin authored
      0e2681e9
    • Georgi Kodinov's avatar
      Bug #39812: Make statement replication default for 5.1 (to match 5.0) · c688c8d8
      Georgi Kodinov authored
      Make STMT replication default for 5.1.
      Add a default of MIXED into the config files
      Fix the tests that needed MIXED replication mode.
      
      mysql-test/include/mix1.inc:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/r/innodb-semi-consistent.result:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/r/innodb.result:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/r/innodb_mysql.result:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/r/tx_isolation_func.result:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/t/innodb-semi-consistent.test:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/t/innodb.test:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      mysql-test/t/tx_isolation_func.test:
        Bug #39812: Fix the tests that needed MIXED replication mode.
      sql/mysqld.cc:
        Bug #39812: Make STMT replication default for 5.1.
      support-files/my-huge.cnf.sh:
        Bug #39812: Add a default of MIXED into the config files
      support-files/my-innodb-heavy-4G.cnf.sh:
        Bug #39812: Add a default of MIXED into the config files
      support-files/my-large.cnf.sh:
        Bug #39812: Add a default of MIXED into the config files
      support-files/my-medium.cnf.sh:
        Bug #39812: Add a default of MIXED into the config files
      support-files/my-small.cnf.sh:
        Bug #39812: Add a default of MIXED into the config files
      c688c8d8
    • Davi Arnaut's avatar
      Bug#37481: status.test fails randomly · 5fcb4607
      Davi Arnaut authored
      The problem was that the test was trying to obtain a lock on
      a table in one connection without ensuring that a insert which
      was executed in another connection had released the lock on the
      same table.
      
      The solution is to add a dummy select query after the insert to
      ensure that the table is unlocked and closed by the time it tries
      to lock it again. This is enough to prevent test failures described
      in the bug report. As an extra safety measure, concurrent inserts
      are disabled.
      
      Remove comments that calculated the Table_locks_immediate. This
      value is not tested anymore and it's calculation did not reflect
      the actual value.
      
      mysql-test/r/status.result:
        Update test case result.
      mysql-test/t/status.test:
        Issue a dummy select to ensure that tables are unlocked after a
        insert and disable concurrent inserts as a extra-safety.
      5fcb4607
    • Davi Arnaut's avatar
      Wrap function used for debugging with the DBUG_OFF condition. · 1c453040
      Davi Arnaut authored
      Function uses a variable only available under debug mode.
      1c453040
    • Mats Kindahl's avatar
      Merging with 5.1-5.1.29-rc. · f5f68f19
      Mats Kindahl authored
      f5f68f19
    • Mats Kindahl's avatar
      The test rpl_blackhole was executed even when · 80a3a529
      Mats Kindahl authored
      there were no blackhole installed. This patch
      adds a check for that.
      
      mysql-test/suite/rpl/t/rpl_blackhole.test:
        Adding include of have_blackhole.
      80a3a529
    • Georgi Kodinov's avatar
      Bug #38370: The test ndb.ndb_index_ordered fails with the community features on · 3adfa465
      Georgi Kodinov authored
      The problem was caused by a wrong merge. Fixed by enabling the correct ndb variables
      initialization.
      
      mysql-test/suite/ndb/t/disabled.def:
        Bug #38370: remove disabled test case
      sql/mysqld.cc:
        Bug #38370: corrected a wrong merge to have all the NDB variables intiialized
        correctly
      3adfa465
    • Georgi Kodinov's avatar
      merged 5.1.29-rc · 2bb97ce2
      Georgi Kodinov authored
      2bb97ce2