diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2014-08-27 18:47:33 +0400 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2014-08-27 18:47:33 +0400 |
commit | be00e279c6061134a33a8099fd69d4304735d02e (patch) | |
tree | a530d1229f4d70770721ccdd94ff269f99d26fdb /mysql-test/r/index_merge_myisam.result | |
parent | 9534fd83ce6dc402132cc304c121c9205b430dda (diff) | |
download | mariadb-git-be00e279c6061134a33a8099fd69d4304735d02e.tar.gz |
MDEV-6480: Remove conditions for which range optimizer returned SEL_ARG::IMPOSSIBLE
Let range optimizer remove parts of OR-clauses for which range analysis
produced SEL_TREE(IMPOSSIBLE).
There is no need to remove parts of AND-clauses: either they are inside
of OR (and the whole AND-clause will be removed), or the AND-clause is
at the top level, in which case the whole WHERE (or ON) is always FALSE
and this is a degenerate case which receives special treatment.
The removal process takes care not to produce 1-way ORs (in that case
we substitute the OR for its remaining member).
Diffstat (limited to 'mysql-test/r/index_merge_myisam.result')
-rw-r--r-- | mysql-test/r/index_merge_myisam.result | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result index c907997573a..9820170aa59 100644 --- a/mysql-test/r/index_merge_myisam.result +++ b/mysql-test/r/index_merge_myisam.result @@ -74,7 +74,7 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 17 Using sort_union(i1,i2); Using where explain select * from t0 where key2 = 45 or key1 <=> null; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t0 range i1,i2 i2 4 NULL 1 Using where +1 SIMPLE t0 range i1,i2 i2 4 NULL 1 Using index condition explain select * from t0 where key2 = 45 or key1 is not null; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where |