#include <item_subselect.h>
Inheritance diagram for subselect_engine:


Public Member Functions | |
| subselect_engine (Item_subselect *si, select_subselect *res) | |
| virtual | ~subselect_engine () |
| virtual void | cleanup ()=0 |
| void | set_thd (THD *thd_arg) |
| THD * | get_thd () |
| virtual int | prepare ()=0 |
| virtual void | fix_length_and_dec (Item_cache **row)=0 |
| virtual int | exec ()=0 |
| virtual uint | cols ()=0 |
| virtual uint8 | uncacheable ()=0 |
| enum Item_result | type () |
| virtual void | exclude ()=0 |
| bool | may_be_null () |
| virtual table_map | upper_select_const_tables ()=0 |
| virtual void | print (String *str)=0 |
| virtual bool | change_result (Item_subselect *si, select_subselect *result)=0 |
| virtual bool | no_tables ()=0 |
| virtual bool | is_executed () const |
Static Public Member Functions | |
| static table_map | calc_const_tables (TABLE_LIST *) |
Protected Attributes | |
| select_subselect * | result |
| THD * | thd |
| Item_subselect * | item |
| enum Item_result | res_type |
| bool | maybe_null |
Definition at line 288 of file item_subselect.h.
| subselect_engine::subselect_engine | ( | Item_subselect * | si, | |
| select_subselect * | res | |||
| ) | [inline] |
Definition at line 298 of file item_subselect.h.
References item, maybe_null, res_type, result, and STRING_RESULT.
00299 :thd(0) 00300 { 00301 result= res; 00302 item= si; 00303 res_type= STRING_RESULT; 00304 maybe_null= 0; 00305 }
| virtual subselect_engine::~subselect_engine | ( | ) | [inline, virtual] |
| table_map subselect_engine::calc_const_tables | ( | TABLE_LIST * | ) | [static] |
Definition at line 1817 of file item_subselect.cc.
References st_table::map, map, st_table_list::next_leaf, and st_table_list::table.
Referenced by subselect_union_engine::upper_select_const_tables(), and subselect_single_select_engine::upper_select_const_tables().
01818 { 01819 table_map map= 0; 01820 for (; table; table= table->next_leaf) 01821 { 01822 TABLE *tbl= table->table; 01823 if (tbl && tbl->const_table) 01824 map|= tbl->map; 01825 } 01826 return map; 01827 }
Here is the caller graph for this function:

| virtual bool subselect_engine::change_result | ( | Item_subselect * | si, | |
| select_subselect * | result | |||
| ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::init().
Here is the caller graph for this function:

| virtual void subselect_engine::cleanup | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::cleanup().
Here is the caller graph for this function:

| virtual uint subselect_engine::cols | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_singlerow_subselect::check_cols(), Item_singlerow_subselect::cols(), Item_subselect::fix_fields(), Item_in_optimizer::fix_fields(), Item_exists_subselect::fix_length_and_dec(), and Item_singlerow_subselect::fix_length_and_dec().
Here is the caller graph for this function:

| virtual void subselect_engine::exclude | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::fix_fields().
Here is the caller graph for this function:

| virtual int subselect_engine::exec | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, subselect_uniquesubquery_engine, and subselect_indexsubquery_engine.
Referenced by Item_subselect::exec().
Here is the caller graph for this function:

| virtual void subselect_engine::fix_length_and_dec | ( | Item_cache ** | row | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_singlerow_subselect::fix_length_and_dec(), and Item_subselect::fix_length_and_dec().
Here is the caller graph for this function:

| THD* subselect_engine::get_thd | ( | ) | [inline] |
| virtual bool subselect_engine::is_executed | ( | ) | const [inline, virtual] |
Reimplemented in subselect_single_select_engine, and subselect_union_engine.
Definition at line 328 of file item_subselect.h.
References FALSE.
Referenced by Item_subselect::is_evaluated().
00328 { return FALSE; }
Here is the caller graph for this function:

| bool subselect_engine::may_be_null | ( | ) | [inline] |
Definition at line 322 of file item_subselect.h.
References maybe_null.
Referenced by Item_singlerow_subselect::fix_length_and_dec().
00322 { return maybe_null; };
Here is the caller graph for this function:

| virtual bool subselect_engine::no_tables | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_singlerow_subselect::fix_length_and_dec().
Here is the caller graph for this function:

| virtual int subselect_engine::prepare | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::fix_fields().
Here is the caller graph for this function:

| virtual void subselect_engine::print | ( | String * | str | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, subselect_uniquesubquery_engine, and subselect_indexsubquery_engine.
Referenced by Item_subselect::print().
Here is the caller graph for this function:

| void subselect_engine::set_thd | ( | THD * | thd_arg | ) |
Definition at line 1436 of file item_subselect.cc.
Referenced by Item_subselect::fix_fields(), and subselect_uniquesubquery_engine::subselect_uniquesubquery_engine().
Here is the caller graph for this function:

| enum Item_result subselect_engine::type | ( | ) | [inline] |
Definition at line 320 of file item_subselect.h.
References res_type.
Referenced by Item_singlerow_subselect::result_type().
00320 { return res_type; }
Here is the caller graph for this function:

| virtual uint8 subselect_engine::uncacheable | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::fix_fields(), Item_subselect::update_used_tables(), and Item_subselect::used_tables().
Here is the caller graph for this function:

| virtual table_map subselect_engine::upper_select_const_tables | ( | ) | [pure virtual] |
Implemented in subselect_single_select_engine, subselect_union_engine, and subselect_uniquesubquery_engine.
Referenced by Item_subselect::update_used_tables().
Here is the caller graph for this function:

Item_subselect* subselect_engine::item [protected] |
Definition at line 293 of file item_subselect.h.
Referenced by subselect_union_engine::change_result(), subselect_single_select_engine::change_result(), subselect_indexsubquery_engine::exec(), subselect_uniquesubquery_engine::exec(), subselect_single_select_engine::exec(), subselect_union_engine::fix_length_and_dec(), subselect_single_select_engine::fix_length_and_dec(), subselect_engine(), and subselect_single_select_engine::subselect_single_select_engine().
bool subselect_engine::maybe_null [protected] |
Definition at line 295 of file item_subselect.h.
Referenced by subselect_union_engine::fix_length_and_dec(), subselect_single_select_engine::fix_length_and_dec(), may_be_null(), and subselect_engine().
enum Item_result subselect_engine::res_type [protected] |
Definition at line 294 of file item_subselect.h.
Referenced by subselect_union_engine::fix_length_and_dec(), subselect_single_select_engine::fix_length_and_dec(), subselect_engine(), and type().
select_subselect* subselect_engine::result [protected] |
Definition at line 291 of file item_subselect.h.
Referenced by subselect_union_engine::change_result(), subselect_single_select_engine::change_result(), subselect_union_engine::cleanup(), subselect_single_select_engine::cleanup(), subselect_union_engine::prepare(), subselect_single_select_engine::prepare(), set_thd(), and subselect_engine().
THD* subselect_engine::thd [protected] |
Definition at line 292 of file item_subselect.h.
Referenced by subselect_union_engine::exec(), subselect_single_select_engine::exec(), get_thd(), subselect_union_engine::prepare(), subselect_single_select_engine::prepare(), subselect_single_select_engine::print(), and set_thd().
1.4.7

