1. 14 Mar, 2008 1 commit
    • unknown's avatar
      BUG#33029 5.0 to 5.1 replication fails on dup key when inserting · f21ee5d0
      unknown authored
      using a trig in SP
      
      For all 5.0 and up to 5.1.12 exclusive, when a stored routine or
      trigger caused an INSERT into an AUTO_INCREMENT column, the
      generated AUTO_INCREMENT value should not be written into the
      binary log, which means if a statement does not generate
      AUTO_INCREMENT value itself, there will be no Intvar event (SET
      INSERT_ID) associated with it even if one of the stored routine
      or trigger caused generation of such a value. And meanwhile, when
      executing a stored routine or trigger, it would ignore the
      INSERT_ID value even if there is a INSERT_ID value available set
      by a SET INSERT_ID statement.
      
      Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is
      written into the binary log, and the value will be used if
      available when executing the stored routine or trigger.
      
      Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12
      (referenced as the buggy versions in the text below), when a
      statement that generates AUTO_INCREMENT value by the top
      statement was executed in the body of a SP, all statements in the
      SP after this statement would be treated as if they had generated
      AUTO_INCREMENT by the top statement.  When a statement that did
      not generate AUTO_INCREMENT value by the top statement but by a
      function/trigger called by it, an erroneous Intvar event would be
      associated with the statement, this erroneous INSERT_ID value
      wouldn't cause problem when replicating between masters and
      slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID
      value was not used when executing functions/triggers. But when
      replicating from buggy versions to 5.1.12 or newer, which will
      use the INSERT_ID value in functions/triggers, the erroneous
      value will be used, which would cause duplicate entry error and
      cause the slave to stop.
      
      The patch for 5.1 fixed it to ignore the SET INSERT_ID value when
      executing functions/triggers if it is replicating from a master
      of buggy versions, another patch for 5.0 fixed it not to generate
      the erroneous Intvar event.
      
      
      mysql-test/include/show_binlog_events.inc:
        add $binlog_start parameter to show binlog events from a given position
      sql/slave.cc:
        Add function to check for bug#33029
      sql/slave.h:
        Add function to check for bug#33029
      sql/sql_class.cc:
        if master has bug#33029, reset auto_inc_intervals_forced for sub statements
        
        add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument
      sql/sql_class.h:
        Add member to save and restore auto_inc_intervals_forced
      sql/structs.h:
        add copy constructor and assignment operator for Discrete_intervals_list
        
        add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument
      mysql-test/std_data/bug33029-slave-relay-bin.000001:
        relay logs from a buggy 5.0 master for test case of BUG#33029
      mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      f21ee5d0
  2. 20 Feb, 2008 9 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · 7b85da49
      unknown authored
      into  mysql1000.(none):/home/andrei/MySQL/FIXES/5.1/bug31316-sss_server_id_clashes
      
      
      sql/slave.cc:
        Auto merged
      7b85da49
    • unknown's avatar
      Bug #31316 Report server id clashes in SHOW SLAVE STATUS · e19c8e2e
      unknown authored
          "Server_IO_State" field
      
      Critical error messages from get_master_version_and_clock() were written
      only to the slave errorlog while Show slave status did not display any
      incident happened.
      
      Although the artifact was reported for a particular --replicate-same-server-id
      related issue the fix refines all critical error reporting with 
      deploying rli->report().
      
      The test for the bug covers only --replicate-same-server-id error reporting.
      
      
      mysql-test/suite/rpl/r/rpl_server_id1.result:
        new results reflecting changes
      mysql-test/suite/rpl/t/rpl_server_id1.test:
        Preserving the idea of the test unnecessary queries and the sleep are
        eliminated.
        In the end the slave must stop with the error displayable via $$$.
      sql/slave.cc:
        improving get_master_version_and_clock() code to report a critical incident
        via rli->report() that takes care of bothe the error log and
        the slave's status info placeholders.
        
        A critical error that force the IO slave thread to terminate is handled
        immediately (goto err).
      e19c8e2e
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · 34838645
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_sjis.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ujis.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result:
        Auto merged
      mysql-test/t/ctype_sjis.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ujis.test:
        Auto merged
      strings/ctype-euc_kr.c:
        Auto merged
      strings/ctype-eucjpms.c:
        Auto merged
      strings/ctype-gb2312.c:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      strings/ctype-ujis.c:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        SCCS merged
      mysql-test/t/ctype_ucs.test:
        SCCS merged
      34838645
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1 · 54084210
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/handler.cc:
        Auto merged
      54084210
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · 0e767df5
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      
      0e767df5
    • unknown's avatar
    • unknown's avatar
      WL#4078: Document binary format of binlog entries · 6988f45e
      unknown authored
      Minor update with corrections and notes on the binlog format.
      This only affects comments, not code.
      
      
      sql/log_event.h:
        Fixes in documentation of binlog format.
      6988f45e
    • unknown's avatar
      Upon the sql command flush logs, we need to ensure that all outstanding · 9dfc925d
      unknown authored
      ndb data to be logged has made it to the binary log to get a deterministic
      behavior on the rotation of the log.
      
      
      9dfc925d
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b32510 · 681363e2
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b32510v2
      
      
      mysql-test/r/ctype_big5.result:
        Auto merged
      mysql-test/r/ctype_cp932.result:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_gb2312.result:
        Auto merged
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_cp932.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      681363e2
  3. 19 Feb, 2008 5 commits
  4. 18 Feb, 2008 2 commits
    • unknown's avatar
      Fixed broken result file. · ace6d431
      unknown authored
      ace6d431
    • unknown's avatar
      Updating result files. · 6e11dd40
      unknown authored
      
      mysql-test/r/multi_update.result:
        Result change.
      mysql-test/r/rpl_bug33931.result:
        Result change.
      mysql-test/suite/ndb/r/ndb_binlog_format.result:
        Result change.
      6e11dd40
  5. 15 Feb, 2008 9 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge · 0946b1d2
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      
      0946b1d2
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · 51cd734d
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/sql_delete.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      BitKeeper/deleted/.del-rpl_variables.test:
        Manual merge.
      mysql-test/r/multi_update.result:
        Manual merge.
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Manual merge.
      sql/slave.cc:
        Manual merge.
      51cd734d
    • unknown's avatar
      Merge ssandberg@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · e05e6814
      unknown authored
      into  riska.(none):/home/sven/bktip/5.1-new-rpl
      
      
      e05e6814
    • unknown's avatar
      Problem: After I moved rpl/t/rpl_variables.test into t/variables.test, · 3f0a603c
      unknown authored
      t/variables.test fails on embedded server. Moved out that part again, to
      a new test called t/variables-notembedded.test.
      
      
      mysql-test/t/variables-notembedded.test:
        BitKeeper file /home/sven/bk/debug-max/5.1-new-rpl/mysql-test/t/variables-notembedded.test
      mysql-test/r/variables-notembedded.result:
        Add -master.opt file to have a list of variables for slave_skip_errors.
      mysql-test/r/variables.result:
        Variable variables not available in embedded mode to a new test,
        variables-notembedded.test
      mysql-test/t/variables-notembedded-master.opt:
        Add --loose before --slave-skip-errors, so that it works if mtr is run
        with --embedded
      mysql-test/t/variables.test:
        Variable variables not available in embedded mode to a new test,
        variables-notembedded.test. Result file updated accordingly.
      3f0a603c
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl · f56754b3
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/b34458-mysql-5.1-rpl
      
      
      f56754b3
    • unknown's avatar
      Bug #34458 Extreneous use of templates in server code · 450ed5ae
      unknown authored
      Patch to remove white-space left over after removing anonymous
      namespace.
      
      
      sql/handler.cc:
        Removing indentation and whitespace.
      450ed5ae
    • unknown's avatar
      Bug #34458 Extreneous use of templates in server code · 40176e19
      unknown authored
      Replacing a template function with a normal static function.
      The template parameter, which previously was the class to
      find a binlogging function in, is now passed as a pointer to
      the actual binlogging function instead.
      
      The patch requires change of indention, but that is submitted
      as a separate patch.
      
      
      sql/handler.cc:
        Replacing template function with a normal static function.
      40176e19
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl · dcb1b60b
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.1.b27877
      
      
      dcb1b60b
    • unknown's avatar
      Adding waits to events_scheduling to prevent the test from · 410e2d64
      unknown authored
      failing on heavily loaded systems.
      
      
      mysql-test/t/events_scheduling.test:
        Adding waits before statements since the scheduler is unpredictable
        on loaded systems and might be delayed.
      410e2d64
  6. 14 Feb, 2008 5 commits
  7. 13 Feb, 2008 9 commits
    • unknown's avatar
      correct merge error · 24fdba78
      unknown authored
      24fdba78
    • unknown's avatar
      correct manual merge · 9ab7ecc4
      unknown authored
      9ab7ecc4
    • unknown's avatar
      Merge poseidon.bredbandsbolaget.se:/home/tomas/mysql-5.1-rpl-merge · b9445e23
      unknown authored
      into  poseidon.bredbandsbolaget.se:/home/tomas/mysql-5.1-new-ndb-merge
      
      
      b9445e23
    • unknown's avatar
      correction of merge · 2c957837
      unknown authored
      2c957837
    • unknown's avatar
      BUG#32991: Races in mysqldump.test (or mysqldump.test fails sporadically) · 68114c88
      unknown authored
      This is *not* a fix to the bug. I'm only disabling the failing part of
      mysqldump.test until the bug is fixed. Whoever fixes it, please re-enable
      the test.
      
      
      mysql-test/r/mysqldump.result:
        Disabling part of the test case until BUG#32991 is fixed. Result file
        updated accordingly.
      mysql-test/t/mysqldump.test:
        Disabling this part of the test case until BUG#32991 is fixed.
      68114c88
    • unknown's avatar
      Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails · ded528ca
      unknown authored
      and
      bug#33932  assertion at handle_slave_sql if init_slave_thread() fails
      
      the asserts were caused by 
        bug33931: having thd deleted at time of executing err: code plus
                  a missed initialization;
        bug33932: initialization of slave_is_running member was missed;
      
      fixed with relocating mi members initialization and removing delete thd
      It is safe to do as deletion happens later explicitly in the caller of
      init_slave_thread().
      
      Todo: at merging the test is better to be moved into suite/bugs for 5.x (when x>0).
      
      
      sql/slave.cc:
        adding the bugs simulating code;
        relocating some assignments to satisfy the asserts;
      mysql-test/r/rpl_bug33931.result:
        the new result file
      mysql-test/t/rpl_bug33931-slave.opt:
        option to spark the simulation code
      mysql-test/t/rpl_bug33931.test:
        tests check that slave does not crash as before.
        Slave threads must be in NO running state in the end.
      ded528ca
    • unknown's avatar
      Removing non-deterministic tests from events_scheduling test. · 0f19e844
      unknown authored
      
      mysql-test/r/events_scheduling.result:
        Result change.
      mysql-test/t/events_scheduling.test:
        Removing a test that only confirms that event scheduling is
        inexact, hence causing sporadic failures on loaded machines.
      0f19e844
    • unknown's avatar
      Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-rpl-merge · f343addf
      unknown authored
      into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
      
      
      f343addf
    • unknown's avatar
      The test rpl_row_charset and it dependent rpl_ndb_charset is · 4a7d3293
      unknown authored
      irrelevant to execute since the charset information does not
      affect replication for row-based replication. The row-based
      versions of the tests were removed, and the statement-based
      version of the test was made executable by all three modes.
      
      This involves removing any lines that causes the test to be
      dependent on the contents of the binary log, and instead we
      just check that the replication works as it should.
      
      
      BitKeeper/deleted/.del-rpl_ndb_charset.test:
        Delete: mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test
      BitKeeper/deleted/.del-rpl_ndb_charset.result:
        Delete: mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result
      BitKeeper/deleted/.del-rpl_row_charset.test:
        Delete: mysql-test/extra/rpl_tests/rpl_row_charset.test
      BitKeeper/deleted/.del-rpl_row_charset.test~739be9df1baaee3e:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset.test
      BitKeeper/deleted/.del-rpl_row_charset_innodb.test:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb.test
      BitKeeper/deleted/.del-rpl_row_charset_innodb-master.opt:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt
      BitKeeper/deleted/.del-rpl_row_charset_innodb-slave.opt:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt
      BitKeeper/deleted/.del-rpl_row_charset_innodb.result:
        Delete: mysql-test/suite/rpl/r/rpl_row_charset_innodb.result
      BitKeeper/deleted/.del-rpl_row_charset.result:
        Delete: mysql-test/suite/rpl/r/rpl_row_charset.result
      mysql-test/extra/rpl_tests/rpl_charset.test:
        Test is not dependent on binlog format any more.
        Using --echo instead of "select" to print text.
        Removing lines causing the test to be dependent on binlog contents.
      mysql-test/suite/rpl/r/rpl_charset.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_charset.test:
        Using renamed version of test file.
      4a7d3293