summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 86c032dd1ce..cde51e58340 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -241,7 +241,8 @@ public:
*/
virtual void reset_value_registration() {}
enum_parsing_place place() { return parsing_place; }
- bool walk(Item_processor processor, bool walk_subquery, void *arg);
+ bool walk(Item_processor processor, bool walk_subquery, void *arg,
+ uint depth= 0);
bool mark_as_eliminated_processor(void *arg);
bool eliminate_subselect_processor(void *arg);
bool enumerate_field_refs_processor(void *arg);
@@ -753,10 +754,11 @@ public:
DBUG_VOID_RETURN;
}
- bool walk(Item_processor processor, bool walk_subquery, void *arg)
+ bool walk(Item_processor processor, bool walk_subquery, void *arg,
+ uint depth= 0)
{
- return left_expr->walk(processor, walk_subquery, arg) ||
- Item_subselect::walk(processor, walk_subquery, arg);
+ return left_expr->walk(processor, walk_subquery, arg, depth+1) ||
+ Item_subselect::walk(processor, walk_subquery, arg, depth+1);
}
bool exists2in_processor(void *opt_arg __attribute__((unused)))