| My Project
   
    | 
 
  
 | Public Types | |
| enum | { OPEN_NORMAL = 0, OPEN_IF_EXISTS, OPEN_FOR_CREATE, OPEN_STUB } | 
| Public Member Functions | |
| void | init_one_table (const char *db_name_arg, size_t db_length_arg, const char *table_name_arg, size_t table_name_length_arg, const char *alias_arg, enum thr_lock_type lock_type_arg) | 
| Item ** | join_cond_ref () | 
| Item * | join_cond () const | 
| Item * | set_join_cond (Item *val) | 
| void | calc_md5 (char *buffer) | 
| void | set_underlying_merge () | 
| Set underlying table for table place holder of view. | |
| int | view_check_option (THD *thd, bool ignore_failure) const | 
| bool | setup_underlying (THD *thd) | 
| void | cleanup_items () | 
| bool | placeholder () | 
| void | print (THD *thd, String *str, enum_query_type query_type) | 
| bool | check_single_table (TABLE_LIST **table, table_map map, TABLE_LIST *view) | 
| bool | set_insert_values (MEM_ROOT *mem_root) | 
| void | hide_view_error (THD *thd) | 
| TABLE_LIST * | find_underlying_table (TABLE *table) | 
| TABLE_LIST * | first_leaf_for_name_resolution () | 
| TABLE_LIST * | last_leaf_for_name_resolution () | 
| bool | is_leaf_for_name_resolution () | 
| const TABLE_LIST * | top_table () const | 
| TABLE_LIST * | top_table () | 
| bool | prepare_check_option (THD *thd) | 
| bool | prepare_where (THD *thd, Item **conds, bool no_where_clause) | 
| bool | uses_materialization () const | 
| bool | is_view_or_derived () const | 
| bool | materializable_is_const () const | 
| void | register_want_access (ulong want_access) | 
| bool | prepare_security (THD *thd) | 
| Security_context * | find_view_security_context (THD *thd) | 
| bool | prepare_view_securety_context (THD *thd) | 
| void | reinit_before_use (THD *thd) | 
| Item_subselect * | containing_subselect () | 
| bool | process_index_hints (TABLE *table) | 
| bool | is_table_ref_id_equal (TABLE_SHARE *s) const | 
| void | set_table_ref_id (TABLE_SHARE *s) | 
| void | set_table_ref_id (enum_table_ref_type table_ref_type_arg, ulonglong table_ref_version_arg) | 
| bool | is_anonymous_derived_table () const | 
| True if this TABLE_LIST represents an anonymous derived table, i.e. the result of a subquery. | |
| uint | query_block_id () const | 
| returns query block id for derived table, and zero if not derived. | |
| char * | get_db_name () const | 
| Returns the name of the database that the referenced table belongs to. | |
| char * | get_table_name () const | 
| Returns the name of the table that this TABLE_LIST represents. | |
| int | fetch_number_of_rows () | 
| Retrieve number of rows in the table. | |
| bool | update_derived_keys (Field *, Item **, uint) | 
| bool | generate_keys () | 
| Generate keys for a materialized derived table/view. | |
| bool | handle_derived (LEX *lex, bool(*processor)(THD *, LEX *, TABLE_LIST *)) | 
| st_select_lex_unit * | get_unit () const | 
| Return unit of this derived table/view. | |
| TABLE_LIST * | outer_join_nest () const | 
| Returns the outer join nest that this TABLE_LIST belongs to, if any. | |
| Static Public Member Functions | |
| static TABLE_LIST * | new_nested_join (MEM_ROOT *allocator, const char *alias, TABLE_LIST *embedding, List< TABLE_LIST > *belongs_to, class st_select_lex *select) | 
| Create a TABLE_LIST object representing a nested join. | |
| Public Attributes | |
| TABLE_LIST * | next_local | 
| TABLE_LIST * | next_global | 
| TABLE_LIST ** | prev_global | 
| char * | db | 
| char * | alias | 
| char * | table_name | 
| char * | schema_table_name | 
| char * | option | 
| Name_resolution_context * | context_of_embedding | 
| Item * | prep_join_cond | 
| Item * | sj_on_expr | 
| table_map | sj_inner_tables | 
| COND_EQUAL * | cond_equal | 
| TABLE_LIST * | natural_join | 
| bool | is_natural_join | 
| List< String > * | join_using_fields | 
| List< Natural_join_column > * | join_columns | 
| bool | is_join_columns_complete | 
| TABLE_LIST * | next_name_resolution_table | 
| List< Index_hint > * | index_hints | 
| TABLE * | table | 
| Table_id | table_id | 
| select_union * | derived_result | 
| TABLE_LIST * | correspondent_table | 
| st_select_lex_unit * | derived | 
| Normally, this field is non-null for anonymous derived tables only. | |
| bool | derived_keys_ready | 
| ST_SCHEMA_TABLE * | schema_table | 
| st_select_lex * | schema_select_lex | 
| bool | schema_table_reformed | 
| TMP_TABLE_PARAM * | schema_table_param | 
| st_select_lex * | select_lex | 
| LEX * | view | 
| Field_translator * | field_translation | 
| Field_translator * | field_translation_end | 
| TABLE_LIST * | merge_underlying_list | 
| List< TABLE_LIST > * | view_tables | 
| TABLE_LIST * | belong_to_view | 
| TABLE_LIST * | referencing_view | 
| TABLE_LIST * | parent_l | 
| Security_context * | security_ctx | 
| Security_context * | view_sctx | 
| bool | allowed_show | 
| TABLE_LIST * | next_leaf | 
| Item * | where | 
| Item * | check_option | 
| LEX_STRING | select_stmt | 
| LEX_STRING | md5 | 
| LEX_STRING | source | 
| LEX_STRING | view_db | 
| LEX_STRING | view_name | 
| LEX_STRING | timestamp | 
| st_lex_user | definer | 
| ulonglong | file_version | 
| ulonglong | updatable_view | 
| ulonglong | algorithm | 
| The declared algorithm, if this is a view. | |
| ulonglong | view_suid | 
| ulonglong | with_check | 
| uint8 | effective_with_check | 
| enum_derived_type | effective_algorithm | 
| The view algorithm that is actually used, if this is a view. | |
| GRANT_INFO | grant | 
| ulonglong | engine_data | 
| qc_engine_callback | callback_func | 
| thr_lock_type | lock_type | 
| uint | outer_join | 
| uint | shared | 
| size_t | db_length | 
| size_t | table_name_length | 
| bool | updatable | 
| bool | straight | 
| bool | updating | 
| bool | force_index | 
| bool | ignore_leaves | 
| table_map | dep_tables | 
| table_map | on_expr_dep_tables | 
| struct st_nested_join * | nested_join | 
| TABLE_LIST * | embedding | 
| List< TABLE_LIST > * | join_list | 
| bool | cacheable_table | 
| bool | table_in_first_from_clause | 
| enum enum_open_type | open_type | 
| bool | contain_auto_increment | 
| bool | multitable_view | 
| bool | compact_view_format | 
| bool | where_processed | 
| bool | check_option_processed | 
| enum frm_type_enum | required_type | 
| char | timestamp_buffer [20] | 
| bool | prelocking_placeholder | 
| enum TABLE_LIST:: { ... } | open_strategy | 
| bool | internal_tmp_table | 
| bool | is_alias | 
| bool | is_fqtn | 
| View_creation_ctx * | view_creation_ctx | 
| LEX_STRING | view_client_cs_name | 
| LEX_STRING | view_connection_cl_name | 
| LEX_STRING | view_body_utf8 | 
| List< Derived_key > | derived_key_list | 
| uint8 | trg_event_map | 
| bool | optimized_away | 
| uint | i_s_requested_object | 
| bool | has_db_lookup_value | 
| bool | has_table_lookup_value | 
| uint | table_open_method | 
| enum enum_schema_table_state | schema_table_state | 
| MDL_request | mdl_request | 
| anonymous enum | 
Indicates that if TABLE_LIST object corresponds to the table/view which requires special handling.
| int TABLE_LIST::fetch_number_of_rows | ( | ) | 
Retrieve number of rows in the table.
Retrieve number of rows in the table referred by this TABLE_LIST and store it in the table's stats.records variable. If this TABLE_LIST refers to a materialized derived table/view, then the estimated number of rows of the derived table/view is used instead.
| bool TABLE_LIST::generate_keys | ( | ) | 
Generate keys for a materialized derived table/view.
This function adds keys to the result table by walking over the list of possible keys for this derived table/view and calling the TABLE::add_tmp_key to actually add keys. A name <auto_keyN>, where N is a sequential number, is given to each key to ease debugging.
| char* TABLE_LIST::get_table_name | ( | ) | const  [inline] | 
Returns the name of the table that this TABLE_LIST represents.
The unqualified table name or view name for a table or view, respectively.
| st_select_lex_unit * TABLE_LIST::get_unit | ( | ) | const | 
Return unit of this derived table/view.
| void TABLE_LIST::hide_view_error | ( | THD * | thd | ) | 
Hide errors which show view underlying table information. There are currently two mechanisms at work that handle errors for views, this one and a more general mechanism based on an Internal_error_handler, see Show_create_error_handler. The latter handles errors encountered during execution of SHOW CREATE VIEW, while the machanism using this method is handles SELECT from views. The two methods should not clash.
| [in,out] | thd | thread handler | 
| void TABLE_LIST::init_one_table | ( | const char * | db_name_arg, | 
| size_t | db_length_arg, | ||
| const char * | table_name_arg, | ||
| size_t | table_name_length_arg, | ||
| const char * | alias_arg, | ||
| enum thr_lock_type | lock_type_arg | ||
| ) |  [inline] | 
Prepare TABLE_LIST that consists of one table instance to use in simple_open_and_lock_tables
| bool TABLE_LIST::is_table_ref_id_equal | ( | TABLE_SHARE * | s | ) | const  [inline] | 
Compare the version of metadata from the previous execution (if any) with values obtained from the current table definition cache element.
| bool TABLE_LIST::materializable_is_const | ( | ) | const | 
Returning true implies that the table is materialized during optimization, so it need not be optimized during execution.
| TABLE_LIST * TABLE_LIST::new_nested_join | ( | MEM_ROOT * | allocator, | 
| const char * | alias, | ||
| TABLE_LIST * | embedding, | ||
| List< TABLE_LIST > * | belongs_to, | ||
| class st_select_lex * | select | ||
| ) |  [static] | 
Create a TABLE_LIST object representing a nested join.
Create a TABLE_LIST object representing a nested join
| allocator | Mem root allocator that object is created from. | 
| alias | Name of nested join object | 
| embedding | Pointer to embedding join nest (or NULL if top-most) | 
| belongs_to | List of tables this nest belongs to (never NULL). | 
| select | The query block that this join nest belongs within. | 
| TABLE_LIST* TABLE_LIST::outer_join_nest | ( | ) | const  [inline] | 
Returns the outer join nest that this TABLE_LIST belongs to, if any.
There are two kinds of join nests, outer-join nests and semi-join nests. This function returns non-NULL in the following cases:
simplify_joins() ). Note: This function assumes that simplify_joins() has been performed. Before that, join nests will be present for all types of join.| void TABLE_LIST::print | ( | THD * | thd, | 
| String * | str, | ||
| enum_query_type | query_type | ||
| ) | 
Print table as it should be in join list.
| str | string where table should be printed | 
| void TABLE_LIST::set_table_ref_id | ( | TABLE_SHARE * | s | ) |  [inline] | 
Record the value of metadata version of the corresponding table definition cache element in this parse tree node.
| void TABLE_LIST::set_underlying_merge | ( | ) | 
Set underlying table for table place holder of view.
Replace all views that only use one table with the table itself. This allows us to treat the view as a simple table and even update it (it is a kind of optimization).
This optimization is potentially dangerous as it makes views masquerade as base tables: Views don't have the pointer TABLE_LIST::table set to non-NULL.
We may have the case where a view accesses tables not normally accessible in the current Security_context (only in the definer's Security_context). According to the table's GRANT_INFO (TABLE::grant), access is fulfilled, but this is implicitly meant in the definer's security context. Hence we must never look at only a TABLE's GRANT_INFO without looking at the one of the referring TABLE_LIST.
| bool TABLE_LIST::uses_materialization | ( | ) | const  [inline] | 
| ulonglong TABLE_LIST::algorithm | 
The declared algorithm, if this is a view.
One of
Context which should be used to resolve identifiers contained in the ON condition of the embedding join nest.
| st_select_lex_unit* TABLE_LIST::derived | 
Normally, this field is non-null for anonymous derived tables only.
This field is set to non-null for
SELECT * FROM (SELECT a FROM t1) b
For the TABLE_LIST representing the derived table b, derived points to the SELECT_LEX_UNIT representing the result of the query within parenteses.
ALGORITHM = TEMPTABLE
     FROM clause is not allowed. | enum_derived_type TABLE_LIST::effective_algorithm | 
The view algorithm that is actually used, if this is a view.
One of
| bool TABLE_LIST::is_alias | 
TRUE if an alias for this table was specified in the SQL.
| bool TABLE_LIST::is_fqtn | 
TRUE if the table is referred to in the statement using a fully qualified name (<db_name>.<table_name>).
| enum { ... } TABLE_LIST::open_strategy | 
Indicates that if TABLE_LIST object corresponds to the table/view which requires special handling.
| enum enum_open_type TABLE_LIST::open_type | 
Specifies which kind of table should be open for this element of table list.
Indicates what triggers we need to pre-load for this TABLE_LIST when opening an associated TABLE. This is filled after the parsed tree is created.
 1.7.6.1
 1.7.6.1