• unknown's avatar
    This ChangeSet must be null-merged to 5.1. · 306f4270
    unknown authored
    Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
    
    Bugs fixed:
    - Bug #21468: InnoDB crash during recovery with corrupted data pages: XA bug?
    - Bug #24299: Identifiers in foreign keys cannot contain U+0160, U+0360, ..., U+FF60
    - Bug #24386: Performance degradation caused by instrumentation in mutex_struct
    - Bug #24712: SHOW TABLE STATUS for file-per-table showing incorrect time fields
    
    
    innobase/dict/dict0dict.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1030:
      branches/5.0: Replace isspace() with a wrapper ib_isspace(), because on
      Win32 isspace(0xa0) appears to hold.  (Bug #24299)
    innobase/include/sync0rw.h:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
    innobase/include/sync0sync.h:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
    innobase/include/sync0sync.ic:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
    innobase/log/log0recv.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1076:
      branches/5.0: Remove the unintentionally committed change to univ.i in r1075.
      Fix assertion failure sync0sync.c line 1239
      (the latter ut_error in sync_thread_reset_level())
      in crash recovery when UNIV_SYNC_DEBUG is enabled.
      
      
      Revision r1079:
      branches/5.0: recv_recovery_from_checkpoint_finish(): Add 1 sec delay
      before switching on the sync order checks in crash recovery, so that
      file I/O threads have time to suspend themselves.
    innobase/srv/srv0start.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1075:
      branches/5.0: Fix assertion failure sync0sync.c line 1239
      (the latter ut_error in sync_thread_reset_level())
      in crash recovery when UNIV_SYNC_DEBUG is enabled.
      
      
      Revision r1077:
      branches/5.0: innobase_start_or_create_for_mysql(): Remove unnecessary delay
      now that we moved the setting sync_order_checks_on=TRUE to log0recv.c,
      to the start of the rollback phase in crash recovery.
    innobase/sync/sync0rw.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
    innobase/sync/sync0sync.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
    innobase/trx/trx0roll.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1067:
      branches/5.0: trx_rollback_for_mysql(), trx_commit_for_mysql():
      Protect the creation of trx_dummy_sess with kernel_mutex.
      This error was introduced in r1046 and r1050.
      
      
      Revision r1050:
      branches/5.0: trx_rollback_for_mysql(): Fix the comment introduced in r1046.
      
      trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
      transaction in XA recovery, just in case our code would need the session
      object also in that case (does not seem to need it right now).
      
      
      Revision r1048:
      branches/5.0: trx_rollback_for_mysql(): Do not set trx->sess back to NULL.
      This bug was introduced in r1046.
      
      
      Revision r1046:
      branches/5.0: trx_rollback_for_mysql(): Ensure that trx->sess is non-NULL
      when calling trx_general_rollback_for_mysql().  This removes a segmentation
      fault when rolling back a prepared transaction in XA recovery.  (Bug #21468)
    innobase/trx/trx0trx.c:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1067:
      branches/5.0: trx_rollback_for_mysql(), trx_commit_for_mysql():
      Protect the creation of trx_dummy_sess with kernel_mutex.
      This error was introduced in r1046 and r1050.
      
      
      Revision r1050:
      branches/5.0: trx_rollback_for_mysql(): Fix the comment introduced in r1046.
      
      trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
      transaction in XA recovery, just in case our code would need the session
      object also in that case (does not seem to need it right now).
    sql/ha_innodb.cc:
      Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
      
      Revision r1040:
      branches/5.0: Port r1039 from trunk:
      
      Port r1034 from branches/zip: Remove some instrumentation and reduce
      the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
      
      
      Revision r1099:
      branches/5.0: Merge revision 1098 from trunk: Fix bug #24712: SHOW TABLE
      STATUS for file-per-table showing incorrect time fields
    306f4270
trx0roll.c 31.1 KB