diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2019-04-18 18:56:14 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2019-04-18 18:56:14 +0300 |
commit | 878ca5ca4f8c5598f2e289a753327c87b5a8818c (patch) | |
tree | 97bcb55a98681dd89677d8445871b32a665b6c3e | |
parent | 7b216ceb90fd7a59a25f0d5502f29be9f48edf1d (diff) | |
download | mariadb-git-bb-10.4-mdev19266.tar.gz |
MDEV-19266: Crash in EITS code when enabling 128 indexesbb-10.4-mdev19266
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).
-rw-r--r-- | sql/opt_range.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 5ab3d70214d..ed9cd541f70 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -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) { 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); } result_keys.set_bit(key_no); |