summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <timour@askmonty.org>2012-06-06 22:26:40 +0300
committerunknown <timour@askmonty.org>2012-06-06 22:26:40 +0300
commitc2677de7aca09a0ba4b680b5227bda3865ab9290 (patch)
tree980157e9eaf1062641572da371d1ae7fcc371625 /sql/item_subselect.h
parent8efc63ba5d32b77501226921ee503b9ae513a365 (diff)
parent7ddd5418d01e60dba2ae69a668e7c9f811613451 (diff)
downloadmariadb-git-c2677de7aca09a0ba4b680b5227bda3865ab9290.tar.gz
Merge the fix for lp:944706, mdev-193
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 0e0f61aedd9..415bb059198 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -209,7 +209,7 @@ public:
*/
bool is_evaluated() const;
bool is_uncacheable() const;
- bool is_expensive() { return TRUE; }
+ bool is_expensive();
/*
Used by max/min subquery to initialize value presence registration
@@ -235,7 +235,7 @@ public:
@retval TRUE if the predicate is expensive
@retval FALSE otherwise
*/
- bool is_expensive_processor(uchar *arg) { return TRUE; }
+ bool is_expensive_processor(uchar *arg) { return is_expensive(); }
/**
Get the SELECT_LEX structure associated with this Item.
@@ -581,6 +581,10 @@ public:
bool fix_fields(THD *thd, Item **ref);
void fix_length_and_dec();
void fix_after_pullout(st_select_lex *new_parent, Item **ref);
+ bool const_item() const
+ {
+ return Item_subselect::const_item() && left_expr->const_item();
+ }
void update_used_tables();
bool setup_mat_engine();
bool init_left_expr_cache();