1. 29 Sep, 2009 1 commit
    • Luis Soares's avatar
      BUG#23300: Slow query log on slave does not log slow replicated statements · 01cdba58
      Luis Soares authored
            
      NOTE: this is the backport to next-mr.
            
      When using replication, the slave will not log any slow query logs queries 
      replicated from the master, even if the option "--log-slow-slave-statements" 
      is set and these take more than "log_query_time" to execute.
                    
      In order to log slow queries in replicated thread one needs to set the
      --log-slow-slave-statements, so that the SQL thread is initialized with the 
      correct switch. Although setting this flag correctly configures the slave 
      thread option to log slow queries, there is an issue with the condition that 
      is used to check whether to log the slow query or not. When replaying binlog 
      events the statement contains the SET TIMESTAMP clause which will force the 
      slow logging condition check to fail. Consequently, the slow query logging will
      not take place.
                    
      This patch addresses this issue by removing the second condition from the
      log_slow_statements as it prevents slow queries to be binlogged and seems 
      to be deprecated.
      01cdba58
  2. 28 Sep, 2009 3 commits
    • Luis Soares's avatar
      d94e279c
    • Luis Soares's avatar
      BUG#28777, WL#4293: SHOW BINLOG EVENTS does not work on relay log · f0886a4d
      Luis Soares authored
      files
      
      NOTE: this is the backport to next-mr.
                  
      SHOW BINLOG EVENTS does not work with relay log files. If issuing
      "SHOW BINLOG EVENTS IN 'relay-log.000001'" in a non-empty relay
      log file (relay-log.000001), mysql reports empty set.
                  
      This patch addresses this issue by extending the SHOW command
      with RELAYLOG. Events in relay log files can now be inspected by
      issuing SHOW RELAYLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT
      [offset,] row_count].
      
      mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc:
        Shared part of the test case.
      mysql-test/include/show_binlog_events.inc:
        Added options $binary_log_file, $binary_log_limit_row, 
        $binary_log_limit_offset so that show_binlog_events can take 
        same parameters as SHOW BINLOG EVENTS does.
      mysql-test/include/show_relaylog_events.inc:
        Clone of show_binlog_events for relaylog events.
      mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test:
        Test case for row based replication.
      mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test:
        Test case for statement and mixed mode replication.
      sql/lex.h:
        Added RELAYLOG symbol.
      sql/mysqld.cc:
        Added "show_relaylog_events" to status_vars.
      sql/sp_head.cc:
        Set SQLCOM_SHOW_RELAYLOG_EVENTS to return flags=
        sp_head::MULTI_RESULTS; in sp_get_flags_for_command as
        SQLCOM_SHOW_BINLOG_EVENTS does.
      sql/sql_lex.h:
        Added sql_command SQLCOM_SHOW_RELAYLOG_EVENTS to lex enum_sql_command.
      sql/sql_parse.cc:
        Added handling of SQLCOM_SHOW_RELAYLOG_EVENTS.
      sql/sql_repl.cc:
        mysql_show_binlog_events set to choose the log file to use based on
        the command issued (SHOW BINLOG|RELAYLOG EVENTS).
      sql/sql_yacc.yy:
        Added RELAYLOG to the grammar.
      f0886a4d
    • Mats Kindahl's avatar
      Disabling tests that are not relevant after BUG#40116, these will be enabled · fbe6a4a7
      Mats Kindahl authored
      when WL#2867 or associated fixes for 5.1 is added to solve the problem.
      fbe6a4a7
  3. 25 Sep, 2009 1 commit
    • Mats Kindahl's avatar
      Bug #47645: Segmentation fault when out of memory during handlerton initialization · 5d2f79de
      Mats Kindahl authored
      There is a missing check for memory allocation failure when allocating
      memory for the handlerton structure. If the handlerton init function
      tries to de-reference the pointer, it will cause a segmentation fault
      and crash the server.
      
      This patch fixes the problem by not calling the init function if memory
      allocation failed, and instead prints an informative error message and
      reports the error to the caller.
      
      sql/handler.cc:
        Add a check if memory allocation succeeded before calling the init
        function. If it failed, it is not necessary to free the memory,
        but the plugin->data is set to NULL to ensure that it can be checked
        for failure.
      5d2f79de
  4. 23 Sep, 2009 3 commits
    • Mats Kindahl's avatar
      WL#5016: Fix header file include guards · d47710c8
      Mats Kindahl authored
                  
      Adding header include file guards to files that are missing such.
      d47710c8
    • Mats Kindahl's avatar
      Bug #37221: SET AUTOCOMMIT=1 does not commit binary log · 124e8301
      Mats Kindahl authored
      When setting AUTOCOMMIT=1 after starting a transaction, the binary log
      did not commit the outstanding transaction. The reason was that the binary
      log commit function saw the values of the new settings, deciding that there
      were nothing to commit.
      
      Fixed the problem by moving the implicit commit to before the thread option
      flags were changed, so that the binary log sees the old values of the flags
      instead of the values they will take after the statement.
      
      
      mysql-test/extra/binlog_tests/implicit.test:
        New test file to check implicit commits both inside and outside transactions.
      mysql-test/suite/binlog/t/binlog_implicit_commit.test:
        Test for implicit commit of SET AUTOCOMMIT and LOCK/UNLOCK TABLES.
      sql/set_var.cc:
        Adding code to commit pending transaction before changing option flags.
      124e8301
    • Mats Kindahl's avatar
      BUG#29288: myisam transactions replicated to a transactional · 8249fd6e
      Mats Kindahl authored
      slave leaves slave unstable
      
      Problem: when replicating from non-transactional to
      transactional engine with autocommit off, no BEGIN/COMMIT
      is written to the binlog. When the slave replicates, it
      will start a transaction that never ends.
      
      Fix: Force autocommit=on on slave by always replicating
      autocommit=1 from the master.
      8249fd6e
  5. 03 Sep, 2009 6 commits
  6. 02 Sep, 2009 17 commits
  7. 01 Sep, 2009 8 commits
  8. 31 Aug, 2009 1 commit