| 
    MySQL 5.6.14 Source Code Document
    
   | 
 
#include <item_subselect.h>


Public Member Functions | |
| subselect_hash_sj_engine (THD *thd, Item_subselect *in_predicate, subselect_single_select_engine *old_engine) | |
| bool | setup (List< Item > *tmp_columns) | 
| virtual void | cleanup () | 
| virtual bool | prepare () | 
| virtual bool | exec () | 
| virtual void | print (String *str, enum_query_type query_type) | 
| virtual uint | cols () const | 
| virtual enum_engine_type | engine_type () const | 
| const st_join_table * | get_join_tab () const | 
| Item * | get_cond_for_explain () const | 
  Public Member Functions inherited from subselect_indexsubquery_engine | |
| subselect_indexsubquery_engine (THD *thd_arg, st_join_table *tab_arg, Item_subselect *subs, Item *where, Item *having_arg, bool chk_null, bool unique_arg) | |
| virtual void | fix_length_and_dec (Item_cache **row) | 
| virtual uint8 | uncacheable () const | 
| virtual void | exclude () | 
| virtual table_map | upper_select_const_tables () const | 
| virtual bool | change_result (Item_subselect *si, select_result_interceptor *result) | 
| virtual bool | no_tables () const | 
| bool | scan_table () | 
| void | copy_ref_key (bool *require_scan, bool *convert_error) | 
  Public Member Functions inherited from subselect_engine | |
| subselect_engine (Item_subselect *si, select_result_interceptor *res) | |
| void | set_thd_for_result () | 
| Sets "thd" for 'result'. Should be called before prepare()  | |
| virtual enum Item_result | type () const | 
| virtual enum_field_types | field_type () const | 
| virtual bool | may_be_null () const | 
| virtual bool | is_executed () const | 
| const Item_subselect * | get_item () const | 
Additional Inherited Members | |
  Public Types inherited from subselect_engine | |
| enum | enum_engine_type {  ABSTRACT_ENGINE, SINGLE_SELECT_ENGINE, UNION_ENGINE, UNIQUESUBQUERY_ENGINE, INDEXSUBQUERY_ENGINE, HASH_SJ_ENGINE }  | 
  Static Public Member Functions inherited from subselect_engine | |
| static table_map | calc_const_tables (TABLE_LIST *) | 
  Protected Member Functions inherited from subselect_engine | |
| void | set_row (List< Item > &item_list, Item_cache **row) | 
  Protected Attributes inherited from subselect_indexsubquery_engine | |
| st_join_table * | tab | 
| Item * | cond | 
Compute an IN predicate via a hash semi-join. The subquery is materialized during the first evaluation of the IN predicate. The IN predicate is executed via the functionality inherited from subselect_indexsubquery_engine.
Definition at line 744 of file item_subselect.h.
      
  | 
  virtual | 
Cleanup performed after each PS execution.
Called in the end of JOIN::prepare for PS from Item_subselect::cleanup.
Reimplemented from subselect_indexsubquery_engine.
Definition at line 3700 of file item_subselect.cc.

      
  | 
  virtual | 
Execute a subquery IN predicate via materialization.
If needed materialize the subquery into a temporary table, then copmpute the predicate via a lookup into this table.
| TRUE | if error | 
| FALSE | otherwise | 
Reimplemented from subselect_indexsubquery_engine.
Definition at line 3727 of file item_subselect.cc.

      
  | 
  virtual | 
Print the state of this engine into a string for debugging and views.
Reimplemented from subselect_indexsubquery_engine.
Definition at line 3847 of file item_subselect.cc.
Create all structures needed for subquery execution using hash semijoin.
| tmp_columns | columns of temporary table | 
: Currently Item_subselect::init() already chooses and creates at parse time an engine with a corresponding JOIN to execute the subquery.
| TRUE | if error | 
| FALSE | otherwise | 
Definition at line 3492 of file item_subselect.cc.

