summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_tvc.cc13
1 files changed, 4 insertions, 9 deletions
diff --git a/sql/sql_tvc.cc b/sql/sql_tvc.cc
index 497f37f492b..e7372a13a2d 100644
--- a/sql/sql_tvc.cc
+++ b/sql/sql_tvc.cc
@@ -1173,12 +1173,10 @@ bool JOIN::transform_in_predicates_into_in_subq(THD *thd)
{
select_lex->parsing_place= IN_WHERE;
conds=
- conds->transform(thd,
- &Item::in_predicate_to_in_subs_transformer,
- (uchar*) 0);
+ conds->top_level_transform(thd,
+ &Item::in_predicate_to_in_subs_transformer, 0);
if (!conds)
DBUG_RETURN(true);
- select_lex->prep_where= conds ? conds->copy_andor_structure(thd) : 0;
select_lex->where= conds;
}
@@ -1193,13 +1191,10 @@ bool JOIN::transform_in_predicates_into_in_subq(THD *thd)
if (table->on_expr)
{
table->on_expr=
- table->on_expr->transform(thd,
- &Item::in_predicate_to_in_subs_transformer,
- (uchar*) 0);
+ table->on_expr->top_level_transform(thd,
+ &Item::in_predicate_to_in_subs_transformer, 0);
if (!table->on_expr)
DBUG_RETURN(true);
- table->prep_on_expr= table->on_expr ?
- table->on_expr->copy_andor_structure(thd) : 0;
}
}
}