mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 11:57:38 +02:00
row0ins.c:
The UNIV_DEBUG version asserted if a foreign key check failed because of a lock wait timeout btr0cur.c: Fix a bug: if the primary key was updated (or delete + insert) so that only the case of characters changed, we were left with a dangling adaptive hash index pointer, often causing an assertion failure in page0page.ic line 515
This commit is contained in:
parent
1111a8d6a8
commit
18bb600817
2 changed files with 14 additions and 2 deletions
|
|
@ -627,6 +627,7 @@ row_ins_check_foreign_constraint(
|
|||
dict_table_t* check_table;
|
||||
dict_index_t* check_index;
|
||||
ulint n_fields_cmp;
|
||||
ibool timeout_expired;
|
||||
rec_t* rec;
|
||||
btr_pcur_t pcur;
|
||||
ibool moved;
|
||||
|
|
@ -790,10 +791,15 @@ do_possible_lock_wait:
|
|||
thr_get_trx(thr)->error_state = err;
|
||||
|
||||
que_thr_stop_for_mysql(thr);
|
||||
|
||||
row_mysql_handle_errors(&err, thr_get_trx(thr), thr, NULL);
|
||||
|
||||
goto run_again;
|
||||
timeout_expired = srv_suspend_mysql_thread(thr);
|
||||
|
||||
if (!timeout_expired) {
|
||||
|
||||
goto run_again;
|
||||
}
|
||||
|
||||
err = DB_LOCK_WAIT_TIMEOUT;
|
||||
}
|
||||
|
||||
return(err);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue