mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-22761: innodb row_search_idx_cond_check handle CHECK_ABORTED_BY_USER
Part #2: - row_search_mvcc() should return DB_INTERRUPTED when it got - Move the sync point from innodb internals to handler_rowid_filter_check() where other storage engines can use it too - Add a similar syncpoint for the ICP check. - Add a bigger test and test coverage for Rowid Filter with MyISAM - Add test coverage for killed-during-ICP-check scenario
This commit is contained in:
@ -6015,6 +6015,7 @@ extern "C" check_result_t handler_index_cond_check(void* h_arg)
|
||||
THD *thd= h->table->in_use;
|
||||
check_result_t res;
|
||||
|
||||
DEBUG_SYNC(thd, "handler_index_cond_check");
|
||||
enum thd_kill_levels abort_at= h->has_transactions() ?
|
||||
THD_ABORT_SOFTLY : THD_ABORT_ASAP;
|
||||
if (thd_kill_level(thd) > abort_at)
|
||||
@ -6048,6 +6049,7 @@ check_result_t handler_rowid_filter_check(void *h_arg)
|
||||
if (!h->pushed_idx_cond)
|
||||
{
|
||||
THD *thd= h->table->in_use;
|
||||
DEBUG_SYNC(thd, "handler_rowid_filter_check");
|
||||
enum thd_kill_levels abort_at= h->has_transactions() ?
|
||||
THD_ABORT_SOFTLY : THD_ABORT_ASAP;
|
||||
if (thd_kill_level(thd) > abort_at)
|
||||
|
Reference in New Issue
Block a user