diff options
author | unknown <heikki@hundin.mysql.fi> | 2002-11-07 14:47:25 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2002-11-07 14:47:25 +0200 |
commit | 4fa5e50edbba856a2fe60d1dde7eb5571f42bd68 (patch) | |
tree | 55c72cdc1d8c91f0b56057c2e2c01f7ce3c93883 /innobase/lock | |
parent | 8fc4319ae36e106ed8474a567bd1bd00e6337d5f (diff) | |
download | mariadb-git-4fa5e50edbba856a2fe60d1dde7eb5571f42bd68.tar.gz |
Many files:
Fix hang introduced by selective deadlock resolution
srv0srv.c, row0mysql.c:
Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE
innobase/include/que0que.h:
Fix hang introduced by selective deadlock resolution
innobase/include/trx0trx.h:
Fix hang introduced by selective deadlock resolution
innobase/include/ut0ut.h:
Fix hang introduced by selective deadlock resolution
innobase/lock/lock0lock.c:
Fix hang introduced by selective deadlock resolution
innobase/log/log0log.c:
Fix hang introduced by selective deadlock resolution
innobase/que/que0que.c:
Fix hang introduced by selective deadlock resolution
innobase/row/row0mysql.c:
Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE
innobase/srv/srv0srv.c:
Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE
innobase/trx/trx0sys.c:
Fix hang introduced by selective deadlock resolution
innobase/trx/trx0trx.c:
Fix hang introduced by selective deadlock resolution
Diffstat (limited to 'innobase/lock')
-rw-r--r-- | innobase/lock/lock0lock.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index 92ee5ee6cbe..7b08d6b89b8 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -1727,6 +1727,7 @@ index->table_name); } trx->que_state = TRX_QUE_LOCK_WAIT; + trx->was_chosen_as_deadlock_victim = FALSE; trx->wait_started = time(NULL); ut_a(que_thr_stop(thr)); @@ -3173,7 +3174,8 @@ lock_deadlock_recursive( err_buf += sprintf(err_buf, "*** WE ROLL BACK TRANSACTION (1)\n"); - wait_lock->trx->error_state = DB_DEADLOCK; + wait_lock->trx->was_chosen_as_deadlock_victim + = TRUE; lock_cancel_waiting_and_release(wait_lock); @@ -3353,6 +3355,7 @@ table->name); } trx->que_state = TRX_QUE_LOCK_WAIT; + trx->was_chosen_as_deadlock_victim = FALSE; trx->wait_started = time(NULL); ut_a(que_thr_stop(thr)); |