1. 12 Nov, 2010 1 commit
    • Marc Alff's avatar
      Bug#58052 Binary log IO not being accounted for properly · 9e7ca88f
      Marc Alff authored
      Before this fix, file io for the binary log file was not accounted properly,
      and showed no io at all.
      
      This bug was due to the following issues:
      
      1) file io for the binlog was instrumented:
      - sometime as "wait/io/file/sql/binlog"
      - sometime as "wait/io/file/sql/MYSQL_LOG"
      leading to inconsistent event_names.
      
      2) the binlog file itself was using an IO_CACHE,
      but the IO_CACHE implementation in mysys/mf_iocache.c was
      not instrumented to make performance schema calls to record file io.
      
      3) The "wait/io/file/sql/MYSQL_LOG" instrumentation was used
      for several log files, such as:
      - the binary log
      - the slow log
      - the query log
      which caused file io in these different log files to be accounted
      against the same instrument.
      The instrumentation needs to have a finer grain and report io
      in different event_names, because each file really serves a different purpose.
      
      With this fix:
      - the IO_CACHE implementation is now instrumented
      - the "wait/io/file/sql/MYSQL_LOG" instrument has been removed
      - binlog io is now always instrumented with "wait/io/file/sql/binlog"
      - the slow log is instrumented with a new name, "wait/io/file/sql/slow_log"
      - the query log is instrumented with a new name, "wait/io/file/sql/query_log"
      9e7ca88f
  2. 11 Nov, 2010 4 commits
    • Sergey Vojtovich's avatar
      Merge patch for BUG#58079. · bd9fc1f6
      Sergey Vojtovich authored
      bd9fc1f6
    • Sergey Vojtovich's avatar
      030e04d6
    • Dmitry Shulga's avatar
      e9bd55ad
    • Dmitry Shulga's avatar
      Fixed bug#54375 - Error in stored procedure leaves connection · af132f15
      Dmitry Shulga authored
      in different default schema.
      
      In strict mode, when data truncation or conversion happens,
      THD::killed is set to THD::KILL_BAD_DATA.
      
      This is abuse of KILL mechanism to guarantee that execution
      of statement is aborted.
      
      The stored procedures execution, on the other hand,
      upon detection that a connection was killed, would
      terminate immediately, without trying to restore the caller's
      context, in particular, restore the caller's current schema.
      
      The fix is, when terminating a stored procedure execution,
      to only bypass cleanup if the entire connection was killed,
      not in case of other forms of KILL.
      
      
      mysql-test/r/sp-bugs.result:
        Added result for a test case for bug#54375.
      mysql-test/t/sp-bugs.test:
        Added test case for bug#54375.
      sql/sp_head.cc:
        sp_head::execute modified: restore saved current db if
        connection is not killed.
      af132f15
  3. 10 Nov, 2010 8 commits
    • Vladislav Vaintroub's avatar
      Fix typo : SVR5=>SVR4 · 6a20a3ac
      Vladislav Vaintroub authored
      6a20a3ac
    • Georgi Kodinov's avatar
      14a1e2bd
    • Georgi Kodinov's avatar
      Bug #57744: sql-common/client.c: Missing DBUG_RETURN macro · b4330cdf
      Georgi Kodinov authored
      - added missing DBUG_RETURN
      - fixed whitespace according to coding style.
      b4330cdf
    • Oystein Grovlen's avatar
      Bug#57704 Cleanup code dies with void TABLE::set_keyread(bool): Assertion `file' failed. · a571802b
      Oystein Grovlen authored
      This bug was introduced in this revision: 
      kostja@sun.com-20100727102553-b4n2ojcyfj79l2x7
      ("A pre-requisite patch for the fix for Bug#52044.")
      
      It happens because close_thread_tables() is now called in
      open_and_lock_tables upon failure.  Hence, table is no longer
      open when optimizer tries to do cleanup.
      
      Fix: Make sure to do cleanup in st_select_lex_unit::prepare()
      upon failure. This way, cleanup() is called before tables are
      released.
      
      mysql-test/r/subselect.result:
        Added test case for Bug#57704.
      mysql-test/t/subselect.test:
        Added test case for Bug#57704.
      sql/sql_union.cc:
        st_select_lex_unit::prepare():  On failure, make sure cleanup()
        is called.
      a571802b
    • Dmitry Shulga's avatar
      null merge. · bcdc0f6d
      Dmitry Shulga authored
      bcdc0f6d
    • Dmitry Shulga's avatar
      Fixed bug#56619 - Assertion failed during · b2432ca4
      Dmitry Shulga authored
      ALTER TABLE RENAME, DISABLE KEYS.
      
      The code of ALTER TABLE RENAME, DISABLE KEYS could
      issue a commit while holding LOCK_open mutex.
      This is a regression introduced by the fix for
      Bug 54453.
      This failed an assert guarding us against a potential
      deadlock with connections trying to execute
      FLUSH TABLES WITH READ LOCK.
      
      The fix is to move acquisition of LOCK_open outside
      the section that issues ha_autocommit_or_rollback().
      LOCK_open is taken to protect against concurrent
      operations with .frms and the table definition
      cache, and doesn't need to cover the call to commit.
      
      A test case added to innodb_mysql.test.
      
      The patch is to be null-merged to 5.5, which
      already has 54453 null-merged to it.
      
      mysql-test/suite/innodb/r/innodb_mysql.result:
        Added test results for test for bug#56619.
      mysql-test/suite/innodb/t/innodb_mysql.test:
        Added test for bug#56619.
      sql/sql_table.cc:
        mysql_alter_table() modified: moved acquisition of LOCK_open
        after call to ha_autocommit_or_rollback.
      b2432ca4
    • Dmitry Shulga's avatar
      Auto-merge from 5.1-bugteam for bug#57386. · 8bb57cdd
      Dmitry Shulga authored
      8bb57cdd
    • Dmitry Shulga's avatar
      Fixed Bug#57386 - main.execution_constants segfault on MIPS64EL. · 37b8a3d7
      Dmitry Shulga authored
      sql/item_func.cc:
        Item_func::fix_fields modified: increased minimal required stack
        size in call to check_stack_overrun().
      37b8a3d7
  4. 09 Nov, 2010 9 commits
  5. 08 Nov, 2010 10 commits
  6. 07 Nov, 2010 3 commits
    • Dmitry Shulga's avatar
      11ebb5ba
    • Dmitry Shulga's avatar
      A fix and a test case for Bug#47924 -main.log_tables times out · 59c9bdf5
      Dmitry Shulga authored
      sporadically.
      
      The cause of the sporadic time out was a leaking protection
      against the global read lock, taken by the RENAME statement,
      and not released in case of an error occurred during RENAME.
      The leaking protection counter would lead to the value of
      protect_against_global_read never dropping to 0.
      Consequently FLUSH TABLES in all connections, including the
      one that leaked the protection, could not proceed.
       
      The fix is to ensure that all branchesin RENAME code properly
      release GRL protection.
      
      mysql-test/r/log_tables.result:
        Added results for test for bug#47924.
      mysql-test/t/log_tables.test:
        Added test for bug#47924.
      sql/sql_rename.cc:
        mysql_rename_tables() modified: replaced return from function
        to goto to clean up code block in case of error.
      59c9bdf5
    • He Zhenxing's avatar
  7. 06 Nov, 2010 1 commit
  8. 05 Nov, 2010 4 commits