1. 30 Oct, 2007 1 commit
    • mats@kindahl-laptop.dnsalias.net's avatar
      BUG#19958 (RBR idempotency issue for UPDATE and DELETE): · 9cc4b8dd
      mats@kindahl-laptop.dnsalias.net authored
      The rpl_trigger test case indicated a problem with idempotency support when run
      under row-based replication, which this patch fixes.
      
      However, despite this, the test is not designed for execution under row-based
      replication and hence rpl_trigger.test is not executed under row-based
      replication.
      
      The problem is that the test expects triggers to be executed when the slave
      updates rows on the slave, and this is (deliberately) not done with row-based
      replication.
      9cc4b8dd
  2. 24 Oct, 2007 2 commits
  3. 22 Oct, 2007 2 commits
  4. 20 Oct, 2007 2 commits
    • mats@kindahl-laptop.dnsalias.net's avatar
      BUG#24860 (Incorrect SLAVE_TRANSACTION_RETRIES code can result in slave stuck): · 012bccc0
      mats@kindahl-laptop.dnsalias.net authored
      If a temporary error occured inside a group on an event that was not the first
      event of the group, the slave could get stuck because the retry counter is reset
      whenever an event was executed successfully.
      
      This patch only reset the retry counter when an entire group has been successfully
      executed, or failed with a non-transient error.
      012bccc0
    • mats@kindahl-laptop.dnsalias.net's avatar
      Bug#31702 (Missing row on slave causes assertion failure under row-based replication): · 24ea15a2
      mats@kindahl-laptop.dnsalias.net authored
      When replicating an update pair (before image, after image) under row-based
      replication, and the before image is not found on the slave, the after image
      was not discared, and was hence read as a before image for the next row.
      Eventually, this lead to an after image being read outside the block of rows
      in the event, causing an assertion to fire.
      
      This patch fixes this by reading the after image in the event that the row
      was not found on the slave, adds some extra debug assertion to catch future
      errors earlier, and also adds a few non-debug checks to prevent reading
      outside the block of the event.
      24ea15a2
  5. 19 Oct, 2007 1 commit
    • mats@kindahl-laptop.dnsalias.net's avatar
      BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER · f2ba11c3
      mats@kindahl-laptop.dnsalias.net authored
      is possible):
      
      When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN
      flag was not set correctly, which caused the slave to not recognize that it was
      inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK,
      and XID events. It also adds checks if inside a group before decreasing the
      slave skip counter to zero.
      
      Begin_query_log_event was not marked that it could not end a group, which is now
      corrected.
      f2ba11c3
  6. 17 Oct, 2007 3 commits
  7. 16 Oct, 2007 4 commits
  8. 15 Oct, 2007 1 commit
  9. 13 Oct, 2007 3 commits
  10. 12 Oct, 2007 3 commits
  11. 11 Oct, 2007 1 commit
    • mats@kindahl-laptop.dnsalias.net's avatar
      BUG#29549 (Endians: test failures on Solaris): · c4298a3f
      mats@kindahl-laptop.dnsalias.net authored
      Refactoring code to add parameter to pack() and unpack() functions with
      purpose of indicating if data should be packed in little-endian or
      native order. Using new functions to always pack data for binary log
      in little-endian order. The purpose of this refactoring is to allow
      proper implementation of endian-agnostic pack() and unpack() functions.
      
      Eliminating several versions of virtual pack() and unpack() functions
      in favor for one single virtual function which is overridden in
      subclasses.
      
      Implementing pack() and unpack() functions for some field types that
      packed data in native format regardless of the value of the
      st_table_share::db_low_byte_first flag.
      
      The field types that were packed in native format regardless are:
      Field_real, Field_decimal, Field_tiny, Field_short, Field_medium,
      Field_long, Field_longlong, and Field_blob.
      
      Before the patch, row-based logging wrote the rows incorrectly on
      big-endian machines where the storage engine defined its own
      low_byte_first() to be FALSE on big-endian machines (the default
      is TRUE), while little-endian machines wrote the fields in correct
      order. The only known storage engine that does this is NDB. In effect,
      this means that row-based replication from or to a big-endian
      machine where the table was using NDB as storage engine failed if the
      other engine was either non-NDB or on a little-endian machine.
      
      With this patch, row-based logging is now always done in little-endian
      order, while ORDER BY uses the native order if the storage engine
      defines low_byte_first() to return FALSE for big-endian machines.
      
      In addition, the max_data_length() function available in Field_blob
      was generalized to the entire Field hierarchy to give the maximum
      number of bytes that Field::pack() will write.
      c4298a3f
  12. 10 Oct, 2007 1 commit
    • sven@murkla.(none)'s avatar
      BUG#29046: rpl_stm_mystery22 unstable · c302f74d
      sven@murkla.(none) authored
      Problem: rpl_stm_mystery22 is unstable.
      
      Reason: At one place, the test case *should* wait until the SQL thread on the
      slave receives an error, but instead it waits until the SQL thread stops. The
      SQL thread may stop before the error flag is set, so that when the test case
      continues to execute, the error flag is not set.
      
      Fix: Introduce the subroutine mysql-test/include/wait_for_slave_sql_error.inc,
      which waits until there is an error in the sql thread of the slave.
      
      Re-commit: fixed one logical error and two smaller things noted by Mats.
      c302f74d
  13. 09 Oct, 2007 1 commit
  14. 05 Oct, 2007 1 commit
  15. 04 Oct, 2007 5 commits
  16. 03 Oct, 2007 5 commits
  17. 02 Oct, 2007 3 commits
  18. 01 Oct, 2007 1 commit