Commit 3ebb915d authored by kaa@polly.(none)'s avatar kaa@polly.(none)

Fix for bug #25421: MySQL threads don't respond to the kill command

Calculating the estimated number of records for a range scan may take a
significant time, and it was impossible for a user to interrupt that
process by killing the connection or the query.

Fixed by checking the thread's 'killed' status in check_quick_keys() and
interrupting the calculation process if it is set to a non-zero value.
parent d55d3093
...@@ -7352,6 +7352,9 @@ check_quick_keys(PARAM *param, uint idx, SEL_ARG *key_tree, ...@@ -7352,6 +7352,9 @@ check_quick_keys(PARAM *param, uint idx, SEL_ARG *key_tree,
tmp_max_flag= max_key_flag | key_tree->max_flag; tmp_max_flag= max_key_flag | key_tree->max_flag;
} }
if (unlikely(param->thd->killed != 0))
return HA_POS_ERROR;
keynr=param->real_keynr[idx]; keynr=param->real_keynr[idx];
param->range_count++; param->range_count++;
if (!tmp_min_flag && ! tmp_max_flag && if (!tmp_min_flag && ! tmp_max_flag &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment