MySQL  8.0.18
Source Code Documentation
parse_tree_nodes.cc File Reference
#include "sql/parse_tree_nodes.h"
#include <string.h>
#include <algorithm>
#include "auth/auth_common.h"
#include "m_ctype.h"
#include "m_string.h"
#include "my_alloc.h"
#include "my_dbug.h"
#include "mysql/udf_registration_types.h"
#include "mysql_com.h"
#include "sql/auth/sql_security_ctx.h"
#include "sql/dd/info_schema/show.h"
#include "sql/dd/types/abstract_table.h"
#include "sql/dd/types/column.h"
#include "sql/derror.h"
#include "sql/gis/srid.h"
#include "sql/intrusive_list_iterator.h"
#include "sql/item_timefunc.h"
#include "sql/key_spec.h"
#include "sql/mdl.h"
#include "sql/mysqld.h"
#include "sql/opt_explain_json.h"
#include "sql/opt_explain_traditional.h"
#include "sql/parse_tree_column_attrs.h"
#include "sql/parse_tree_hints.h"
#include "sql/parse_tree_partitions.h"
#include "sql/query_options.h"
#include "sql/sp.h"
#include "sql/sp_head.h"
#include "sql/sp_instr.h"
#include "sql/sp_pcontext.h"
#include "sql/sql_base.h"
#include "sql/sql_call.h"
#include "sql/sql_cmd.h"
#include "sql/sql_cmd_ddl_table.h"
#include "sql/sql_data_change.h"
#include "sql/sql_delete.h"
#include "sql/sql_do.h"
#include "sql/sql_error.h"
#include "sql/sql_insert.h"
#include "sql/sql_select.h"
#include "sql/sql_update.h"
#include "sql/system_variables.h"
#include "sql/trigger_def.h"
#include "sql_string.h"

Typedefs

using Local_tables_iterator = IntrusiveListIterator< TABLE_LIST, &TABLE_LIST::next_local >
 
using Local_tables_list = IteratorContainer< Local_tables_iterator >
 A list interface over the TABLE_LIST::next_local pointer. More...
 

Functions

static TABLE_LISTmulti_delete_table_match (TABLE_LIST *tbl, TABLE_LIST *tables)
 
static bool multi_delete_link_tables (Parse_context *pc, SQL_I_List< TABLE_LIST > *delete_tables)
 Link tables in auxiliary table list of multi-delete with corresponding elements in main table list, and set proper locks for them. More...
 
static bool setup_index (keytype key_type, const LEX_STRING name, PT_base_index_option *type, List< PT_key_part_specification > *columns, Index_options options, Table_ddl_parse_context *pc)
 
bool set_default_charset (HA_CREATE_INFO *create_info, const CHARSET_INFO *value)
 
bool set_default_collation (HA_CREATE_INFO *create_info, const CHARSET_INFO *collation)
 
static void setup_lex_show_cmd_type (THD *thd, Show_cmd_type show_cmd_type)
 
static bool init_alter_table_stmt (Table_ddl_parse_context *pc, Table_ident *table_name, Alter_info::enum_alter_table_algorithm algo, Alter_info::enum_alter_table_lock lock, Alter_info::enum_with_validation validation)
 A common initialization part of ALTER TABLE statement variants. More...
 

Typedef Documentation

◆ Local_tables_iterator

◆ Local_tables_list

A list interface over the TABLE_LIST::next_local pointer.

Function Documentation

◆ init_alter_table_stmt()

static bool init_alter_table_stmt ( Table_ddl_parse_context pc,
Table_ident table_name,
Alter_info::enum_alter_table_algorithm  algo,
Alter_info::enum_alter_table_lock  lock,
Alter_info::enum_with_validation  validation 
)
static

A common initialization part of ALTER TABLE statement variants.

Parameters
pcThe parse context.
table_nameThe name of a table to alter.
algoThe ALGORITHM clause: inplace, copy etc.
lockThe LOCK clause: none, shared, exclusive etc.
validationThe WITH or WITHOUT VALIDATION clause.
Returns
false on success, true on error.

◆ multi_delete_link_tables()

static bool multi_delete_link_tables ( Parse_context pc,
SQL_I_List< TABLE_LIST > *  delete_tables 
)
static

Link tables in auxiliary table list of multi-delete with corresponding elements in main table list, and set proper locks for them.

Parameters
pcParse context
delete_tablesList of tables to delete from
Returns
false if success, true if error

◆ multi_delete_table_match()

static TABLE_LIST* multi_delete_table_match ( TABLE_LIST tbl,
TABLE_LIST tables 
)
static

◆ setup_index()

static bool setup_index ( keytype  key_type,
const LEX_STRING  name,
PT_base_index_option type,
List< PT_key_part_specification > *  columns,
Index_options  options,
Table_ddl_parse_context pc 
)
static

◆ setup_lex_show_cmd_type()

static void setup_lex_show_cmd_type ( THD thd,
Show_cmd_type  show_cmd_type 
)
static