12.8 Single Select Engine


  • constructor allocate JOIN and store pointers on SELECT_LEX and JOIN.

  • prepare() call JOIN::prepare.

  • fix_length_and_dec() prepare cache and receive type and parameters of returning items (called only by Item_singlerow_subselect).

  • exec() drop 'assigned' flag of Item_subselect. If this is the first time, call JOIN::optimize and JOIN::exec(), else do nothing or JOIN::reinit()JOIN::exec() depending on type of subquery.