Skip to content

Commit a6f9564

Browse files
grooverdanspetrunia
authored andcommitted
MDEV-22761: innodb row_search_idx_cond_check handle CHECK_ABORTED_BY_USER
Part #3: Two more cases within row_search_mvcc need to handle the CHECK_ABORTED_BY_USER and process this as a DB_INTERRUPTED.
1 parent c03885c commit a6f9564

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

storage/innobase/row/row0sel.cc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4453,9 +4453,12 @@ row_search_mvcc(
44534453
switch (row_search_idx_cond_check(
44544454
buf, prebuilt,
44554455
rec, offsets)) {
4456+
case CHECK_ABORTED_BY_USER:
4457+
err = DB_INTERRUPTED;
4458+
mtr.commit();
4459+
goto func_exit;
44564460
case CHECK_NEG:
44574461
case CHECK_OUT_OF_RANGE:
4458-
case CHECK_ABORTED_BY_USER:
44594462
case CHECK_ERROR:
44604463
goto shortcut_mismatch;
44614464
case CHECK_POS:
@@ -5239,9 +5242,11 @@ row_search_mvcc(
52395242
buf, prebuilt, rec, offsets)) {
52405243
case CHECK_NEG:
52415244
goto next_rec;
5242-
case CHECK_OUT_OF_RANGE:
52435245
case CHECK_ABORTED_BY_USER:
5244-
case CHECK_ERROR:
5246+
err = DB_INTERRUPTED;
5247+
goto idx_cond_failed;
5248+
case CHECK_OUT_OF_RANGE:
5249+
case CHECK_ERROR:
52455250
err = DB_RECORD_NOT_FOUND;
52465251
goto idx_cond_failed;
52475252
case CHECK_POS:

0 commit comments

Comments
 (0)