~maria-captains/maria/5.3

Viewing all changes in revision 3199.1.2.

  • Committer: Sergey Petrunya
  • Date: 2011-09-30 20:10:03 UTC
  • mto: This revision was merged to the branch mainline in revision 3202.
  • Revision ID: psergey@askmonty.org-20110930201003-b5v30n5h0aw4i24c
BUG#860553: Crash in create_ref_for_key with semijoin + materialization 
- The problem was that JOIN::save/restore_query_plan() did not save/restore parts of 
  the query plan that are located inside SJ_MATERIALIZATION_INFO structures. This could
  cause parts of one plan to be used with another, which led get_best_combination() to
  constructing non-sensical join plans (and crash).
  Fixed by saving/restoring SJM parts of the query plans.

- check_and_do_in_subquery_rewrites() will not set SUBS_MATERIALIZATION flag when it 
  records that the subquery predicate is to be converted into semi-join. 
  If convert_join_subqueries_to_semijoins() later decides not to convert to semi-join,
  let it set SUBS_MATERIALIZATION flag, if appropriate.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: