mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
ibuf_set_del_mark(): Do not complain about already delete-marked records.
According to a comment in row_upd_sec_index_entry(), it is a legitimate situation that can be caused by a lock wait.
This commit is contained in:
parent
e85e1206b1
commit
e8a709a6c3
1 changed files with 11 additions and 10 deletions
|
@ -3997,21 +3997,22 @@ ibuf_set_del_mark(
|
||||||
rec = page_cur_get_rec(&page_cur);
|
rec = page_cur_get_rec(&page_cur);
|
||||||
page_zip = page_cur_get_page_zip(&page_cur);
|
page_zip = page_cur_get_page_zip(&page_cur);
|
||||||
|
|
||||||
if (UNIV_UNLIKELY
|
/* Delete mark the old index record. According to a
|
||||||
(rec_get_deleted_flag(
|
comment in row_upd_sec_index_entry(), it can already
|
||||||
rec, dict_table_is_comp(index->table)))) {
|
have been delete marked if a lock wait occurred in
|
||||||
ut_print_timestamp(stderr);
|
row_ins_index_entry() in a previous invocation of
|
||||||
fputs(" InnoDB: record is already delete-marked\n",
|
row_upd_sec_index_entry(). */
|
||||||
stderr);
|
|
||||||
goto failure;
|
|
||||||
}
|
|
||||||
|
|
||||||
btr_cur_set_deleted_flag_for_ibuf(rec, page_zip, TRUE, mtr);
|
if (UNIV_LIKELY
|
||||||
|
(!rec_get_deleted_flag(
|
||||||
|
rec, dict_table_is_comp(index->table)))) {
|
||||||
|
btr_cur_set_deleted_flag_for_ibuf(rec, page_zip,
|
||||||
|
TRUE, mtr);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ut_print_timestamp(stderr);
|
ut_print_timestamp(stderr);
|
||||||
fputs(" InnoDB: unable to find a record to delete-mark\n",
|
fputs(" InnoDB: unable to find a record to delete-mark\n",
|
||||||
stderr);
|
stderr);
|
||||||
failure:
|
|
||||||
fputs("InnoDB: tuple ", stderr);
|
fputs("InnoDB: tuple ", stderr);
|
||||||
dtuple_print(stderr, entry);
|
dtuple_print(stderr, entry);
|
||||||
fputs("\n"
|
fputs("\n"
|
||||||
|
|
Loading…
Add table
Reference in a new issue