summaryrefslogtreecommitdiff
path: root/innobase/sync
diff options
context:
space:
mode:
authorheikki@hundin.mysql.fi <>2002-10-29 23:16:46 +0200
committerheikki@hundin.mysql.fi <>2002-10-29 23:16:46 +0200
commit9153d88c6bfbb7b1d9fd5fd1633aade67b48e774 (patch)
treee57bf300e559932ce45e0f749d7349577e7e0479 /innobase/sync
parent245218284495701846f49d986bc91997b97563d6 (diff)
downloadmariadb-git-9153d88c6bfbb7b1d9fd5fd1633aade67b48e774.tar.gz
Many files:
Merge InnoDB-4.0.5: new isolation levels READ COMMITTED and READ UNCOMMITTED now supported, selective deadlock resolution mysqld.cc: Change MySQL default isolation level to REPEATABLE READ; note that InnoDB has always had that default, and BDB and MyISAM always run at SERIALIZABLE level anyway
Diffstat (limited to 'innobase/sync')
-rw-r--r--innobase/sync/sync0rw.c3
-rw-r--r--innobase/sync/sync0sync.c9
2 files changed, 5 insertions, 7 deletions
diff --git a/innobase/sync/sync0rw.c b/innobase/sync/sync0rw.c
index fe837b119f3..b214bca0470 100644
--- a/innobase/sync/sync0rw.c
+++ b/innobase/sync/sync0rw.c
@@ -663,7 +663,8 @@ rw_lock_own(
/*========*/
/* out: TRUE if locked */
rw_lock_t* lock, /* in: rw-lock */
- ulint lock_type) /* in: lock type */
+ ulint lock_type) /* in: lock type: RW_LOCK_SHARED,
+ RW_LOCK_EX */
{
rw_lock_debug_t* info;
diff --git a/innobase/sync/sync0sync.c b/innobase/sync/sync0sync.c
index 3ea996afd6b..376be2e723a 100644
--- a/innobase/sync/sync0sync.c
+++ b/innobase/sync/sync0sync.c
@@ -901,8 +901,7 @@ sync_thread_levels_empty_gen(
if (slot->latch != NULL && (!dict_mutex_allowed ||
(slot->level != SYNC_DICT
- && slot->level != SYNC_FOREIGN_KEY_CHECK
- && slot->level != SYNC_PURGE_IS_RUNNING))) {
+ && slot->level != SYNC_DICT_OPERATION))) {
lock = slot->latch;
mutex = slot->latch;
@@ -1087,12 +1086,10 @@ sync_thread_add_level(
SYNC_IBUF_PESS_INSERT_MUTEX));
} else if (level == SYNC_DICT_AUTOINC_MUTEX) {
ut_a(sync_thread_levels_g(array, SYNC_DICT_AUTOINC_MUTEX));
- } else if (level == SYNC_FOREIGN_KEY_CHECK) {
- ut_a(sync_thread_levels_g(array, SYNC_FOREIGN_KEY_CHECK));
+ } else if (level == SYNC_DICT_OPERATION) {
+ ut_a(sync_thread_levels_g(array, SYNC_DICT_OPERATION));
} else if (level == SYNC_DICT_HEADER) {
ut_a(sync_thread_levels_g(array, SYNC_DICT_HEADER));
- } else if (level == SYNC_PURGE_IS_RUNNING) {
- ut_a(sync_thread_levels_g(array, SYNC_PURGE_IS_RUNNING));
} else if (level == SYNC_DICT) {
ut_a(buf_debug_prints
|| sync_thread_levels_g(array, SYNC_DICT));