1. 02 Apr, 2009 2 commits
    • marko's avatar
      branches/zip: Refuse to use newly created indexes that may lack · ab67f4eb
      marko authored
      history.  This addresses Mantis issue #116.
      
      dict_index_t: Enable the storage of trx_id.
      
      row_prebuilt_t: Make many fields bit-fields to reduce the memory
      footprint. Add index_usable.
      
      ha_innobase::change_active_index(): Check if the index is usable and
      set prebuilt->index_usable accordingly. Unfortunately, the return
      status of this function is ignored by MySQL, and the actual refusal to
      use the index must be made in row_search_for_mysql().
      
      row_search_for_mysql(): Return DB_MISSING_HISTORY if
      !prebuilt->index_usable.
      
      convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to
      HA_ERR_TABLE_DEF_CHANGED.
      
      innodb-index.test: Add a test case where access to a newly created
      secondary index must be blocked for old transactions.
      
      rb://100 approved by Heikki Tuuri
      ab67f4eb
    • calvin's avatar
      branches/zip: Mantis issue #197 - Make srv_spin_wait_delay configurable · dacfdf4a
      calvin authored
      New parameter innodb_spin_wait_delay to set the maximum delay between
      polling for a spin lock. 5 is the default.
      
      Approved by: Marko (on IM)
      dacfdf4a
  2. 31 Mar, 2009 1 commit
  3. 25 Mar, 2009 1 commit
    • inaam's avatar
      branches/zip · b76aa20c
      inaam authored
      SHOW ENGINE INNODB MUTEX shows all mutexes and rw_locks. This can
      be overwhelming particularly when the buffer pool is very large
      (note that each block in buffer pool has at least one mutex, one
      rw_lock and an additional mutex if rw_lock does not use atomics).
      With this patch status of following mutexes and rw-locks is not shown:
      
      1) block->mutex
      2) block->lock
      3) block->lock->mutex (if applicable)
      4) All other mutexes and rw-locks for which number of os-waits are zero
      
      Addresses issue# 179 rb://99
      
      Approved by: Marko
      b76aa20c
  4. 24 Mar, 2009 3 commits
  5. 23 Mar, 2009 10 commits
  6. 20 Mar, 2009 12 commits
  7. 19 Mar, 2009 1 commit
    • marko's avatar
      branches/zip: Merge revisions 4400:4481 from branches/5.1: · 11310168
      marko authored
        ------------------------------------------------------------------------
        r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines
      
        branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
        modified by the current transaction.  This bug was introduced or unmasked
        in r4400.
      
        rb://97 approved by Heikki Tuuri
        ------------------------------------------------------------------------
      11310168
  8. 18 Mar, 2009 3 commits
  9. 17 Mar, 2009 3 commits
  10. 16 Mar, 2009 3 commits
  11. 12 Mar, 2009 1 commit
    • marko's avatar
      branches/zip: Merge revisions 4359:4400 from branches/5.1: · 48070b53
      marko authored
        ------------------------------------------------------------------------
        r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines
      
        branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
        also for unlock_row().  (Bug #39320)
        ------------------------------------------------------------------------
        r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines
      
        branches/5.1: Fix a bug in multi-table semi-consistent reads.
        Remember the acquired record locks per table handle (row_prebuilt_t)
        rather than per transaction (trx_t), so that unlock_row should successfully
        unlock all non-matching rows in multi-table operations.
        This deficiency was found while investigating Bug #39320.
        ------------------------------------------------------------------------
      
      These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri.
      48070b53