summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Lesin <vlad_lesin@mail.ru>2021-04-28 11:25:59 +0300
committerVlad Lesin <vlad_lesin@mail.ru>2021-04-28 11:25:59 +0300
commit7c7e16d5130f0384ca4a2143c3b5103582e0519a (patch)
tree142ddc44d8df31db6abcb0400c3e7936778daa18
parent2e8181953c0cf71d86b357a249cc35793f61c44d (diff)
downloadmariadb-git-bb-10.2-MDEV-20605.tar.gz
Do not take into account insert intention locks on debug check.bb-10.2-MDEV-20605
-rw-r--r--storage/innobase/lock/lock0lock.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc
index bdd03ddc881..0aaa121900c 100644
--- a/storage/innobase/lock/lock0lock.cc
+++ b/storage/innobase/lock/lock0lock.cc
@@ -3482,7 +3482,8 @@ inline bool lock_rec_has_gap_or_ordinary(const buf_block_t *block,
for (lock_t *lock= lock_rec_get_first(lock_sys->rec_hash,
block, heap_no);
lock != NULL; lock= lock_rec_get_next(heap_no, lock))
- if ((heap_no == PAGE_HEAP_NO_SUPREMUM) || lock_rec_get_gap(lock) ||
+ if ((heap_no == PAGE_HEAP_NO_SUPREMUM) ||
+ (lock_rec_get_gap(lock) && !lock_rec_get_insert_intention(lock)) ||
(lock->type_mode & ~(LOCK_MODE_MASK | LOCK_TYPE_MASK)) ==
LOCK_ORDINARY)
{