1. 14 Jan, 2008 4 commits
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl · 2a64283c
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
      
      
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        mask error message in show slave status
      2a64283c
    • unknown's avatar
      fix for versional test · 05d69943
      unknown authored
      
      mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
        Mask out error messages
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/t/rpl_temporary_errors.test:
        mask out binlog position
      05d69943
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl · f875890a
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
      
      
      mysql-test/suite/rpl/r/rpl_create_database.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        Auto merged
      mysql-test/suite/rpl/t/rpl_create_database.test:
        Auto merged
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        Auto merged
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        SCCS merged
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        SCCS merged
      f875890a
    • unknown's avatar
      Fix for versional test · 556f2e4e
      unknown authored
      Mask binlog positions, error, warning and other information that are not significant for the test
      
      
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Mask out binlog position and DBs in result of show master status
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Mask out log positions in tests to make them version independent
      mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/r/rpl_000015.result:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_change_master.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_create_database.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_grant.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        update result
      mysql-test/suite/rpl/r/rpl_log_pos.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_rotate_logs.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_row_reset_slave.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_skip_error.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_stm_reset_slave.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_stm_until.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_temporary_errors.result:
        Mask out binlog positions
      mysql-test/suite/rpl/t/rpl_000015.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_change_master.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_colSize.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_create_database.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_grant.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_log_pos.test:
        Mask out binlog position and DBs
      mysql-test/suite/rpl/t/rpl_rotate_logs.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_skip_error.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_stm_until.test:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_binary_logs.inc:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_master_logs.inc:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_master_status.inc:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/include/show_slave_status2.inc:
        Mask out log positions in tests to make them version independent
      556f2e4e
  2. 11 Jan, 2008 3 commits
    • unknown's avatar
      Fixing failing test case. · 5744be40
      unknown authored
      
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        Starting and stopping slave to make sure that the init_slave
        variable is executed.
      5744be40
    • unknown's avatar
      Post-merge changes to make tests pass. · 9f9bc865
      unknown authored
      
      BitKeeper/deleted/.del-binlog_start_comment.test:
        Delete: mysql-test/t/binlog_start_comment.test
      BitKeeper/deleted/.del-binlog_start_comment.result:
        Delete: mysql-test/r/binlog_start_comment.result
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Rename: mysql-test/t/binlog_unsafe.test -> mysql-test/suite/binlog/t/binlog_unsafe.test
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Rename: mysql-test/r/binlog_unsafe.result -> mysql-test/suite/binlog/r/binlog_unsafe.result
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Result change.
      mysql-test/suite/rpl/r/rpl_timezone.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_row_sp005.test:
        Adding missing sync with master causing test to fail.
      9f9bc865
    • unknown's avatar
      Post-merge fixes to make binlog test suite pass. · 8ee2d36e
      unknown authored
      
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Fixing test to use different positions depending on binlog format.
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
        Result change.
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Result change.
      mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
        Removing part of test that does not work any more.
      mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
        Removing part of test that does not work any more.
      8ee2d36e
  3. 02 Jan, 2008 1 commit
  4. 31 Dec, 2007 1 commit
  5. 25 Dec, 2007 1 commit
    • unknown's avatar
      WL#4077, added mask for SHOW DATABASES statement · a7d916ac
      unknown authored
      
      mysql-test/suite/rpl/r/rpl_create_database.result:
        updated result file
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        updated result file
      mysql-test/suite/rpl/t/rpl_create_database.test:
        added the mask 'mysql%' for SHOW DATABASES
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        added the mask 'mysql%' for SHOw DATABASES
      a7d916ac
  6. 24 Dec, 2007 3 commits
    • unknown's avatar
      Remove test rpl_drop_view from main suite · a76edca6
      unknown authored
      
      BitKeeper/deleted/.del-rpl_drop_view.test:
        Delete: mysql-test/t/rpl_drop_view.test
      BitKeeper/deleted/.del-rpl_drop_view.result:
        Delete: mysql-test/r/rpl_drop_view.result
      a76edca6
    • unknown's avatar
      Move test rpl_server_id to suite rpl · 38809e3f
      unknown authored
      
      mysql-test/suite/rpl/t/rpl_server_id.test:
        Rename: mysql-test/t/rpl_server_id.test -> mysql-test/suite/rpl/t/rpl_server_id.test
      mysql-test/suite/rpl/r/rpl_server_id.result:
        Rename: mysql-test/r/rpl_server_id.result -> mysql-test/suite/rpl/r/rpl_server_id.result
      38809e3f
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.0 · a48bb106
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.1
      
      
      sql/set_var.cc:
        Auto merged
      BitKeeper/deleted/.del-rpl_slave_skip.result:
        Auto merged
      BitKeeper/deleted/.del-rpl_slave_skip.test:
        Auto merged
      sql/slave.cc:
        Manual merged
      a48bb106
  7. 21 Dec, 2007 7 commits
    • unknown's avatar
      Undo previous merge. · 6d2bb019
      unknown authored
      
      BitKeeper/deleted/.del-rpl_transaction.result:
        Delete: mysql-test/r/rpl_transaction.result
      BitKeeper/deleted/.del-rpl_transaction-master.opt:
        Delete: mysql-test/t/rpl_transaction-master.opt
      BitKeeper/deleted/.del-rpl_transaction-slave.opt:
        Delete: mysql-test/t/rpl_transaction-slave.opt
      BitKeeper/deleted/.del-rpl_transaction.test:
        Delete: mysql-test/t/rpl_transaction.test
      6d2bb019
    • unknown's avatar
      Merge riska.(none):/home/sven/bk/b26395-autocommit-xa/5.0-rpl · f8fd36cd
      unknown authored
      into  riska.(none):/home/sven/bk/b26395-autocommit-xa/5.1-new-rpl
      Should really not be merged, will undo later
      
      
      sql/log_event.cc:
        Auto merged
      BitKeeper/deleted/.del-sp_trans_log.result:
        Auto merged
      mysql-test/r/multi_update.result:
        bad auto merge, will undo later
      mysql-test/r/variables-big.result:
        bad auto merge, will undo later
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        bad auto merge, will undo later
      sql/log.cc:
        bad auto merge, will undo later
      f8fd36cd
    • unknown's avatar
      BUG#26395: if crash during autocommit update to transactional table on master, slave fails · b00fc710
      unknown authored
      Now, every transaction (including autocommit transactions) start with
      a BEGIN and end with a COMMIT/ROLLBACK in the binlog.
      Added a test case, and updated lots of test case result files.
      
      
      mysql-test/t/rpl_transaction-master.opt:
        BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-master.opt
      mysql-test/t/rpl_transaction-slave.opt:
        BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-slave.opt
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Updated result file
      mysql-test/r/multi_update.result:
        Updated result file
      mysql-test/r/rpl_transaction.result:
        New result file for new test case.
      mysql-test/r/sp_trans_log.result:
        Updated result file
      mysql-test/r/variables-big.result:
        Updated result file
      mysql-test/t/rpl_transaction.test:
        New test case.
      sql/log.cc:
         - Always write BEGIN and COMMIT around statements, even in autocommit
           mode.
         - Added comments for binlog_commit and binlog_rollback.
      sql/log_event.cc:
        Added debug trigger to avoid writing xid events to the binlog.
      b00fc710
    • unknown's avatar
      fixed broken result file · 81f5cfe0
      unknown authored
      81f5cfe0
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkroot/mysql-5.0-rpl · 1d327e3d
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.0
      
      1d327e3d
    • unknown's avatar
      Merge capulet.kindahl.net:/home/mats/devel/b12691-mysql-5.0-rpl · 311ca214
      unknown authored
      into  capulet.kindahl.net:/home/mats/devel/fix-mysql-5.0-rpl
      
      311ca214
    • unknown's avatar
      BUG#28908 Replication: set global server_id is not setting the session server_id · 25d238de
      unknown authored
      When set the server-id dynamically, the server_id member of current thread is not updated.
      
      Update the server_id member of current thread after updated the global variable value.
      
      
      sql/set_var.cc:
        Update server_id of current thread
      mysql-test/r/rpl_server_id.result:
        Add test for BUG#28908
      mysql-test/t/rpl_server_id.test:
        Add test for BUG#28908
      25d238de
  8. 20 Dec, 2007 4 commits
    • unknown's avatar
      Merge ssandberg@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · 62086e0a
      unknown authored
      into  riska.(none):/home/sven/bkroot/5.1-new-rpl
      
      62086e0a
    • unknown's avatar
      Fixed errors in pushbuild by updating test and result files. · 17bd0f31
      unknown authored
      
      mysql-test/suite/binlog/r/binlog_row_binlog.result:
        updated result file.
        This part of the test was created in parallel with the fix to bug#26395,
        which modifies the output of mysqlbinlog and hence the output of many
        tests, including this one.
      mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
        updated result file
      mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
        1. replaced include/show_slave_status.inc by more specific tests for the
        SQL error and IO error, as well as Slave_IO_State.
        2. drop all tables at the end of test.
      17bd0f31
    • unknown's avatar
      WL#4077 fix for innodb test that were skipped · ff49ddcd
      unknown authored
      
      mysql-test/include/have_innodb.inc:
        added new value 'ENABLED' for 'support' field
      ff49ddcd
    • unknown's avatar
      BUG#12691 (Exec_master_log_pos corrupted with SQL_SLAVE_SKIP_COUNTER): · dad5ba13
      unknown authored
      Complementary patch since LOAD DATA INFILE was not covered in
      the previous patch.
      
      This patch adds a check so that the slave skip counter is not
      decreased to zero if seeing a BEGIN_LOAD_QUERY_EVENT,
      APPEND_BLOCK_EVENT, or CREATE_FILE_EVENT since these cannot
      end a group. The group is terminated by an EXECUTE_LOAD_QUERY_
      EVENT or DELETE_FILE_EVENT.
      
      
      mysql-test/r/rpl_slave_skip.result:
        Result change.
      mysql-test/t/rpl_slave_skip.test:
        Adding tests to test that the first event of a LOAD DATA INFILE
        can be skipped safely for both transactional and non-transactional
        tables. Also include a case that will generate a DELETE_FILE event
        last in the group, and this should be properly skipped as well.
      sql/slave.cc:
        Not decrementing slave skip counter to zero when seeing a
        BEGIN_LOAD_QUERY_EVENT, APPEND_BLOCK_EVENT, or CREATE_FILE_EVENT
        since these cannot end a group.
      dad5ba13
  9. 19 Dec, 2007 2 commits
    • unknown's avatar
      Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · f1a16bd4
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      mysql-test/r/mysqlbinlog.result:
        Auto merged
      mysql-test/r/user_var-binlog.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_stm_charset.result:
        Auto merged
      sql/log_event.cc:
        Auto merged
      f1a16bd4
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · b7f86655
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
        Auto merged
      mysql-test/r/mysqlbinlog.result:
        Auto merged
      mysql-test/r/user_var-binlog.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_stm_charset.result:
        Auto merged
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Manual merge, using remove version of test.
      mysql-test/suite/rpl/r/rpl_timezone.result:
        Manual merge.
      sql/log_event.cc:
        Manual merge
      b7f86655
  10. 18 Dec, 2007 1 commit
  11. 17 Dec, 2007 2 commits
    • unknown's avatar
      Merge hezx.(none):/media/sda3/work/mysql/bkwork/bug#32205/5.1 · 4a6d4956
      unknown authored
      into  hezx.(none):/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.1-new-rpl
      
      
      mysql-test/r/mysqlbinlog2.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result:
        Auto merged
      sql/log_event.cc:
        Auto merged
      4a6d4956
    • unknown's avatar
      BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates · 636fac80
      unknown authored
      fine
      
      The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
      output with a delimeter appended right after it, if the query string ends with a '--'
      comment, then the delimeter would be considered as part of the comment, if there are any
      statements after this query, then it will cause a syntax error.
      
      Start a newline before appending delimiter after a query string
      
      
      mysql-test/r/mysqlbinlog.result:
        Update result for BUG#32205
      mysql-test/r/mysqlbinlog2.result:
        Update result for BUG#32205
      mysql-test/r/user_var-binlog.result:
        Update result for BUG#32205
      mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result:
        Update result for BUG#32205
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Update result for BUG#32205
      mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
        fix test for BUG#32205
      mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result:
        Update result for BUG#32205
      mysql-test/suite/rpl/r/rpl_stm_charset.result:
        Update result for BUG#32205
      sql/log_event.cc:
        Start a newline before appending delimiter after a query string
      mysql-test/suite/binlog/r/binlog_start_comment.result:
        Add test for BUG#32205
      mysql-test/suite/binlog/t/binlog_start_comment.test:
        Add test for BUG#32205
      636fac80
  12. 15 Dec, 2007 1 commit
    • unknown's avatar
      BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates fine · f53f0455
      unknown authored
      The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
      output with a delimeter appended right after it, if the query string ends with a '--'
      comment, then the delimeter would be considered as part of the comment, if there are any
      statements after this query, then it will cause a syntax error.
      
      Start a newline before appending delimiter after a query string
      
      
      mysql-test/r/ctype_ucs_binlog.result:
        Update test result for BUG#32205
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Update test result for BUG#32205
      mysql-test/r/mysqlbinlog.result:
        Update test result for BUG#32205
      mysql-test/r/rpl_charset.result:
        Update test result for BUG#32205
      mysql-test/r/rpl_timezone.result:
        Update test result for BUG#32205
      mysql-test/r/user_var-binlog.result:
        Update test result for BUG#32205
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Fixed for BUG#32205
      sql/log_event.cc:
        Start a newline before appending delimiter after a query string
      mysql-test/r/binlog_start_comment.result:
        Add test for BUG#32205
      mysql-test/t/binlog_start_comment.test:
        Add test for BUG#32205
      f53f0455
  13. 14 Dec, 2007 7 commits
    • unknown's avatar
      Merge riska.(none):/home/sven/bkroot/5.1-new-rpl · 7e2ac487
      unknown authored
      into  riska.(none):/home/sven/bk/b32407-5.1-new-rpl-mysqlbinlog_base64
      
      7e2ac487
    • unknown's avatar
      BUG#32407: Impossible to do point-in-time recovery from older binlog · 30c64089
      unknown authored
      Problem: it is unsafe to read base64-printed events without first
      reading the Format_description_log_event (FD).  Currently, mysqlbinlog
      cannot print the FD.
      
      As a side effect, another bug has also been fixed: When mysqlbinlog
      --start-position=X was specified, no ROLLBACK was printed. I changed
      this, so that ROLLBACK is always printed.
      
      This patch does several things:
      
       - Format_description_log_event (FD) now print themselves in base64
         format.
      
       - mysqlbinlog is now able to print FD events.  It has three modes:
          --base64-output=auto    Print row events in base64 output, and print
                                  FD event.  The FD event is printed even if
                                  it is outside the range specified with
                                  --start-position, because it would not be
                                  safe to read row events otherwise. This is
                                  the default.
      
          --base64-output=always  Like --base64-output=auto, but also print
                                  base64 output for query events.  This is
                                  like the old --base64-output flag, which
                                  is also a shorthand for
                                  --base64-output=always
      
          --base64-output=never   Never print base64 output, generate error if
                                  row events occur in binlog.  This is
                                  useful to suppress the FD event in binlogs
                                  known not to contain row events (e.g.,
                                  because BINLOG statement is unsafe,
                                  requires root privileges, is not SQL, etc)
      
       - the BINLOG statement now handles FD events correctly, by setting
         the thread's rli's relay log's description_event_for_exec to the
         loaded event.
      
         In fact, executing a BINLOG statement is almost the same as reading
         an event from a relay log.  Before my patch, the code for this was
         separated (exec_relay_log_event in slave.cc executes events from
         the relay log, mysql_client_binlog_statement in sql_binlog.cc
         executes BINLOG statements).  I needed to augment
         mysql_client_binlog_statement to do parts of what
         exec_relay_log_event does.  Hence, I did a small refactoring and
         moved parts of exec_relay_log_event to a new function, which I
         named apply_event_and_update_pos.  apply_event_and_update_pos is
         called both from exec_relay_log_event and from
         mysql_client_binlog_statement.
      
       - When a non-FD event is executed in a BINLOG statement, without
         previously executing a FD event in a BINLOG statement, it generates
         an error, because that's unsafe.  I took a new error code for that:
         ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENTS.
      
         In order to get a decent error message containing the name of the
         event, I added the class method char*
         Log_event::get_type_str(Log_event_type type), which returns a
         string name for the given Log_event_type.  This is just like the
         existing char* Log_event::get_type_str(), except it is a class
         method that takes the log event type as parameter.
      
         I also added PRE_GA_*_ROWS_LOG_EVENT to Log_event::get_type_str(),
         so that names of old rows event are properly printed.
      
       - When reading an event, I added a check that the event type is known
         by the current Format_description_log_event. Without this, it may
         crash on bad input (and I was struck by this several times).
      
       - I patched the following test cases, which all contain BINLOG
         statements for row events which must be preceded by BINLOG
         statements for FD events:
          - rpl_bug31076
      
      While I was here, I fixed some small things in log_event.cc:
      
       - replaced hard-coded 4 by EVENT_TYPE_OFFSET in 3 places
      
       - replaced return by DBUG_VOID_RETURN in one place
      
       - The name of the logfile can be '-' to indicate stdin.  Before my
         patch, the code just checked if the first character is '-'; now it
         does a full strcmp().  Probably, all arguments that begin with a -
         are already handled somewhere else as flags, but I still think it
         is better that the code reflects what it is supposed to do, with as
         little dependencies as possible on other parts of the code.  If we
         one day implement that all command line arguments after -- are
         files (as most unix tools do), then we need this.
      
      I also fixed the following in slave.cc:
      
       - next_event() was declared twice, and queue_event was not static but
         should be static (not used outside the file).
      
      
      client/client_priv.h:
        Declared the new option for base64 output.
      client/mysqlbinlog.cc:
         - Change from using the two-state command line option
          "default/--base64-output" to the three-state
          "--base64-output=[never|auto|always]"
         - Print the FD event even if it is outside the --start-position range.
         - Stop if a row event is about to be printed without a preceding FD
           event.
         - Minor fixes:
            * changed 4 to EVENT_TYPE_OFFSET in some places
            * Added comments
            * before, "mysqlbinlog -xyz" read from stdin; now it does not
              (only "mysqlbinlog -" reads stdin).
      mysql-test/r/mysqlbinlog2.result:
        Updated result file: mysqlbinlog now prints ROLLBACK always.
      mysql-test/suite/binlog/t/disabled.def:
        The test must be disabled since it reveals another bug: see BUG#33247.
      mysql-test/suite/rpl/r/rpl_bug31076.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result:
        Updated result file
      mysql-test/suite/rpl/t/rpl_bug31076.test:
        Had to add explicit Format_description_log_event before other BINLOG
        statements
      mysql-test/t/mysqlbinlog2.test:
        we must suppress base64 output in result file because it contains a
        timestamp
      sql/log_event.cc:
         - Made FD events able to print themselves
         - Added check that the current FD event knows about the event type, when
           an event is about to be read. (Hint to reviewers: I had to re-indent
           a big block because of this; use diff -b)
            * To get a decent error message, I also added a class method
              const char* Log_event::get_type_str(Log_event_type)
              which converts number to event type string without having a
              Log_event object.
            * Made Log_event::get_type_str aware of PRE_GA_*_ROWS_LOG_EVENT.
         - Minor fixes:
            * Changed return to DBUG_VOID_RETURN
      sql/log_event.h:
         - Declared enum to describe the three base64_output modes
         - Use the enum instead of a flag
         - Declare the new class method get_type_str (see log_event.cc)
      sql/share/errmsg.txt:
        Added error msg.
      sql/slave.cc:
         - Factored out part of exec_relay_log_event to the new function
           apply_event_and_update_pos, because that code is needed when executing
           BINLOG statements. (this is be functionally equivalent to the
           previous code, except: (1) skipping events is now optional, controlled
           by a parameter to the new function (2) the return value of
           exec_relay_log_event has changed; see next item).
         - Changed returned error value to always be 1. Before, it would return
           the error value from apply_log_event, which was unnecessary. This
           change is safe because the exact return value of exec_relay_log_event
           is never examined; it is only tested to be ==0 or !=0.
         - Added comments describing exec_relay_log_event and
           apply_event_and_update_pos.
         - Minor fixes:
            * Removed duplicate declaration of next_event, made queue_event
              static.
            * Added doxygen code to include this file.
      sql/slave.h:
        Declared the new apply_event_and_update_pos
      sql/sql_binlog.cc:
         - Made mysql_binlog_statement set the current FD event when the given
           event is an FD event. This entails using the new function
           apply_event_and_update_pos from slave.cc instead of just calling the
           ev->apply method.
         - Made mysql_binlog_statement fail if the first BINLOG statement is not
           an FD event.
      mysql-test/suite/binlog/r/binlog_base64_flag.result:
        New test file needs new result file
      mysql-test/suite/binlog/t/binlog_base64_flag.test:
        Added test case to verify that:
         - my patch fixes the bug
         - the new --base64-output flag works as expected
         - base64 events not preceded by an FD event give an error
         - an event of a type not known by the current FD event fails cleanly.
      mysql-test/suite/binlog/std_data/binlog-bug32407.000001:
        BitKeeper file /home/sven/bk/b32407-5.1-new-rpl-mysqlbinlog_base64/mysql-test/suite/binlog/std_data/binlog-bug32407.000001
      30c64089
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl · dbb5edd6
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.1.b29562v2
      
      dbb5edd6
    • unknown's avatar
      NDB didn't like utf-8 in the last change for some reasons · d9100612
      unknown authored
      Changing charset to latin1.
      
      d9100612
    • unknown's avatar
      BUG#26395: if crash during autocommit update to transactional table on master, slave fails · 682cea61
      unknown authored
      Now, every transaction (including autocommit transactions) starts with
      a BEGIN and ends with a COMMIT/ROLLBACK in the binlog.
      Added a test case, and updated lots of test case result files.
      
      
      mysql-test/r/multi_update.result:
        Updated result file
      mysql-test/r/sp_trans_log.result:
        Updated result file
      mysql-test/suite/binlog/r/binlog_innodb.result:
        Updated result file
      mysql-test/suite/binlog/r/binlog_multi_engine.result:
        Updated result file
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
        Updated result file
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Updated result file
      mysql-test/suite/ndb/r/ndb_binlog_format.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_row_charset_innodb.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_row_create_table.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
        Updated result file
      mysql-test/suite/rpl/r/rpl_truncate_3innodb.result:
        Updated result file
      mysql-test/suite/rpl/t/rpl_row_create_table.test:
        Updated result file
      mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result:
        Updated result file
      sql/log.cc:
         - Always write BEGIN and COMMIT around statements, even in autocommit
           mode.
         - Added comments for binlog_commit and binlog_rollback.
      sql/log_event.cc:
        Added debug trigger to avoid writing xid events to the binlog.
      mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
        Results for new test case
      mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt:
        Options for new test case
      mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt:
        Options for new test case
      mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
        Added new test case.
      682cea61
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl · 06b3ff55
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/b31582-mysql-5.1-rpl
      
      
      sql/log_event.cc:
        Auto merged
      06b3ff55
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.1.b29562 · 0a5c5593
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.1.b29562v2
      
      
      mysql-test/suite/rpl_ndb/t/disabled.def:
        Auto merged
      sql/ha_ndbcluster_binlog.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      0a5c5593
  14. 13 Dec, 2007 3 commits