diff options
author | Vlad Lesin <vlad_lesin@mail.ru> | 2021-07-21 17:55:51 +0300 |
---|---|---|
committer | Vlad Lesin <vlad_lesin@mail.ru> | 2021-08-17 16:09:55 +0300 |
commit | 2d259187a2f585ef6bc5bd66997975ebc4264c66 (patch) | |
tree | f2fe0bd242f16ea98ec17d1ee3751e2ae0ea597d /tests | |
parent | d9526ae60820d8b8d511f94edfff3ea2888766ca (diff) | |
download | mariadb-git-2d259187a2f585ef6bc5bd66997975ebc4264c66.tar.gz |
MDEV-26206 gap lock is not set if implicit lock exists
If lock type is LOCK_GAP or LOCK_ORDINARY, and the transaction holds
implicit lock for the record, then explicit gap-lock will not be set for
the record, as lock_rec_convert_impl_to_expl() returns true and
lock_rec_convert_impl_to_expl() bypasses lock_rec_lock() call.
The fix converts explicit lock to implicit one if requested lock type is
not LOCK_REC_NOT_GAP.
innodb_information_schema test result is also changed as after the fix
the following statements execution:
SET autocommit=0;
INSERT INTO t1 VALUES (5,10);
SELECT * FROM t1 FOR UPDATE;
leads to additional gap lock requests.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions