1. 05 Mar, 2009 6 commits
  2. 04 Mar, 2009 4 commits
  3. 03 Mar, 2009 9 commits
    • Timothy Smith's avatar
      96d5bac8
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.1-ss4007, part 2. Fixes · 896aba96
      Timothy Smith authored
      Bug #42152: Race condition in lock_is_table_exclusive()
      
      Detailed revision comments:
      
      r4005 | marko | 2009-01-20 16:22:36 +0200 (Tue, 20 Jan 2009) | 8 lines
      branches/5.1: lock_is_table_exclusive(): Acquire kernel_mutex before
      accessing table->locks and release kernel_mutex before returning from
      the function.  This fixes a portential race condition in the
      "commit every 10,000 rows" in ALTER TABLE, CREATE INDEX, DROP INDEX,
      and OPTIMIZE TABLE. (Bug #42152)
      
      rb://80 approved by Heikki Tuuri
      896aba96
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.1-ss4007, part 1. Fixes · 67b5c9d4
      Timothy Smith authored
      Bug #41571: MySQL segfaults after innodb recovery
      
      Detailed revision comments:
      
      r4004 | marko | 2009-01-20 16:19:00 +0200 (Tue, 20 Jan 2009) | 12 lines
      branches/5.1: Merge r4003 from branches/5.0:
      
      rec_set_nth_field(): When the field already is SQL null,
      do nothing when it is being changed to SQL null. (Bug #41571)
      
      Normally, MySQL does not pass "do-nothing" updates to the storage engine.
      When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
      is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
      without this fix.
      
      rb://81 approved by Heikki Tuuri
      67b5c9d4
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.1-ss3931, part 2. Fixes · 7e5f2694
      Timothy Smith authored
      Bug #42075: dict_load_indexes failure in dict_load_table will corrupt the dictionary cache
      
      Detailed revision comments:
      
      r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines
      branches/5.1: dict_load_table(): If dict_load_indexes() fails,
      invoke dict_table_remove_from_cache() instead of dict_mem_table_free(),
      so that the data dictionary will not point to freed data.
      (Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri)
      7e5f2694
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.1-ss3931, part 1. Fixes · ed097358
      Timothy Smith authored
      Bug #38187: Error 153 when creating savepoints
      
      Detailed revision comments:
      
      r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines
      branches/5.1: Fix Bug#38187 Error 153 when creating savepoints
      InnoDB previously treated savepoints as a stack e.g.,
        SAVEPOINT a;
        SAVEPOINT b;
        SAVEPOINT c;
        SAVEPOINT b; <- This would delete b and c.
      
      This fix changes the behavior to:
        SAVEPOINT a;
        SAVEPOINT b;
        SAVEPOINT c;
        SAVEPOINT b; <- Does not delete savepoint c
      ed097358
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 3. Fixes · 6ac6c9ed
      Timothy Smith authored
      Bug #41571: MySQL segfaults after innodb recovery
      
      This 5.0 fix will not be pushed into 5.1; a separate fix (from
      innodb-5.1-ss4007) will be pushed into 5.1+.
      
      Detailed revision comments:
      
      r4003 | marko | 2009-01-20 16:12:50 +0200 (Tue, 20 Jan 2009) | 10 lines
      branches/5.0: rec_set_nth_field(): When the field already is SQL null,
      do nothing when it is being changed to SQL null. (Bug #41571)
      
      Normally, MySQL does not pass "do-nothing" updates to the storage engine.
      When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
      is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
      without this fix.
      
      rb://81 approved by Heikki Tuuri
      6ac6c9ed
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 2. Fixes · fd5642b6
      Timothy Smith authored
      Bug #18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'
      
      This is a backport of code already in 5.1+.  The error message change referred
      to in the detailed revision comments is still pending.
      
      Detailed revision comments:
      
      r3937 | calvin | 2009-01-15 03:11:56 +0200 (Thu, 15 Jan 2009) | 17 lines
      branches/5.0:
      
      Backport the fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS
      when we run out of UNDO slots in the rollback segment. The backport
      is requested by MySQL under bug#41529 - Safe handling of InnoDB running
      out of undo log slots.
      
      This is a partial fix since the MySQL error code requested to properly
      report the error condition back to the client has not yet materialized.
      Currently we have #ifdef'd the error code translation in ha_innodb.cc.
      This will have to be changed as and when MySQl add the new requested
      code or an equivalent code that we can then use.
      
      Given the above, currently we will get the old behavior, not the
      "fixed" and intended behavior.
      
      Approved by:	Heikki (on IM)
      fd5642b6
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 1. Fixes · acc83c2b
      Timothy Smith authored
      Bug #39939: DROP TABLE/DISCARD TABLESPACE takes long time in buf_LRU_invalidate_tablespace()
      
      This was already fixed in 5.1+; this is a backport to 5.0.
      
      Detailed revision comments:
      
      r2743 | inaam | 2008-10-08 22:18:12 +0300 (Wed, 08 Oct 2008) | 13 lines
      branches/5.0:
      
      Backport of r2742 from branches/5.1:
      
      Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
      buf_LRU_invalidate_tablespace()
      
      Improve implementation of buf_LRU_invalidate_tablespace by attempting
      hash index drop in batches instead of doing it one by one.
      
      Reviewed by: Heikki, Sunny, Marko
      Approved by: Heikki
      acc83c2b
    • Timothy Smith's avatar
      af7f2cd7
  4. 02 Mar, 2009 5 commits
  5. 28 Feb, 2009 1 commit
  6. 27 Feb, 2009 15 commits