summaryrefslogtreecommitdiff
path: root/sql/opt_index_cond_pushdown.cc
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2011-12-18 23:38:37 -0800
committerIgor Babaev <igor@askmonty.org>2011-12-18 23:38:37 -0800
commit7a1406f229df002befeb91f39f57e15444aecb21 (patch)
tree42a7ecb4198e90a067b21f4cede12cc08dea28c5 /sql/opt_index_cond_pushdown.cc
parent2bfd02cea95a774dbc82b51fafa2bf727b9bb0ff (diff)
downloadmariadb-git-7a1406f229df002befeb91f39f57e15444aecb21.tar.gz
Fixed LP bug #904832.
Do not perform index condition pushdown for conditions containing subqueries and stored functions.
Diffstat (limited to 'sql/opt_index_cond_pushdown.cc')
-rw-r--r--sql/opt_index_cond_pushdown.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc
index 3a9c813b93c..5240267b4ac 100644
--- a/sql/opt_index_cond_pushdown.cc
+++ b/sql/opt_index_cond_pushdown.cc
@@ -29,6 +29,11 @@
bool uses_index_fields_only(Item *item, TABLE *tbl, uint keyno,
bool other_tbls_ok)
{
+ if (item->walk(&Item::limit_index_condition_pushdown_processor, FALSE, NULL))
+ {
+ return FALSE;
+ }
+
if (item->const_item())
return TRUE;