1. 05 Dec, 2008 1 commit
    • Mats Kindahl's avatar
      Bug #40116: · 83277084
      Mats Kindahl authored
      Uncommited changes are replicated and stay on slave after
      rollback on master
      
      Making test slightly more generic and robust.
      
      mysql-test/suite/rpl/t/rpl_trigger.test:
        Adding code to check that InnoDB is available on slave as well.
        Making code slightly more generic.
      83277084
  2. 03 Dec, 2008 1 commit
    • Mats Kindahl's avatar
      Bug #40116: Uncommited changes are replicated and stay on slave · 43e9d5b3
      Mats Kindahl authored
      after rollback on master
      
      When starting a transaction with a statement containing changes
      to both transactional tables and non-transactional tables, the
      statement is considered as non-transactional and is therefore
      written directly to the binary log. This behaviour was present
      in 5.0, and has propagated to 5.1.
      
      If a trigger containing a change of a non-transactional table is
      added to a transactional table, any changes to the transactional
      table is "tainted" as non-transactional.
      
      This patch solves the problem by removing the existing "hack" that
      allows non-transactional statements appearing first in a transaction
      to be written directly to the binary log. Instead, anything inside
      a transaction is treaded as part of the transaction and not written
      to the binary log until the transaction is committed.
      
      mysql-test/suite/rpl/t/rpl_row_create_table.test:
        Removing positions from SHOW BINLOG EVENTS and using
        reset_master_and_slave to start on a fresh binary log each time.
      mysql-test/suite/rpl/t/rpl_slave_skip.test:
        Adding explicit commit in AUTOCOMMIT=0 to make test work correctly.
      mysql-test/suite/rpl/t/rpl_trigger.test:
        Adding test case for BUG#40116.
      sql/log.cc:
        Changing commit logic in binlog_commit() to only commit when
        committing a real transaction or committing a punch transaction.
      43e9d5b3
  3. 03 Nov, 2008 3 commits
    • Mats Kindahl's avatar
      Merging with 5.1-5.1.29-rc · c780c2a2
      Mats Kindahl authored
      c780c2a2
    • Mats Kindahl's avatar
      Bug #40360: Binlog related errors with binlog off · ad8ffe6a
      Mats Kindahl authored
      Adding missing drop of created table and tidying display.
      
      
      mysql-test/t/innodb_mysql.test:
        Adding drop of created table and cleaning variable display
      ad8ffe6a
    • Mats Kindahl's avatar
      Bug #40360: Binlog related errors with binlog off · c3a5b596
      Mats Kindahl authored
            
      When statement-based replication is used, and the
      transaction isolation level is READ-COMMITTED or stricter,
      InnoDB will print an error because statement-based
      replication might lead to inconsistency between master
      and slave databases. However, when the binary log is not
      engaged, this is not an issue and an error should
      not be printed.
      
      This patch makes thd_binlog_format() return BINLOG_FORMAT_
      UNSPEC when the binary log is not engaged for the given
      thread.
      
      mysql-test/t/innodb_mysql.test:
        Adding test that no error message is printed from inside
        InnoDB when the binary log is turned off.
      c3a5b596
  4. 31 Oct, 2008 1 commit
  5. 29 Oct, 2008 2 commits
  6. 24 Oct, 2008 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#23113: Different behavior on altering ENUM fields between 5.0 and 5.1 · 256f41ed
      Ramil Kalimullin authored
      Problem: mysqld doesn't detect that enum data must be reinserted performing
      'ALTER TABLE' in some cases.
      
      Fix: reinsert data altering an enum field if enum values are changed.
      
      
      mysql-test/r/alter_table.result:
        Fix for bug#23113: Different behavior on altering ENUM fields between 5.0 and 5.1
          - test result.
      mysql-test/t/alter_table.test:
        Fix for bug#23113: Different behavior on altering ENUM fields between 5.0 and 5.1
          - test case.
      sql/field.cc:
        Fix for bug#23113: Different behavior on altering ENUM fields between 5.0 and 5.1
          - Field_enum::is_equal() introduced, which is called to detect that a field
        is changing by 'ALTER TABLE'.
      sql/field.h:
        Fix for bug#23113: Different behavior on altering ENUM fields between 5.0 and 5.1
          - Field_enum::is_equal() introduced, which is called to detect that a field
        is changing by 'ALTER TABLE'.
      256f41ed
  7. 23 Oct, 2008 3 commits
  8. 22 Oct, 2008 2 commits
  9. 21 Oct, 2008 6 commits
    • Davi Arnaut's avatar
      Merge post-merge fix from mysql-5.0-bugteam. · aafe26f4
      Davi Arnaut authored
      aafe26f4
    • Davi Arnaut's avatar
      Post-merge fix: drop table at the end of test. · 07b7261a
      Davi Arnaut authored
      mysql-test/r/xa.result:
        Update test case result.
      mysql-test/t/xa.test:
        Drop table used for test.
      07b7261a
    • Davi Arnaut's avatar
      Merge Bug#28323 to mysql-5.1.29-rc · d7263d2a
      Davi Arnaut authored
      d7263d2a
    • Davi Arnaut's avatar
      Bug#28323: Server crashed in xid cache operations · 41dd7b6b
      Davi Arnaut authored
      The problem was that the server did not robustly handle a
      unilateral roll back issued by the Resource Manager (RM)
      due to a resource deadlock within the transaction branch.
      By not acknowledging the roll back, the server (TM) would
      eventually corrupt the XA transaction state and crash.
      
      The solution is to mark the transaction as rollback-only
      if the RM indicates that it rolled back its branch of the
      transaction.
      
      mysql-test/r/xa.result:
        Add test case result for Bug#28323
      mysql-test/t/xa.test:
        Add test case for Bug#28323
      sql/handler.cc:
        Reset XID only at the end of the global transaction.
      sql/share/errmsg.txt:
        Add new error codes.
      sql/sql_class.h:
        Remember the error reported by the Resource Manager.
      sql/sql_parse.cc:
        Rollback the transaction if the Resource Manager reported
        a error and rolled back its branch of the transaction.
      41dd7b6b
    • unknown's avatar
      Merge from mysql-5.0.70-release · 4927d707
      unknown authored
      4927d707
    • Kristofer Pettersson's avatar
      Bug#39451 Debug builds broken with Sun Studio compiler · e291aab7
      Kristofer Pettersson authored
                  
      Debug builds of MySQL 5.1, 6.0 with Sun Studio 12 broke because of
      use of gcc specific feature.
                  
      The fix is to replace __FUNCTION__ with the corresponding character string
      e291aab7
  10. 20 Oct, 2008 1 commit
    • Mats Kindahl's avatar
      Bug #40004 Replication failure with no PK + no indexes · 2019f172
      Mats Kindahl authored
      In certain situations, a scan of the table will return the error
      code HA_ERR_RECORD_DELETED, and this error code is not 
      correctly caught in the Rows_log_event::find_row() function, which
      causes an error to be returned for this case.
      
      This patch fixes the problem by adding code to either ignore the
      record and continuing with the next one, the the event of a table
      scan, or change the error code to HA_ERR_KEY_NOT_FOUND, in the event
      that a key lookup is attempted.
      2019f172
  11. 17 Oct, 2008 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug #40053: 'check table .. for upgrade' doesn't detect · bba814d0
      Ramil Kalimullin authored
      collation change made in 5.1.24-rc
      
      Problem: 'CHECK TABLE ... FOR UPGRADE' did not check for 
      incompatible collation changes made in MySQL 5.1.24-rc.
      
      Fix: add the check.
      
      
      sql/handler.cc:
          - check for incompatible collation changes made in 5.1.24-rc:
        bug #27877:
          utf8_general_ci
          ucs2_general_ci
      bba814d0
  12. 13 Oct, 2008 1 commit
  13. 10 Oct, 2008 2 commits
  14. 09 Oct, 2008 4 commits
  15. 08 Oct, 2008 10 commits
    • Georgi Kodinov's avatar
      fixed a compile warning in 5.1-5.1.29-rc · c3296418
      Georgi Kodinov authored
      c3296418
    • Georgi Kodinov's avatar
      b0d9eb16
    • Ramil Kalimullin's avatar
      Fix for bug#39585: innodb and myisam corruption after binary · a720bdf0
      Ramil Kalimullin authored
      upgrade from <=5.0.46 to >=5.0.48
      
      Problem: 'check table .. for upgrade' doesn't detect 
      incompatible collation changes made in 5.0.48.
      
      Fix: check for incompatible collation changes.
      
      
      sql/handler.cc:
        Fix for bug#39585: innodb and myisam corruption after binary 
        upgrade from <=5.0.46 to >=5.0.48
          - check for incompatible collation changes made in 5.0.48:
        bug #29461
          latin7_general_ci
          latin7_general_cs
          latin7_estonian_cs
          latin2_hungarian_ci
          koi8u_general_ci
          cp1251_ukrainian_ci
          cp1250_general_ci
        bug #29499, bug #27562
          ascii_general_ci
      a720bdf0
    • Mats Kindahl's avatar
      Merging with 5.1-5.1.29-rc · 04c05404
      Mats Kindahl authored
      04c05404
    • Georgi Kodinov's avatar
      merged 5.1-5.1.29-rc -> 5.1-bugteam · e8448851
      Georgi Kodinov authored
      e8448851
    • Mats Kindahl's avatar
      Bug #34707: Row based replication: slave creates table within wrong database · dcd050c5
      Mats Kindahl authored
      The failure was caused by executing a CREATE-SELECT statement that creates a
      table in another database than the current one. In row-based logging, the
      CREATE statement was written to the binary log without the database, hence
      creating the table in the wrong database, causing the following inserts to
      fail since the table didn't exist in the given database.
      
      Fixed the bug by adding a parameter to store_create_info() that will make
      the function print the database name before the table name and used that
      in the calls that write the CREATE statement to the binary log. The database
      name is only printed if it is different than the currently selected database.
      
      The output of SHOW CREATE TABLE has not changed and is still printed without
      the database name.
      
      mysql-test/suite/rpl/t/rpl_row_create_table.test:
        Added test to check that CREATE-SELECT into another database than the
        current one replicates.
      sql/sql_insert.cc:
        Adding parameter to calls to store_create_info().
      sql/sql_show.cc:
        Adding parameter to calls to store_create_info().
        
        Extending store_create_info() with parameter 'show_database' that will cause
        the database to be written before the table name.
      sql/sql_show.h:
        Adding parameter to call to store_create_info() to tell if the database should be shown or not.
      sql/sql_table.cc:
        Adding parameter to calls to store_create_info().
      dcd050c5
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · 2e13a000
      Georgi Kodinov authored
      disabled a randomly failing test and opened a bug report
      2e13a000
    • Georgi Kodinov's avatar
      merged 5.1-5.1.29-rc -> 5.1-bugteam · e7105c1a
      Georgi Kodinov authored
      e7105c1a
    • Georgi Kodinov's avatar
      merged 5.0-5.1.29-rc -> 5.0-bugteam · 7b628ade
      Georgi Kodinov authored
      7b628ade
    • Mattias Jonsson's avatar
      Bug#37453: Dropping/creating index on partitioned table with · 9e71cd43
      Mattias Jonsson authored
      InnoDB Plugin locks table
      
      This is a pre fix update that does the change to the handler api.
      
      This is done since there are already changes in this version,
      so the real fix does not need to change the api.
      
      sql/handler.h:
        Bug#37453: Dropping/creating index on partitioned table with
        InnoDB Plugin locks table
        
        The check for which alter table flags a handler have is done through the
        handlerton, which will not work correctly for any partitioned table.
        It must be through the handler interface.
        
        To be able to fix this I have to add a virtual function to the handler class.
      9e71cd43
  16. 07 Oct, 2008 1 commit