1. 29 Oct, 2008 2 commits
  2. 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
  3. 23 Oct, 2008 3 commits
  4. 22 Oct, 2008 2 commits
  5. 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
  6. 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
  7. 13 Oct, 2008 1 commit
  8. 10 Oct, 2008 2 commits
  9. 09 Oct, 2008 4 commits
  10. 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
  11. 07 Oct, 2008 8 commits
    • Gleb Shchepa's avatar
      39996b44
    • Gleb Shchepa's avatar
      Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while · f48b42e7
      Gleb Shchepa authored
                ``FLUSH TABLES WITH READ LOCK''
      
      Concurrent execution of 1) multitable update with a
      NATURAL/USING join and 2) a such query as "FLUSH TABLES
      WITH READ LOCK" or "ALTER TABLE" of updating table led
      to a server crash.
      
      
      The mysql_multi_update_prepare() function call is optimized
      to lock updating tables only, so it postpones locking to
      the last, and if locking fails, it does cleanup of modified
      syntax structures and repeats a query analysis.  However,
      that cleanup procedure was incomplete for NATURAL/USING join
      syntax data: 1) some Field_item items pointed into freed
      table structures, and 2) the TABLE_LIST::join_columns fields
      was not reset.
      
      Major change:
        short-living Field *Natural_join_column::table_field has
        been replaced with long-living Item*.
      
      
      mysql-test/r/lock_multi.result:
        Added test case for bug #38691.
      mysql-test/t/lock_multi.test:
        Added test case for bug #38691.
      sql/item.cc:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        The Item_field constructor has been modified to allocate
        and copy original database/table/field names always (not
        during PS preparation/1st execution only), because
        an initialization of Item_field items with a pointer to
        short-living Field structures is a common practice.
      sql/sql_base.cc:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        1) Type adjustment for Natural_join_column::table_field
           (Field to Item_field);
        2) The setup_natural_join_row_types function has been
           updated to take into account new
           first_natural_join_processing flag to skip unnecessary
           reinitialization of Natural_join_column::join_columns
           during table reopening after lock_tables() failure
           (like the 'first_execution' flag for PS).
      sql/sql_lex.cc:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        Initialization of the new
        st_select_lex::first_natural_join_processing flag has
        been added.
      sql/sql_lex.h:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        The st_select_lex::first_natural_join_processing flag
        has been added to skip unnecessary rebuilding of
        NATURAL/USING JOIN structures during table reopening
        after lock_tables failure.
      sql/sql_update.cc:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        Extra cleanup calls have been added to reset
        Natural_join_column::table_field items.
      sql/table.cc:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        Type adjustment for Natural_join_column::table_field
        (Field to Item_field).
      sql/table.h:
        Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while
                  ``FLUSH TABLES WITH READ LOCK''
        
        Type of the Natural_join_column::table_field field has
        been changed from Field that points into short-living
        TABLE memory to long-living Item_field that can be
        linked to (fixed) reopened table.
      f48b42e7
    • Georgi Kodinov's avatar
      fixed test suite failures in 5.1-bugteam · 4d7ad72e
      Georgi Kodinov authored
      4d7ad72e
    • Gleb Shchepa's avatar
      5898c53c
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · e9ff58bb
      Georgi Kodinov authored
      e9ff58bb
    • Georgi Kodinov's avatar
      merged 5.0-5.1.29-rc -> 5.0-bugteam · 5a308622
      Georgi Kodinov authored
      5a308622
    • Georgi Kodinov's avatar
      merged 5.1-5.1.29-rc -> 5.1-bugteam · 7831b221
      Georgi Kodinov authored
      7831b221
    • Ramil Kalimullin's avatar
      Fix for bug#38269: pushbuild gives valgrind error in · b4c5cafe
      Ramil Kalimullin authored
      ha_statistic_increment for rpl_temporary
      
      Problem: in some cases master send a special event to reconnecting
      slave to keep slave's temporary tables (see #17284) and they still 
      have references to the "old" SQL slave thread and use them to access
      thread's data.
      
      Fix: set temporary tables thread references to the actual SQL slave
      thread in such cases.
      
      
      mysql-test/suite/rpl/t/disabled.def:
        Fix for bug#38269: pushbuild gives valgrind error in 
        ha_statistic_increment for rpl_temporary
          - rpl_temporary test enabled.
      sql/log_event.cc:
        Fix for bug#38269: pushbuild gives valgrind error in 
        ha_statistic_increment for rpl_temporary
          - if we keep slave's temporary tables after reconnect,
        set their thread pointers (->in_use) to the current SQL thread.
      b4c5cafe