diff options
author | unknown <timour@askmonty.org> | 2013-02-04 17:35:48 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2013-02-04 17:35:48 +0200 |
commit | 0b2dc3fc594a9040a2306bc8b5ccac1503208708 (patch) | |
tree | 6e128d7866ee7204c5a5152612a242084ae33858 /sql/sql_update.cc | |
parent | 34e84c227f1cb76771eabf229b4cf1b5292eef25 (diff) | |
download | mariadb-git-0b2dc3fc594a9040a2306bc8b5ccac1503208708.tar.gz |
Fix for bug MDEV-765 (LP:825075)
Analys:
The cause for the wrong result was that the optimizer
incorrectly chose min/max loose scan when it is not
applicable. The applicability test missed the case when
a condition on the MIN/MAX argument was OR-ed with a
condition on some other field. In this case, the MIN/MAX
condition cannot be used for loose scan.
Solution:
Extend the test check_group_min_max_predicates() to check
that the WHERE clause is of the form: "cond1 AND cond2"
where
cond1 - does not use min_max_column at all.
cond2 - is an AND/OR tree with leaves in form "min_max_column $CMP$ const"
or $CMP$ is one of the functions between, is [not] null
Diffstat (limited to 'sql/sql_update.cc')
0 files changed, 0 insertions, 0 deletions