-
Committer:
Sergey Petrunya
-
Date:
2011-09-17 19:53:50 UTC
-
mto:
This revision was merged to the branch mainline in
revision
3188.
-
Revision ID:
psergey@askmonty.org-20110917195350-lip04xdworx1goze
BUG##849717: Crash in Item_func::fix_fields on second execution of a prepared statement with semijoin
- If convert_join_subqueries_to_semijoins() decides to wrap Item_in_subselect in Item_in_optimizer,
it should do so in prep_on_expr/prep_where, too, as long as they are present.
There seems to be two possibilities of how we arrive in this function:
- prep_on_expr/prep_where==NULL, and will be set later by simplify_joins()
- prep_on_expr/prep_where!=NULL, and it is a copy_and_or_structure()-made copy of on_expr/where.
the latter can happen for some (but not all!) nested joins. This bug was that we didn't handle this case.