Commit 878ca5ca authored by Sergei Petrunia's avatar Sergei Petrunia

MDEV-19266: Crash in EITS code when enabling 128 indexes

Do not attempt to set param->table->with_impossible_ranges if the
range optimizer is using pseudo-indexes (which is true when we are
computing EITS selectivity estimates or doing partition pruning).
parent 7b216ceb
...@@ -9044,7 +9044,11 @@ int and_range_trees(RANGE_OPT_PARAM *param, SEL_TREE *tree1, SEL_TREE *tree2, ...@@ -9044,7 +9044,11 @@ int and_range_trees(RANGE_OPT_PARAM *param, SEL_TREE *tree1, SEL_TREE *tree2,
if (key && key->type == SEL_ARG::IMPOSSIBLE) if (key && key->type == SEL_ARG::IMPOSSIBLE)
{ {
result->type= SEL_TREE::IMPOSSIBLE; result->type= SEL_TREE::IMPOSSIBLE;
param->table->with_impossible_ranges.set_bit(param->real_keynr[key_no]); if (param->using_real_indexes)
{
param->table->with_impossible_ranges.set_bit(param->
real_keynr[key_no]);
}
DBUG_RETURN(1); DBUG_RETURN(1);
} }
result_keys.set_bit(key_no); result_keys.set_bit(key_no);
......
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