An error occurred fetching the project authors.
  1. 14 Dec, 2009 1 commit
    • Mats Kindahl's avatar
      WL#5151: Conversion between different types when replicating · c63df11f
      Mats Kindahl authored
      Row-based replication requires the types of columns on the
      master and slave to be approximately the same (some safe
      conversions between strings are allowed), but does not
      allow safe conversions between fields of similar types such
      as TINYINT and INT.
      
      This patch implement type conversions between similar fields
      on the master and slave.
      
      The conversions are controlled using a new variable
      SLAVE_TYPE_CONVERSIONS of type SET('ALL_LOSSY','ALL_NON_LOSSY').
      
      Non-lossy conversions are any conversions that do not run the
      risk of losing any information, while lossy conversions can
      potentially truncate the value. The column definitions are
      checked to decide if the conversion is acceptable.
      
      If neither conversion is enabled, it is required that the
      definitions of the columns are identical on master and slave.
      
      Conversion is done by creating an internal conversion table,
      unpacking the master data into it, and then copy the data to
      the real table on the slave.
      c63df11f
  2. 03 Nov, 2009 1 commit
    • Alfranio Correia's avatar
      WL#2687 WL#5072 BUG#40278 BUG#47175 · 60d46624
      Alfranio Correia authored
      Non-transactional updates that take place inside a transaction present problems
      for logging because they are visible to other clients before the transaction
      is committed, and they are not rolled back even if the transaction is rolled
      back. It is not always possible to log correctly in statement format when both
      transactional and non-transactional tables are used in the same transaction.
      
      In the current patch, we ensure that such scenario is completely safe under the
      ROW and MIXED modes.
      60d46624
  3. 22 Oct, 2009 2 commits
  4. 30 Sep, 2009 1 commit
  5. 29 Sep, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#38173 Field doesn't have a default value with row-based replication · bbc830f7
      Alfranio Correia authored
      NOTE: Backporting the patch to next-mr.
            
      The reason of  the bug was incompatibile with the master side behaviour.
      INSERT query on the master is allowed to insert into a table without specifying
      values of DEFAULT-less fields if sql_mode is not strict.
                  
      Fixed with checking sql_mode by the sql thread to decide how to react.
      Non-strict sql_mode should allow Write_rows event to complete.
                  
      todo: warnings can be shown via show slave status, still this is a 
      separate rather general issue how to show warnings for the slave threads.
      bbc830f7
  6. 28 Aug, 2009 1 commit
  7. 10 Jul, 2008 1 commit
    • Sven Sandberg's avatar
      BUG#37975: wait_for_slave_* should increase the timeout · 78c8bfdd
      Sven Sandberg authored
      Problem 1: tests often fail in pushbuild with a timeout when waiting
      for the slave to start/stop/receive error.
      Fix 1: Updated the wait_for_slave_* macros in the following way:
      - The timeout is increased by a factor ten
      - Refactored the macros so that wait_for_slave_param does the work for
      the other macros.
      Problem 2: Tests are often incorrectly written, lacking a
      source include/wait_for_slave_to_[start|stop].inc.
      Fix 2: Improved the chance to get it right by adding
      include/start_slave.inc and include/stop_slave.inc, and updated tests
      to use these.
      Problem 3: The the built-in test language command
      wait_for_slave_to_stop is a misnomer (does not wait for the slave io
      thread) and does not give as much debug info in case of failure as
      the otherwise equivalent macro
      source include/wait_for_slave_sql_to_stop.inc
      Fix 3: Replaced all calls to the built-in command by a call to the
      macro.
      Problem 4: Some, but not all, of the wait_for_slave_* macros had an
      implicit connection slave. This made some tests confusing to read,
      and made it more difficult to use the macro in circular replication
      scenarios, where the connection named master needs to wait.
      Fix 4: Removed the implicit connection slave from all
      wait_for_slave_* macros, and updated tests to use an explicit
      connection slave where necessary.
      Problem 5: The macros wait_slave_status.inc and wait_show_pattern.inc
      were unused. Moreover, using them is difficult and error-prone.
      Fix 5: remove these macros.
      Problem 6: log_bin_trust_function_creators_basic failed when running
      tests because it assumed @@global.log_bin_trust_function_creators=1,
      and some tests modified this variable without resetting it to its
      original value.
      Fix 6: All tests that use this variable have been updated so that
      they reset the value at end of test.
      78c8bfdd
  8. 06 Mar, 2008 1 commit
    • aelkin/andrei@mysql1000.(none)'s avatar
      Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table · 7d0a83ce
      aelkin/andrei@mysql1000.(none) authored
      There was a failure in that show slave status displayed a wrong message
      when slave stopped at processing a row event inserting to a default-less
      column.
      
      The problem seem to have ceased after recent fixes in rbr code.
      However, the test was not updated to carry testing of the case commented-out.
      
      Uncommenting and editing the test.
      Notice, Bug#23907 is most probably a duplicate of this one.
      7d0a83ce
  9. 31 Oct, 2007 1 commit
  10. 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
  11. 10 Aug, 2007 1 commit
  12. 17 Jul, 2007 1 commit
  13. 13 Jun, 2007 1 commit
  14. 25 Apr, 2007 1 commit
    • df@pippilotta.erinye.com's avatar
      Fix test case that was broken for builds without InnoDB. · b353df74
      df@pippilotta.erinye.com authored
      ```yaml
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-vanilla-building
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-vanilla-building
      ```
      
      Fix test cases to pass for a plain ./configure && make build. This includes disabling two test cases when certain features are not present in the server. We're not losing coverage from this because these features are usually present, and disabling them here only serves the purpose to make the test cases work in the unlikely case that they aren't.
      ---
      fixes
      b353df74
  15. 03 Nov, 2006 1 commit