diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2017-06-22 17:35:36 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2017-06-26 16:11:22 +0400 |
commit | dd710e75523b2a8280617f0e1ef522a01767b318 (patch) | |
tree | 559eb68992ddd96c201dd55d5ca0bb1167520485 /sql/mdl.cc | |
parent | 0d69d313a11fb03f31d71282f622b25d0a4764b8 (diff) | |
download | mariadb-git-dd710e75523b2a8280617f0e1ef522a01767b318.tar.gz |
MDEV-12882 - Assertion failed in MDL_context::upgrade_shared_lock
Relaxed assertion (in MySQL it was removed).
For "LOCK TABLES t1 WRITE CONCURRENT, t1 READ" upgrade lock to weakest
existing suitable lock, which is MDL_SHARED_NO_READ_WRITE.
Diffstat (limited to 'sql/mdl.cc')
-rw-r--r-- | sql/mdl.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/mdl.cc b/sql/mdl.cc index f1a505f3d84..25809c3d9cc 100644 --- a/sql/mdl.cc +++ b/sql/mdl.cc @@ -2320,11 +2320,12 @@ MDL_context::upgrade_shared_lock(MDL_ticket *mdl_ticket, if (mdl_ticket->has_stronger_or_equal_type(new_type)) DBUG_RETURN(FALSE); - /* Only allow upgrades from SHARED_UPGRADABLE/NO_WRITE/NO_READ_WRITE/READ */ + /* Only allow upgrades from UPGRADABLE/NO_WRITE/NO_READ_WRITE/READ/WRITE */ DBUG_ASSERT(mdl_ticket->m_type == MDL_SHARED_UPGRADABLE || mdl_ticket->m_type == MDL_SHARED_NO_WRITE || mdl_ticket->m_type == MDL_SHARED_NO_READ_WRITE || - mdl_ticket->m_type == MDL_SHARED_READ); + mdl_ticket->m_type == MDL_SHARED_READ || + mdl_ticket->m_type == MDL_SHARED_WRITE); mdl_xlock_request.init(&mdl_ticket->m_lock->key, new_type, MDL_TRANSACTION); |