1. 13 Oct, 2009 1 commit
  2. 09 Oct, 2009 3 commits
  3. 08 Oct, 2009 2 commits
  4. 07 Oct, 2009 1 commit
  5. 05 Oct, 2009 5 commits
    • John H. Embretsen's avatar
      Bug#47746 - main.innodb_mysql fails sporadically: · 2ac29d97
      John H. Embretsen authored
      Mask part of EXPLAIN output with '#' to account for varying row count estimation.
      
      mysql-test/include/mix1.inc:
        Mask 'rows' column in EXPLAIN output (number varies sometimes between 1 and 2).
      mysql-test/r/innodb_mysql.result:
        Update result file after masking of rows estimation in EXPLAIN output.
      2ac29d97
    • Frazer Clement's avatar
      Merge 5.0-bugteam->5.1 bugteam · 29341a98
      Frazer Clement authored
      29341a98
    • Frazer Clement's avatar
    • Georgi Kodinov's avatar
      fixed typos in exeprimental list · dc6f612e
      Georgi Kodinov authored
      dc6f612e
    • Gleb Shchepa's avatar
      Bug #44139: Table scan when NULL appears in IN clause · 4fe81a8c
      Gleb Shchepa authored
      SELECT ... WHERE ... IN (NULL, ...) does full table scan,
      even if the same query without the NULL uses efficient range scan.
      
      The bugfix for the bug 18360 introduced an optimization:
      if
        1) all right-hand arguments of the IN function are constants
        2) result types of all right argument items are compatible
           enough to use the same single comparison function to
           compare all of them to the left argument,
      
      then
      
        we can convert the right-hand list of constant items to an array
        of equally-typed constant values for the further
        QUICK index access etc. (see Item_func_in::fix_length_and_dec()).
      
      The Item_null constant item objects have STRING_RESULT
      result types, so, as far as Item_func_in::fix_length_and_dec()
      is aware of NULLs in the right list, this improvement efficiently
      optimizes IN function calls with a mixed right list of NULLs and
      string constants. However, the optimization doesn't affect mixed
      lists of NULLs and integers, floats etc., because there is no
      unique common comparator.
      
      
      New optimization has been added to ignore the result type
      of NULL constants in the static analysis of mixed right-hand lists.
      This is safe, because at the execution phase we care about
      presence of NULLs anyway.
      
      1. The collect_cmp_types() function has been modified to optionally
         ignore NULL constants in the item list.
      2. NULL-skipping code of the Item_func_in::fix_length_and_dec()
         function has been modified to work not only with in_string
         vectors but with in_vectors of other types.
      
      
      mysql-test/r/func_in.result:
        Added test case for the bug #44139.
      mysql-test/t/func_in.test:
        Added test case for the bug #44139.
      sql/item_cmpfunc.cc:
        Bug #44139: Table scan when NULL appears in IN clause
        
        1. The collect_cmp_types() function has been modified to optionally
           ignore NULL constants in the item list.
        2. NULL-skipping code of the Item_func_in::fix_length_and_dec()
           function has been modified to work not only with in_string
           vectors but with in_vectors of other types.
      4fe81a8c
  6. 04 Oct, 2009 7 commits
  7. 02 Oct, 2009 3 commits
  8. 01 Oct, 2009 3 commits
  9. 30 Sep, 2009 14 commits
    • unknown's avatar
      Bug #45677 Slave stops with Duplicate entry for key PRIMARY when using trigger · 7c5e6dd9
      unknown authored
      The problem is that there is only one autoinc value associated with 
      the query when binlogging. If more than one autoinc values are used 
      in the query, the autoinc values after the first one can be inserted 
      wrongly on slave. So these autoinc values can become inconsistent on 
      master and slave.
      
      The problem is resolved by marking all the statements that invoke 
      a trigger or call a function that updated autoinc fields as unsafe, 
      and will switch to row-format in Mixed mode. Actually, the statement 
      is safe if just one autoinc value is used in sub-statement, but it's 
      impossible to check how many autoinc values are used in sub-statement.)
      
      mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result:
        Test result for bug#45677
      mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test:
        Added test to verify the following two properties:
        P1) insert/update in an autoinc column causes statement to 
        be logged in row format if binlog_format=mixed
        P2) if binlog_format=mixed, and a trigger or function contains 
            two or more inserts/updates in a table that has an autoinc 
            column, then the slave should not go out of sync, even if 
            there are concurrent transactions.
      sql/sql_base.cc:
        Added function 'has_write_table_with_auto_increment' to check 
        if one (or more) write tables have auto_increment columns.
        
        Removed function 'has_two_write_locked_tables_with_auto_increment', 
        because the function is included in function 
        'has_write_table_with_auto_increment'.
      7c5e6dd9
    • Davi Arnaut's avatar
      Manual merge. · 3678449d
      Davi Arnaut authored
      3678449d
    • Davi Arnaut's avatar
      Post-merge cleanup: Reorganize code for better comprehensibility. · 52cbe9e4
      Davi Arnaut authored
                          Removes the need of a hack (the jump to label).
      52cbe9e4
    • Davi Arnaut's avatar
      Manual merge. · 7d4e571a
      Davi Arnaut authored
      7d4e571a
    • Davi Arnaut's avatar
      Post-merge fix: DBUG macros are wrapped inside a loop. · 3372cc87
      Davi Arnaut authored
      sql/sql_parse.cc:
        DBUG macros are wrapped inside a loop. Allow to break
        the command switch from within a DBUG macro.
      3372cc87
    • Davi Arnaut's avatar
      Bug#47525: MySQL crashed (Federated) · f474f75b
      Davi Arnaut authored
      On Mac OS X or Windows, sending a SIGHUP to the server or a
      asynchronous flush (triggered by flush_time), would cause the
      server to crash.
      
      The problem was that a hook used to detach client API handles
      wasn't prepared to handle cases where the thread does not have
      a associated session.
      
      The solution is to verify whether the thread has a associated
      session before trying to detach a handle.
      
      mysql-test/r/federated_debug.result:
        Add test case result for Bug#47525
      mysql-test/t/federated_debug-master.opt:
        Debug point.
      mysql-test/t/federated_debug.test:
        Add test case for Bug#47525
      sql/slave.cc:
        Check whether a the thread has a associated session.
      sql/sql_parse.cc:
        Add debug code to simulate a reload without thread session.
      f474f75b
    • Kristofer Pettersson's avatar
      984bbc6a
    • Jonathan Perkin's avatar
      bug#27693: Windows compilation from bk fails using WITH_BERKELEY_STORAGE_ENGINE · f5714642
      Jonathan Perkin authored
      Make configure.js bail with an error if trying to build bdb from a bzr
      tree.
      f5714642
    • Jonathan Perkin's avatar
      Merge into mysql-5.1-bugteam · b7993bfd
      Jonathan Perkin authored
      b7993bfd
    • Jonathan Perkin's avatar
      bug#41546: mysql-stress-run.pl is not packaged on Windows · 6149878e
      Jonathan Perkin authored
      Copy mysql-stress-run.pl into noinstall package.
      6149878e
    • Kristofer Pettersson's avatar
      Bug#34895 'show procedure status' or 'show function status' + · 0816b40e
      Kristofer Pettersson authored
                'flush tables' crashes
      
      The server crashes when 'show procedure status' and 'flush tables' are
      run concurrently.
      
      This is caused by the way mysql.proc table is added twice to the list
      of table to lock although the requirements on the current locking API
      assumes differently.
      
      No test case is submitted because of the nature of the crash which is 
      currently difficult to reproduce in a deterministic way.
      
      This is a backport from 5.1
      
      myisam/mi_dbug.c:
        * check_table_is_closed is only used in EXTRA_DEBUG mode but since it is
        iterating over myisam shared data it still needs to be protected by an
        appropriate mutex.
      sql/sql_yacc.yy:
        * Since the I_S mechanism is already handling the open and close of 
        mysql.proc there is no need for the method sp_add_to_query_tables.
      0816b40e
    • Martin Hansson's avatar
      Merge of Bug#35996 · 44bc11d3
      Martin Hansson authored
      44bc11d3
    • unknown's avatar
      Bug #46998 mysqlbinlog can't output BEGIN even if the database is included in a transaction · c63c30d9
      unknown authored
      The 'BEGIN/COMMIT/ROLLBACK' log event could be filtered out if the
      database is not selected by --database option of mysqlbinlog command.
      This can result in problem if there are some statements in the
      transaction are not filtered out.
      
      To fix the problem, mysqlbinlog will output 'BEGIN/ROLLBACK/COMMIT' 
      in regardless of the database filtering rules.
      
      client/mysqlbinlog.cc:
        Skip the database check for BEGIN/COMMIT/ROLLBACK log events.
      mysql-test/r/mysqlbinlog.result:
        Test result for bug#46998
      mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test:
        The test case is updated duo to the patch of bug#46998
      mysql-test/t/mysqlbinlog.test:
        Added test to verify if the 'BEGIN', 'COMMIT' and 'ROLLBACK' are output
        in regardless of database filtering
      c63c30d9
    • unknown's avatar
      Bug #46998 mysqlbinlog can't output BEGIN even if the database is included in a transaction · dec257eb
      unknown authored
      The 'BEGIN/COMMIT/ROLLBACK' log event could be filtered out if the
      database is not selected by --database option of mysqlbinlog command.
      This can result in problem if there are some statements in the
      transaction are not filtered out.
      
      To fix the problem, mysqlbinlog will output 'BEGIN/ROLLBACK/COMMIT' 
      in regardless of the database filtering rules.
      
      client/mysqlbinlog.cc:
        Skip the database check for BEGIN/COMMIT/ROLLBACK log events.
      mysql-test/r/mysqlbinlog.result:
        Test result for bug#46998
      mysql-test/t/mysqlbinlog.test:
        Added test to verify if the 'BEGIN', 'COMMIT' and 'ROLLBACK' are output
        in regardless of database filtering
      dec257eb
  10. 29 Sep, 2009 1 commit