24#ifndef PARSE_TREE_NODES_INCLUDED
25#define PARSE_TREE_NODES_INCLUDED
44#include "mysqld_error.h"
149template <
class Node_type,
class Parse_context_type>
151 Parse_context_type *pc) {
152 for (Node_type *i : nodes)
153 if (i->contextualize(pc))
return true;
180 "Parse tree display of this statement");
245 for (
ORDER *o =
value.first; o !=
nullptr; o = o->next) {
597 using std::has_single_bit;
598 static_assert(has_single_bit(
unsigned{
JTT_INNER}),
"not a single bit");
599 static_assert(has_single_bit(
unsigned{
JTT_STRAIGHT}),
"not a single bit");
600 static_assert(has_single_bit(
unsigned{
JTT_NATURAL}),
"not a single bit");
601 static_assert(has_single_bit(
unsigned{
JTT_LEFT}),
"not a single bit");
602 static_assert(has_single_bit(
unsigned{
JTT_RIGHT}),
"not a single bit");
657 :
super(pos, tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
672 :
super(pos, tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
701 Item *sample_percentage)
716 obj->
add_alias(
"olap_options", create_dom_ptr<Json_string>(
"ROLLUP"));
732 int num_grouping_sets);
846 if (locking_clause->contextualize(pc))
return true;
943 const POS &expr_pos,
Item *opt_expr)
1023 const POS &error_pos)
1062 const char *password_arg,
1063 const char *current_password_arg,
1064 bool retain_current,
1065 bool random_password,
1066 const POS &expr_pos_arg)
1090 const POS &pos,
LEX_USER *user_arg,
const char *password_arg,
1091 const char *current_password_arg,
bool retain_current,
bool random_pass,
1092 const POS &expr_pos_arg)
1128 const POS &value_pos_arg)
1145 const POS &tail_pos)
1146 :
super(pos, delimiter_pos_arg, tail, tail_pos),
head(head_arg) {}
1165 const POS &head_pos_arg,
1191 :
super(pos,
"transaction_read_only", (
int32)is_read_only) {}
1199 :
super(pos,
"transaction_isolation", (
int32)level) {}
1230 const POS &end_pos_arg)
1275 const POS &characteristics_pos_arg)
1411 :
super(pos, name_arg) {}
1540 m_from(from_to->m_borders[0]),
1541 m_to(from_to->m_borders[1]),
1573 Item *opt_where_clause_arg,
PT_group *opt_group_clause_arg,
1575 Item *opt_qualify_clause_arg,
bool implicit_from_clause)
1588 assert(implicit_from_clause ?
from_clause.empty() :
true);
1595 Item *opt_where_clause_arg)
1682 :
super(pos, options_arg, item_list_arg, from_clause_arg,
nullptr) {}
1734 if (
m_limit !=
nullptr && !order && limit) {
1757 if (
m_order !=
nullptr &&
m_limit ==
nullptr && !order && limit) {
1851 qe(query_expression),
1866 bool is_rhs_in_parentheses =
false)
1881 return body.has_into_clause();
1886 m_list[
m_list.elements - 1]->has_trailing_into_clause();
1969 bool has_trailing_locking_clauses =
false)
2011 PT_hint_list *opt_hints_arg,
int opt_delete_options_arg,
2015 PT_order *opt_order_clause_arg,
Item *opt_delete_limit_clause_arg)
2032 PT_hint_list *opt_hints_arg,
int opt_delete_options_arg,
2035 Item *opt_where_clause_arg)
2082 bool opt_ignore_arg,
2085 Item *opt_where_clause_arg,
PT_order *opt_order_clause_arg,
2086 Item *opt_limit_clause_arg)
2248 for (
size_t pos = 0; pos <
length; pos++) {
2249 if (std::iscntrl(
str[pos]))
return true;
2436template <
typename Option_type, Option_type KEY_CREATE_INFO::*Property>
2653 uint64_t Property_flag>
2671#define TYPE_AND_REF(x) decltype(x), &x
2859template <u
long Property_flag, table_options_t Yes, table_options_t No>
3048 assert(
value !=
nullptr);
3063 assert(
value !=
nullptr);
3077 ulong ignore_lines_arg)
3122 return files.push_back(file_attributes);
3307 const POS &columns_end_pos =
POS())
3834 m_all(opt_engine.str ==
nullptr) {}
3930 Item *opt_where =
nullptr)
3956 sql_cmd(opt_for_user, opt_using_users) {
3957 assert(opt_using_users ==
nullptr || opt_for_user !=
nullptr);
4336 const char *opt_place)
4361 if (column->contextualize(pc))
return true;
4393 const char *opt_place)
4402 const char *opt_place)
4477 :
super(pos, alter_info_flag),
4507 is_enforced ?
Alter_info::ENFORCE_CHECK_CONSTRAINT
4509 name, is_enforced) {}
4534 Item *opt_default_expr)
4537 m_expr(opt_default_expr) {}
4697 :
super(pos, alter_info_flag) {}
4740 const POS &pos,
bool no_write_to_binlog,
4762 :
super(pos, no_write_to_binlog) {
4817 :
super(pos,
Alter_info::ALTER_REBUILD_PARTITION, opt_partition_list),
4878 uint
flags, uint sql_flags)
4902 uint
flags, uint sql_flags)
4954 opt_partition_list) {}
4970 bool no_write_to_binlog)
4991 const POS &pos,
bool no_write_to_binlog,
5101 :
super(pos,
Alter_info::ALTER_DISCARD_TABLESPACE, opt_partition_list) {}
5115 :
super(pos,
Alter_info::ALTER_IMPORT_TABLESPACE, opt_partition_list) {}
5205 bool no_write_to_binlog,
5227 bool no_write_to_binlog,
5275 bool no_write_to_binlog,
5503 bool show_parse_tree =
false);
5509template <
typename Option_type, Option_type Tablespace_options::*Option>
5597 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"COMMENT");
5624 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"STORAGE ENGINE");
5651 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"FILE_BLOCK_SIZE");
5677 opt_priority.is_default ? 0 : opt_priority.
value,
enabled),
5697 opt_priority.is_default ? 0 : opt_priority.
value,
5698 enable.is_default ? false : enable.
value, force,
5699 !enable.is_default) {}
5749 std::optional<std::string_view> explain_into_variable_name,
5778 String *opt_xml_rows_identified_by,
5784 ulonglong memory_size,
bool is_bulk_operation)
5786 m_cmd(filetype, is_local_file, source_type,
filename, file_count,
5787 in_key_order, on_duplicate,
table, opt_partitions, opt_charset,
5788 compression_algorithm, opt_xml_rows_identified_by,
5790 opt_fields_or_vars ? &opt_fields_or_vars->
value :
nullptr,
5793 opt_set_expr_strings, parallel, memory_size, is_bulk_operation),
5795 assert((opt_set_fields ==
nullptr) ^ (opt_set_exprs !=
nullptr));
5796 assert(opt_set_fields ==
nullptr ||
5797 opt_set_fields->
value.size() == opt_set_exprs->
value.size());
5815 m_cmd(thd, if_not_exists, lib_name,
comment, language, lib_source,
5855 :
super(pos),
m_library(lib_name->m_db, lib_name->m_name, alias) {}
5870 if (lib ==
nullptr)
return true;
5919 if (
name ==
nullptr)
return true;
5985template <
class To, PT_set_operation::Setop_type Tag>
5987 return (from->
type() == Tag &&
5988 down_cast<PT_set_operation *>(from)->is_distinct() == is_distinct &&
5990 ?
static_cast<To *
>(from)
6015template <
class Class, PT_set_operation::Setop_type Tag>
6020 bool is_right_in_parentheses) {
6021 if (
left ==
nullptr ||
right ==
nullptr)
return nullptr;
6022 Class *left_setop = setop_cast<Class, Tag>(
left, is_distinct);
6023 Class *right_setop [[maybe_unused]] =
6024 setop_cast<Class, Tag>(
right, is_distinct);
6025 assert(right_setop ==
nullptr);
6026 if (left_setop !=
nullptr) {
6028 left_setop->m_list.push_back(
right);
6029 left_setop->set_is_rhs_in_parentheses(is_right_in_parentheses);
6034 Class(pos,
left, is_distinct,
right, is_right_in_parentheses);
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:247
bool check_stack_overrun(const THD *thd, long margin, unsigned char *buf)
Check stack for a overrun.
Definition: check_stack.cc:110
Class representing SET DEFAULT, DROP DEFAULT, RENAME COLUMN, SET VISIBLE and SET INVISIBLE clause in ...
Definition: sql_alter.h:82
Class representing ALTER CHECK and ALTER CONSTRAINT clauses in ALTER TABLE statement.
Definition: sql_alter.h:184
Type
Definition: sql_alter.h:186
Class representing DROP COLUMN, DROP KEY, DROP FOREIGN KEY, DROP CHECK CONSTRAINT and DROP CONSTRAINT...
Definition: sql_alter.h:65
drop_type
Definition: sql_alter.h:67
An ALTER INDEX operation that changes the visibility of an index.
Definition: sql_alter.h:148
Data describing the table being created by CREATE TABLE or altered by ALTER TABLE.
Definition: sql_alter.h:205
enum_alter_table_algorithm
The different values of the ALGORITHM clause.
Definition: sql_alter.h:358
enum_alter_table_lock
The different values of the LOCK clause.
Definition: sql_alter.h:376
Mem_root_array< const Alter_drop * > drop_list
Columns, keys and constraints to be dropped.
Definition: sql_alter.h:408
Mem_root_array< const Alter_constraint_enforcement * > alter_constraint_enforcement_list
List of check constraints whose enforcement state is changed.
Definition: sql_alter.h:422
List< String > partition_names
Definition: sql_alter.h:436
enum_with_validation
Status of validation clause in ALTER TABLE statement.
Definition: sql_alter.h:394
enum_with_validation guided_load
Whether SECONDARY_LOAD should do guided load.
Definition: sql_alter.h:450
@ ENABLE
Definition: sql_alter.h:352
@ DISABLE
Definition: sql_alter.h:352
Mem_root_array< const Alter_column * > alter_list
Definition: sql_alter.h:410
enum_enable_or_disable keys_onoff
Definition: sql_alter.h:434
ulonglong flags
Definition: sql_alter.h:432
Mem_root_array< const Alter_rename_key * > alter_rename_key_list
Definition: sql_alter.h:415
bool validation_only
SECONDARY_LOAD should only validate not load table.
Definition: sql_alter.h:453
Alter_info_flag
Definition: sql_alter.h:216
@ ALTER_ADD_PARTITION
Set for ADD PARTITION.
Definition: sql_alter.h:255
@ ALTER_REORGANIZE_PARTITION
Set for REORGANIZE PARTITION ... INTO.
Definition: sql_alter.h:264
@ ALTER_ALL_PARTITION
Set for partitioning operations specifying ALL keyword.
Definition: sql_alter.h:280
@ ALTER_OPTIONS
Set for table_options.
Definition: sql_alter.h:241
Mem_root_array< const Alter_index_visibility * > alter_index_visibility_list
Indexes whose visibilities are to be changed.
Definition: sql_alter.h:418
uint64_t validate_num_rows
Number of rows to be validated by SECONDARY_LOAD.
Definition: sql_alter.h:455
Class which instances represent RENAME INDEX clauses in ALTER TABLE statement.
Definition: sql_alter.h:170
After parsing, a Common Table Expression is accessed through a Table_ref.
Definition: table.h:4605
Helper for the sql_exchange class.
Definition: sql_exchange.h:84
void merge_field_separators(const Field_separators *field_sep)
Definition: sql_exchange.h:98
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:928
virtual longlong val_int()=0
Represents a JSON container value of type "object" (ECMA), type J_OBJECT here.
Definition: json_dom.h:373
bool add_alias(std::string_view key, Json_dom *value)
Insert the value into the object.
Definition: json_dom.h:415
Column description for JSON_TABLE function.
Definition: table_function.h:249
Definition: key_spec.h:67
bool is_algorithm_explicit
A flag which indicates that index algorithm was explicitly specified by user.
Definition: key_spec.h:74
enum ha_key_alg algorithm
Definition: key_spec.h:69
Helper for the sql_exchange class.
Definition: sql_exchange.h:65
void merge_line_separators(const Line_separators *line_sep)
Definition: sql_exchange.h:70
Definition: sql_list.h:494
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:62
size_t size() const
Definition: mem_root_array.h:413
void init_empty_const()
Initialize empty array that we aren't going to grow.
Definition: mem_root_array.h:85
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:432
bool deferred_hints_flag
Definition: opt_hints.h:357
PT_hint_list * deferred_hints
Definition: opt_hints.h:356
Definition: parse_tree_nodes.h:5339
List< String > * m_opt_partitions
Definition: parse_tree_nodes.h:5349
Table_ddl_node super
Definition: parse_tree_nodes.h:5340
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3901
PT_adm_partition(const POS &pos, List< String > *opt_partitions)
Definition: parse_tree_nodes.h:5343
Top-level node for the ALTER INSTANCE statement.
Definition: parse_tree_nodes.h:2293
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5140
PT_alter_instance(const POS &pos, enum alter_instance_action_enum alter_instance_action, const LEX_CSTRING &channel)
Definition: parse_tree_nodes.h:2297
Sql_cmd_alter_instance sql_cmd
Definition: parse_tree_nodes.h:2294
Definition: parse_tree_nodes.h:5824
Sql_cmd * make_cmd(THD *) override
Definition: parse_tree_nodes.h:5830
Sql_cmd_alter_library m_cmd
Definition: parse_tree_nodes.h:5833
PT_alter_library_stmt(const POS &pos, THD *thd, sp_name *name, LEX_STRING comment)
Definition: parse_tree_nodes.h:5826
Parse tree node for ALTER RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5687
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5453
PT_alter_resource_group(const POS &pos, const LEX_CSTRING &name, const Mem_root_array< resourcegroups::Range > *cpu_list, const Value_or_default< int > &opt_priority, const Value_or_default< bool > &enable, bool force)
Definition: parse_tree_nodes.h:5691
resourcegroups::Sql_cmd_alter_resource_group sql_cmd
Definition: parse_tree_nodes.h:5688
Definition: parse_tree_nodes.h:4301
PT_ddl_table_option super
Definition: parse_tree_nodes.h:4302
bool is_add_or_reorganize_partition() const
A routine used by the parser to decide whether we are specifying a full partitioning or if only parti...
Definition: parse_tree_nodes.h:4320
const Alter_info::Alter_info_flag flag
Definition: parse_tree_nodes.h:4326
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5267
PT_alter_table_action(const POS &pos, Alter_info::Alter_info_flag flag)
Definition: parse_tree_nodes.h:4305
Definition: parse_tree_nodes.h:4329
PT_alter_table_action super
Definition: parse_tree_nodes.h:4330
PT_column_def m_column_def
Definition: parse_tree_nodes.h:4346
PT_alter_table_add_column(const POS &pos, const LEX_STRING &field_ident, PT_field_def_base *field_def, PT_table_constraint_def *opt_column_constraint, const char *opt_place)
Definition: parse_tree_nodes.h:4333
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4341
Definition: parse_tree_nodes.h:4349
const Mem_root_array< PT_table_element * > * m_columns
Definition: parse_tree_nodes.h:4367
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4357
PT_alter_table_action super
Definition: parse_tree_nodes.h:4350
PT_alter_table_add_columns(const POS &pos, const Mem_root_array< PT_table_element * > *columns)
Definition: parse_tree_nodes.h:4353
Definition: parse_tree_nodes.h:4370
PT_alter_table_action super
Definition: parse_tree_nodes.h:4371
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4378
PT_table_constraint_def * m_constraint
Definition: parse_tree_nodes.h:4383
PT_alter_table_add_constraint(const POS &pos, PT_table_constraint_def *constraint)
Definition: parse_tree_nodes.h:4374
Node for the ALTER TABLE ADD PARTITION (<partition list>) statement.
Definition: parse_tree_nodes.h:4735
PT_alter_table_add_partition super
Definition: parse_tree_nodes.h:4736
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3640
const Mem_root_array< PT_part_definition * > * m_def_list
Definition: parse_tree_nodes.h:4747
PT_alter_table_add_partition_def_list(const POS &pos, bool no_write_to_binlog, const Mem_root_array< PT_part_definition * > *def_list)
Definition: parse_tree_nodes.h:4739
Node for the ALTER TABLE ADD PARTITION PARTITIONS (<n>@) statement.
Definition: parse_tree_nodes.h:4756
PT_alter_table_add_partition_num(const POS &pos, bool no_write_to_binlog, uint num_parts)
Definition: parse_tree_nodes.h:4760
PT_alter_table_add_partition super
Definition: parse_tree_nodes.h:4757
Node for the ALTER TABLE ADD PARTITION statement.
Definition: parse_tree_nodes.h:4708
PT_alter_table_add_partition(const POS &pos, bool no_write_to_binlog)
Definition: parse_tree_nodes.h:4712
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4726
partition_info m_part_info
Definition: parse_tree_nodes.h:4723
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) final
Definition: parse_tree_nodes.h:4718
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5321
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4709
Definition: parse_tree_nodes.h:4852
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4853
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4862
PT_alter_table_analyze_partition(const POS &pos, bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4856
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5355
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4868
Definition: parse_tree_nodes.h:4386
const LEX_STRING m_old_name
Definition: parse_tree_nodes.h:4408
PT_alter_table_change_column(const POS &pos, const LEX_STRING &old_name, const LEX_STRING &new_name, PT_field_def_base *field_def, const char *opt_place)
Definition: parse_tree_nodes.h:4390
const LEX_STRING m_new_name
Definition: parse_tree_nodes.h:4409
const char * m_opt_place
Definition: parse_tree_nodes.h:4411
PT_field_def_base * m_field_def
Definition: parse_tree_nodes.h:4410
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3552
PT_alter_table_change_column(const POS &pos, const LEX_STRING &name, PT_field_def_base *field_def, const char *opt_place)
Definition: parse_tree_nodes.h:4400
PT_alter_table_action super
Definition: parse_tree_nodes.h:4387
Definition: parse_tree_nodes.h:4872
PT_alter_table_check_partition(const POS &pos, const List< String > *opt_partition_list, uint flags, uint sql_flags)
Definition: parse_tree_nodes.h:4876
uint m_sql_flags
Definition: parse_tree_nodes.h:4892
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5362
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4885
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4873
uint m_flags
Definition: parse_tree_nodes.h:4891
Definition: parse_tree_nodes.h:4922
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4939
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4923
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4934
PT_alter_table_coalesce_partition(const POS &pos, bool no_write_to_binlog, uint num_parts)
Definition: parse_tree_nodes.h:4926
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5385
const uint m_num_parts
Definition: parse_tree_nodes.h:4940
Definition: parse_tree_nodes.h:4546
Alter_column m_alter_column
Definition: parse_tree_nodes.h:4561
PT_alter_table_action super
Definition: parse_tree_nodes.h:4547
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4555
PT_alter_table_column_visibility(const POS &pos, const char *col_name, bool is_visible)
Definition: parse_tree_nodes.h:4550
Definition: parse_tree_nodes.h:4630
PT_alter_table_action super
Definition: parse_tree_nodes.h:4631
const CHARSET_INFO *const m_charset
Definition: parse_tree_nodes.h:4643
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3608
const CHARSET_INFO *const m_collation
Definition: parse_tree_nodes.h:4644
PT_alter_table_convert_to_charset(const POS &pos, const CHARSET_INFO *charset, const CHARSET_INFO *opt_collation)
Definition: parse_tree_nodes.h:4634
Definition: parse_tree_nodes.h:5095
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5103
PT_alter_table_discard_partition_tablespace(const POS &pos, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:5099
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:5096
Definition: parse_tree_nodes.h:5123
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5130
PT_alter_table_discard_tablespace(const POS &pos)
Definition: parse_tree_nodes.h:5127
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:5124
Definition: parse_tree_nodes.h:4454
PT_alter_table_drop_check_constraint(const POS &pos, const char *name)
Definition: parse_tree_nodes.h:4456
Definition: parse_tree_nodes.h:4433
PT_alter_table_drop_column(const POS &pos, const char *name)
Definition: parse_tree_nodes.h:4435
Definition: parse_tree_nodes.h:4462
PT_alter_table_drop_constraint(const POS &pos, const char *name)
Definition: parse_tree_nodes.h:4464
Definition: parse_tree_nodes.h:4440
PT_alter_table_drop_foreign_key(const POS &pos, const char *name)
Definition: parse_tree_nodes.h:4442
Definition: parse_tree_nodes.h:4447
PT_alter_table_drop_key(const POS &pos, const char *name)
Definition: parse_tree_nodes.h:4449
Definition: parse_tree_nodes.h:4768
const List< String > m_partitions
Definition: parse_tree_nodes.h:4784
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5332
PT_alter_table_drop_partition(const POS &pos, const List< String > &partitions)
Definition: parse_tree_nodes.h:4772
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4769
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) final
Definition: parse_tree_nodes.h:4779
Definition: parse_tree_nodes.h:4414
PT_alter_table_action super
Definition: parse_tree_nodes.h:4415
PT_alter_table_drop(const POS &pos, Alter_drop::drop_type drop_type, Alter_info::Alter_info_flag alter_info_flag, const char *name)
Definition: parse_tree_nodes.h:4418
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4424
Alter_drop m_alter_drop
Definition: parse_tree_nodes.h:4430
Definition: parse_tree_nodes.h:4512
PT_alter_table_action super
Definition: parse_tree_nodes.h:4513
PT_alter_table_enable_keys(const POS &pos, bool enable)
Definition: parse_tree_nodes.h:4516
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4519
bool m_enable
Definition: parse_tree_nodes.h:4526
Definition: parse_tree_nodes.h:4500
PT_alter_table_enforce_check_constraint(const POS &pos, const char *name, bool is_enforced)
Definition: parse_tree_nodes.h:4502
Definition: parse_tree_nodes.h:4469
PT_alter_table_action super
Definition: parse_tree_nodes.h:4470
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4489
Alter_constraint_enforcement m_constraint_enforcement
Definition: parse_tree_nodes.h:4496
PT_alter_table_enforce_constraint(const POS &pos, const char *name, bool is_enforced)
Definition: parse_tree_nodes.h:4481
PT_alter_table_enforce_constraint(const POS &pos, Alter_constraint_enforcement::Type alter_type, Alter_info::Alter_info_flag alter_info_flag, const char *name, bool is_enforced)
Definition: parse_tree_nodes.h:4473
Definition: parse_tree_nodes.h:5013
PT_alter_table_exchange_partition(const POS &pos, const LEX_STRING &partition_name, Table_ident *table_name, Alter_info::enum_with_validation validation)
Definition: parse_tree_nodes.h:5017
Table_ident * m_table_name
Definition: parse_tree_nodes.h:5035
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:5036
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5028
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3675
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:5014
const LEX_STRING m_partition_name
Definition: parse_tree_nodes.h:5034
Definition: parse_tree_nodes.h:4647
PT_alter_table_force(const POS &pos)
Definition: parse_tree_nodes.h:4651
PT_alter_table_action super
Definition: parse_tree_nodes.h:4648
Definition: parse_tree_nodes.h:5109
PT_alter_table_import_partition_tablespace(const POS &pos, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:5113
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5117
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:5110
Definition: parse_tree_nodes.h:5136
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:5137
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5143
PT_alter_table_import_tablespace(const POS &pos)
Definition: parse_tree_nodes.h:5140
Definition: parse_tree_nodes.h:4564
PT_alter_table_action super
Definition: parse_tree_nodes.h:4565
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4572
Alter_index_visibility m_alter_index_visibility
Definition: parse_tree_nodes.h:4579
PT_alter_table_index_visible(const POS &pos, const char *name, bool visible)
Definition: parse_tree_nodes.h:4568
Definition: parse_tree_nodes.h:4831
PT_alter_table_optimize_partition(const POS &pos, bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4835
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4842
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4832
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4848
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5348
Definition: parse_tree_nodes.h:4655
PT_alter_table_action super
Definition: parse_tree_nodes.h:4656
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5307
PT_alter_table_order(const POS &pos, PT_order_list *order)
Definition: parse_tree_nodes.h:4659
PT_order_list *const m_order
Definition: parse_tree_nodes.h:4665
Definition: parse_tree_nodes.h:4668
PT_alter_table_action super
Definition: parse_tree_nodes.h:4669
PT_partition *const m_partition
Definition: parse_tree_nodes.h:4678
PT_alter_table_partition_by(const POS &pos, PT_partition *partition)
Definition: parse_tree_nodes.h:4672
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5313
Definition: parse_tree_nodes.h:4788
PT_alter_table_partition_list_or_all(const POS &pos, Alter_info::Alter_info_flag alter_info_flag, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4792
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4797
const List< String > * m_opt_partition_list
Definition: parse_tree_nodes.h:4807
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4789
Definition: parse_tree_nodes.h:4811
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4822
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5341
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4812
PT_alter_table_rebuild_partition(const POS &pos, bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4815
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4827
Definition: parse_tree_nodes.h:4681
PT_alter_table_action super
Definition: parse_tree_nodes.h:4682
PT_alter_table_remove_partitioning(const POS &pos)
Definition: parse_tree_nodes.h:4685
Definition: parse_tree_nodes.h:4613
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4621
PT_alter_table_action super
Definition: parse_tree_nodes.h:4614
PT_alter_table_rename_column(const POS &pos, const char *from, const char *to)
Definition: parse_tree_nodes.h:4617
Alter_column m_rename_column
Definition: parse_tree_nodes.h:4627
Definition: parse_tree_nodes.h:4597
PT_alter_table_rename_key(const POS &pos, const char *from, const char *to)
Definition: parse_tree_nodes.h:4601
Alter_rename_key m_rename_key
Definition: parse_tree_nodes.h:4610
PT_alter_table_action super
Definition: parse_tree_nodes.h:4598
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4604
Definition: parse_tree_nodes.h:4582
PT_alter_table_rename(const POS &pos, const Table_ident *ident)
Definition: parse_tree_nodes.h:4586
const Table_ident *const m_ident
Definition: parse_tree_nodes.h:4594
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3582
bool is_rename_table() const override
Definition: parse_tree_nodes.h:4591
PT_alter_table_action super
Definition: parse_tree_nodes.h:4583
Definition: parse_tree_nodes.h:4986
const Mem_root_array< PT_part_definition * > * m_into
Definition: parse_tree_nodes.h:5008
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3654
partition_info m_partition_info
Definition: parse_tree_nodes.h:5009
PT_alter_table_reorganize_partition_into(const POS &pos, bool no_write_to_binlog, const List< String > &partition_names, const Mem_root_array< PT_part_definition * > *into)
Definition: parse_tree_nodes.h:4990
const List< String > m_partition_names
Definition: parse_tree_nodes.h:5007
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4987
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:5006
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5001
Definition: parse_tree_nodes.h:4965
partition_info m_partition_info
Definition: parse_tree_nodes.h:4982
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4976
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4981
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4966
PT_alter_table_reorganize_partition(const POS &pos, bool no_write_to_binlog)
Definition: parse_tree_nodes.h:4969
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5400
Definition: parse_tree_nodes.h:4896
uint m_flags
Definition: parse_tree_nodes.h:4917
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4897
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4916
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5372
uint m_sql_flags
Definition: parse_tree_nodes.h:4918
PT_alter_table_repair_partition(const POS &pos, bool no_write_to_binlog, const List< String > *opt_partition_list, uint flags, uint sql_flags)
Definition: parse_tree_nodes.h:4900
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4910
Definition: parse_tree_nodes.h:5040
const Alter_info::enum_with_validation m_guided
Definition: parse_tree_nodes.h:5045
Item_num * m_validation_rows
Definition: parse_tree_nodes.h:5044
PT_alter_table_secondary_load(const POS &pos, Item_num *validation_only_rows, Alter_info::enum_with_validation guided, const List< String > *opt_use_partition=nullptr)
Definition: parse_tree_nodes.h:5048
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5057
const List< String > * opt_use_partition
Definition: parse_tree_nodes.h:5043
Definition: parse_tree_nodes.h:5075
PT_alter_table_secondary_unload(const POS &pos, const List< String > *opt_use_partition=nullptr)
Definition: parse_tree_nodes.h:5081
const List< String > * opt_use_partition
Definition: parse_tree_nodes.h:5078
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:5086
Definition: parse_tree_nodes.h:4529
Item * m_expr
Definition: parse_tree_nodes.h:4543
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5273
const char * m_name
Definition: parse_tree_nodes.h:4542
PT_alter_table_action super
Definition: parse_tree_nodes.h:4530
PT_alter_table_set_default(const POS &pos, const char *col_name, Item *opt_default_expr)
Definition: parse_tree_nodes.h:4533
Definition: parse_tree_nodes.h:4689
PT_alter_table_action super
Definition: parse_tree_nodes.h:4690
PT_alter_table_standalone_action(const POS &pos, Alter_info::Alter_info_flag alter_info_flag)
Definition: parse_tree_nodes.h:4695
virtual Sql_cmd * make_cmd(Table_ddl_parse_context *pc)=0
Definition: parse_tree_nodes.h:5175
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3770
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:5195
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:5196
PT_alter_table_standalone_stmt(const POS &pos, MEM_ROOT *mem_root, Table_ident *table_name, PT_alter_table_standalone_action *action, Alter_info::enum_alter_table_algorithm algo, Alter_info::enum_alter_table_lock lock, Alter_info::enum_with_validation validation)
Definition: parse_tree_nodes.h:5177
Table_ident *const m_table_name
Definition: parse_tree_nodes.h:5193
PT_alter_table_standalone_action *const m_action
Definition: parse_tree_nodes.h:5194
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:5197
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:5199
Definition: parse_tree_nodes.h:5148
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:5169
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:5170
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3732
Mem_root_array< PT_ddl_table_option * > *const m_opt_actions
Definition: parse_tree_nodes.h:5167
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:5172
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:5168
Table_ident *const m_table_name
Definition: parse_tree_nodes.h:5166
PT_alter_table_stmt(const POS &pos, MEM_ROOT *mem_root, Table_ident *table_name, Mem_root_array< PT_ddl_table_option * > *opt_actions, Alter_info::enum_alter_table_algorithm algo, Alter_info::enum_alter_table_lock lock, Alter_info::enum_with_validation validation)
Definition: parse_tree_nodes.h:5150
Definition: parse_tree_nodes.h:4944
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4945
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5394
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4958
PT_alter_table_truncate_partition(const POS &pos, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4948
Definition: parse_tree_nodes.h:5610
PT_alter_tablespace_option_engine(const POS &pos, option_type engine_name)
Definition: parse_tree_nodes.h:5615
bool do_contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:5619
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5611
decltype(Tablespace_options::engine_name) option_type
Definition: parse_tree_nodes.h:5612
const option_type m_engine_name
Definition: parse_tree_nodes.h:5632
Definition: parse_tree_nodes.h:5637
PT_alter_tablespace_option_file_block_size(const POS &pos, option_type file_block_size)
Definition: parse_tree_nodes.h:5642
const option_type m_file_block_size
Definition: parse_tree_nodes.h:5659
bool do_contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:5646
decltype(Tablespace_options::file_block_size) option_type
Definition: parse_tree_nodes.h:5639
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5638
Definition: parse_tree_nodes.h:5566
const option_type m_nodegroup_id
Definition: parse_tree_nodes.h:5578
PT_alter_tablespace_option_nodegroup(const POS &pos, option_type nodegroup_id)
Definition: parse_tree_nodes.h:5571
bool do_contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.cc:5422
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5567
decltype(Tablespace_options::nodegroup_id) option_type
Definition: parse_tree_nodes.h:5568
Definition: parse_tree_nodes.h:5512
const Option_type m_value
Definition: parse_tree_nodes.h:5525
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5513
bool do_contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:5519
PT_alter_tablespace_option(const POS &pos, Option_type value)
Definition: parse_tree_nodes.h:5516
Definition: parse_tree_nodes.h:3500
Sql_cmd_alter_user_default_role sql_cmd
Definition: parse_tree_nodes.h:3501
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5228
PT_alter_user_default_role(const POS &pos, bool if_exists, const List< LEX_USER > *users, const List< LEX_USER > *roles, const role_enum role_type)
Definition: parse_tree_nodes.h:3504
Definition: parse_tree_nodes.h:5224
const Sql_cmd_analyze_table::Histogram_command m_command
Definition: parse_tree_nodes.h:5246
PT_analyze_table_stmt(const POS &pos, MEM_ROOT *mem_root, bool no_write_to_binlog, Mem_root_array< Table_ident * > *table_list, Sql_cmd_analyze_table::Histogram_command command, int num_buckets, List< String > *columns, LEX_STRING data, bool auto_update)
Definition: parse_tree_nodes.h:5226
const int m_num_buckets
Definition: parse_tree_nodes.h:5247
const LEX_STRING m_data
Definition: parse_tree_nodes.h:5249
const bool m_auto_update
Definition: parse_tree_nodes.h:5250
const Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:5245
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3803
List< String > * m_columns
Definition: parse_tree_nodes.h:5248
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:5244
Definition: parse_tree_nodes.h:5324
List< Index_hint > * m_index_hints
Definition: parse_tree_nodes.h:5336
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3892
Table_ddl_node super
Definition: parse_tree_nodes.h:5325
PT_assign_to_keycache(const POS &pos, Table_ident *table, List< Index_hint > *index_hints)
Definition: parse_tree_nodes.h:5328
Table_ident * m_table
Definition: parse_tree_nodes.h:5335
A template-free base class for index options that we can predeclare in sql_lex.h.
Definition: parse_tree_nodes.h:2309
PT_base_index_option(const POS &pos)
Definition: parse_tree_nodes.h:2311
A template for options that set HA_CREATE_INFO::table_options and also records if the option was expl...
Definition: parse_tree_nodes.h:2860
PT_create_table_option super
Definition: parse_tree_nodes.h:2861
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2869
const bool value
Definition: parse_tree_nodes.h:2863
PT_bool_create_table_option(const POS &pos, bool value)
Definition: parse_tree_nodes.h:2866
Parse tree node for a single of a window extent's borders, cf.
Definition: parse_tree_nodes.h:1436
Item * build_addop(Item_cache *order_expr, bool prec, bool asc, const Window *window)
Definition: parse_tree_nodes.cc:3977
PT_border(const POS &pos, enum_window_border_type type, Item *value)
For bounded INTERVAL 2 DAYS, 'value' is 2, int_type is DAYS.
Definition: parse_tree_nodes.h:1451
PT_border(const POS &pos, enum_window_border_type type)
< For unbounded border
Definition: parse_tree_nodes.h:1445
Item * m_value
only relevant iff m_border_type == WBT_VALUE_*
Definition: parse_tree_nodes.h:1438
Item ** border_ptr()
Need such low-level access so that fix_fields updates the right pointer.
Definition: parse_tree_nodes.h:1469
interval_type m_int_type
Definition: parse_tree_nodes.h:1442
PT_border(const POS &pos, enum_window_border_type type, Item *value, interval_type int_type)
Definition: parse_tree_nodes.h:1458
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_window.cc:68
enum_window_border_type m_border_type
Definition: parse_tree_nodes.h:1440
const bool m_date_time
Definition: parse_tree_nodes.h:1441
Item * border() const
Definition: parse_tree_nodes.h:1467
Parse tree node for one or both of a window extent's borders, cf.
Definition: parse_tree_nodes.h:1488
PT_borders(const POS &pos, PT_border *start, PT_border *end)
Constructor.
Definition: parse_tree_nodes.h:1500
PT_border * m_borders[2]
Definition: parse_tree_nodes.h:1489
Definition: parse_tree_nodes.h:5368
List< Index_hint > * m_opt_key_usage_list
Definition: parse_tree_nodes.h:5386
PT_cache_index_partitions_stmt(const POS &pos, MEM_ROOT *mem_root, Table_ident *table, PT_adm_partition *partitions, List< Index_hint > *opt_key_usage_list, LEX_CSTRING key_cache_name)
Definition: parse_tree_nodes.h:5370
Table_ident * m_table
Definition: parse_tree_nodes.h:5384
PT_adm_partition * m_partitions
Definition: parse_tree_nodes.h:5385
const LEX_CSTRING m_key_cache_name
Definition: parse_tree_nodes.h:5387
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3926
Definition: parse_tree_nodes.h:5352
const LEX_CSTRING m_key_cache_name
Definition: parse_tree_nodes.h:5365
Mem_root_array< PT_assign_to_keycache * > * m_tbl_index_lists
Definition: parse_tree_nodes.h:5364
PT_cache_index_stmt(const POS &pos, MEM_ROOT *mem_root, Mem_root_array< PT_assign_to_keycache * > *tbl_index_lists, LEX_CSTRING key_cache_name)
Definition: parse_tree_nodes.h:5354
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3912
Definition: parse_tree_nodes.h:2190
PT_item_list * opt_expr_list
Definition: parse_tree_nodes.h:2192
sp_name * proc_name
Definition: parse_tree_nodes.h:2191
PT_call(const POS &pos, sp_name *proc_name_arg, PT_item_list *opt_expr_list_arg)
Definition: parse_tree_nodes.h:2195
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1514
Definition: parse_tree_nodes.h:3219
PT_table_constraint_def super
Definition: parse_tree_nodes.h:3220
PT_check_constraint(const POS &pos, LEX_STRING &name, Item *expr, bool is_enforced)
Definition: parse_tree_nodes.h:3224
Sql_check_constraint_spec cc_spec
Definition: parse_tree_nodes.h:3221
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5145
Definition: parse_tree_nodes.h:5253
PT_check_table_stmt(const POS &pos, MEM_ROOT *mem_root, Mem_root_array< Table_ident * > *table_list, decltype(HA_CHECK_OPT::flags) flags, decltype(HA_CHECK_OPT::sql_flags) sql_flags)
Definition: parse_tree_nodes.h:5255
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:5267
decltype(HA_CHECK_OPT::flags) m_flags
Definition: parse_tree_nodes.h:5268
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3825
decltype(HA_CHECK_OPT::sql_flags) m_sql_flags
Definition: parse_tree_nodes.h:5269
Base class for all column attributes in CREATE/ALTER TABLE
Definition: parse_tree_column_attrs.h:85
Definition: parse_tree_nodes.h:3235
PT_table_element super
Definition: parse_tree_nodes.h:3236
PT_column_def(const POS &pos, const LEX_STRING &field_ident, PT_field_def_base *field_def, PT_table_constraint_def *opt_column_constraint, const char *opt_place=nullptr)
Definition: parse_tree_nodes.h:3245
const LEX_STRING field_ident
Definition: parse_tree_nodes.h:3238
PT_field_def_base * field_def
Definition: parse_tree_nodes.h:3239
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2713
const char * opt_place
Definition: parse_tree_nodes.h:3242
PT_table_constraint_def * opt_column_constraint
Definition: parse_tree_nodes.h:3240
Represents an element of the WITH list: WITH [...], [...] SELECT ..., ^ or ^ i.e.
Definition: parse_tree_nodes.h:275
const LEX_STRING m_subq_text
Raw text of query expression (including parentheses)
Definition: parse_tree_nodes.h:315
const Create_col_name_list m_column_names
List of explicitly specified column names; if empty, no list.
Definition: parse_tree_nodes.h:324
Parse_tree_node super
Definition: parse_tree_nodes.h:276
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:2382
bool is(const Common_table_expr *other) const
Definition: parse_tree_nodes.h:303
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2373
PT_subquery *const m_subq_node
Parsed version of subq_text.
Definition: parse_tree_nodes.h:322
PT_common_table_expr(const POS &pos, const LEX_STRING &name, const LEX_STRING &subq_text, uint subq_text_offset, PT_subquery *sn, const Create_col_name_list *column_names, MEM_ROOT *mem_root)
Definition: parse_tree_nodes.cc:2355
uint m_subq_text_offset
Offset in bytes of m_subq_text in original statement which had the WITH clause.
Definition: parse_tree_nodes.h:320
void print(const THD *thd, String *str, enum_query_type query_type)
Definition: parse_tree_nodes.cc:2424
const LEX_STRING & name() const
The name after AS.
Definition: parse_tree_nodes.h:286
Common_table_expr m_postparse
A Table_ref representing a CTE needs access to the WITH list element it derives from.
Definition: parse_tree_nodes.h:334
LEX_STRING m_name
Definition: parse_tree_nodes.h:313
Node for the AUTO_REFRESH_SOURCE [=] <string>|NULL table option.
Definition: parse_tree_nodes.h:3204
PT_create_auto_refresh_event_source(const POS &pos)
Definition: parse_tree_nodes.h:3208
PT_create_auto_refresh_event_source(const POS &pos, const LEX_CSTRING &auto_refresh_source)
Definition: parse_tree_nodes.h:3209
const LEX_CSTRING m_auto_refresh_source
Definition: parse_tree_nodes.h:3216
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2635
Definition: parse_tree_nodes.h:3092
PT_create_table_option super
Definition: parse_tree_nodes.h:3093
PT_create_external_files(const POS &pos, PT_external_file_list *external_files_arg)
Definition: parse_tree_nodes.h:3096
PT_external_file_list * external_files
Definition: parse_tree_nodes.h:3102
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2616
Definition: parse_tree_nodes.h:2494
PT_create_index_stmt(const POS &pos, MEM_ROOT *mem_root, keytype type_par, const LEX_STRING &name_arg, PT_base_index_option *type, Table_ident *table_ident, List< PT_key_part_specification > *cols, Index_options options, Alter_info::enum_alter_table_algorithm algo, Alter_info::enum_alter_table_lock lock)
Definition: parse_tree_nodes.h:2496
keytype m_keytype
Definition: parse_tree_nodes.h:2516
Index_options m_options
Definition: parse_tree_nodes.h:2521
Table_ident * m_table_ident
Definition: parse_tree_nodes.h:2519
LEX_STRING m_name
Definition: parse_tree_nodes.h:2517
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:2522
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2520
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:2523
PT_base_index_option * m_type
Definition: parse_tree_nodes.h:2518
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2179
Definition: parse_tree_nodes.h:5808
PT_create_library_stmt(const POS &pos, THD *thd, bool if_not_exists, sp_name *lib_name, LEX_CSTRING comment, LEX_CSTRING language, LEX_STRING lib_source, bool is_binary)
Definition: parse_tree_nodes.h:5810
Sql_cmd * make_cmd(THD *) override
Definition: parse_tree_nodes.h:5818
Sql_cmd_create_library m_cmd
Definition: parse_tree_nodes.h:5821
Parse tree node for CREATE RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5666
resourcegroups::Sql_cmd_create_resource_group sql_cmd
Definition: parse_tree_nodes.h:5667
PT_create_resource_group(const POS &pos, const LEX_CSTRING &name, const resourcegroups::Type type, const Mem_root_array< resourcegroups::Range > *cpu_list, const Value_or_default< int > &opt_priority, bool enabled)
Definition: parse_tree_nodes.h:5671
const bool has_priority
Definition: parse_tree_nodes.h:5668
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5434
Definition: parse_tree_nodes.h:3346
PT_create_role(const POS &pos, bool if_not_exists, const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:3350
Sql_cmd_create_role sql_cmd
Definition: parse_tree_nodes.h:3347
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5157
Top-level node for the CREATE [OR REPLACE] SPATIAL REFERENCE SYSTEM statement.
Definition: parse_tree_nodes.h:2221
bool contains_control_char(char *str, size_t length)
Check if a UTF-8 string contains control characters.
Definition: parse_tree_nodes.h:2247
PT_create_srs(const POS &pos, unsigned long long srid, const Sql_cmd_srs_attributes &attributes, bool or_replace, bool if_not_exists)
Definition: parse_tree_nodes.h:2255
const Sql_cmd_srs_attributes m_attributes
All attributes except SRID.
Definition: parse_tree_nodes.h:2234
unsigned long long m_srid
SRID of the SRS to create.
Definition: parse_tree_nodes.h:2232
bool m_or_replace
Whether OR REPLACE is specified.
Definition: parse_tree_nodes.h:2225
Sql_cmd_create_srs sql_cmd
The SQL command object.
Definition: parse_tree_nodes.h:2223
bool m_if_not_exists
Whether IF NOT EXISTS is specified.
Definition: parse_tree_nodes.h:2227
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4988
Node for the STATS_AUTO_RECALC [=] <0|1|DEFAULT>) table option.
Definition: parse_tree_nodes.h:2958
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2498
const Ternary_option value
Definition: parse_tree_nodes.h:2961
PT_create_stats_auto_recalc_option(const POS &pos, Ternary_option value)
Definition: parse_tree_nodes.h:2973
PT_create_table_option super
Definition: parse_tree_nodes.h:2959
Node for the STATS_SAMPLE_PAGES [=] <integer>|DEFAULT table option.
Definition: parse_tree_nodes.h:2984
const value_t value
Definition: parse_tree_nodes.h:2988
PT_create_stats_stable_pages(const POS &pos, value_t value)
Constructor for implicit number of pages.
Definition: parse_tree_nodes.h:2997
PT_create_table_option super
Definition: parse_tree_nodes.h:2985
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2519
decltype(HA_CREATE_INFO::stats_sample_pages) value_t
Definition: parse_tree_nodes.h:2986
PT_create_stats_stable_pages(const POS &pos)
Constructor for the DEFAULT number of pages.
Definition: parse_tree_nodes.h:3004
Definition: parse_tree_nodes.h:3023
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3032
const ha_storage_media value
Definition: parse_tree_nodes.h:3026
PT_create_storage_option(const POS &pos, ha_storage_media value)
Definition: parse_tree_nodes.h:3029
PT_create_table_option super
Definition: parse_tree_nodes.h:3024
Definition: parse_tree_nodes.h:3039
const CHARSET_INFO * value
Definition: parse_tree_nodes.h:3042
PT_create_table_default_charset(const POS &pos, const CHARSET_INFO *value)
Definition: parse_tree_nodes.h:3045
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2578
PT_create_table_option super
Definition: parse_tree_nodes.h:3040
Definition: parse_tree_nodes.h:3054
PT_create_table_default_collation(const POS &pos, const CHARSET_INFO *value)
Definition: parse_tree_nodes.h:3060
const CHARSET_INFO * value
Definition: parse_tree_nodes.h:3057
PT_create_table_option super
Definition: parse_tree_nodes.h:3055
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2599
Node for the ENGINE [=] <identifier>|<string> table option.
Definition: parse_tree_nodes.h:2914
const LEX_CSTRING engine
Definition: parse_tree_nodes.h:2917
PT_create_table_engine_option(const POS &pos, const LEX_CSTRING &engine)
Definition: parse_tree_nodes.h:2924
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2462
PT_create_table_option super
Definition: parse_tree_nodes.h:2915
Base class for CREATE TABLE option nodes.
Definition: parse_tree_nodes.h:2630
PT_ddl_table_option super
Definition: parse_tree_nodes.h:2631
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2639
~PT_create_table_option() override=0
PT_create_table_option(const POS &pos)
Definition: parse_tree_nodes.h:2634
Node for the SECONDARY_ENGINE [=] <identifier>|<string>|NULL table option.
Definition: parse_tree_nodes.h:2937
PT_create_table_secondary_engine_option(const POS &pos, const LEX_CSTRING &secondary_engine)
Definition: parse_tree_nodes.h:2943
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2483
const LEX_CSTRING m_secondary_engine
Definition: parse_tree_nodes.h:2950
PT_create_table_secondary_engine_option(const POS &pos)
Definition: parse_tree_nodes.h:2941
Top-level node for the CREATE TABLE statement.
Definition: parse_tree_nodes.h:3263
On_duplicate on_duplicate
Definition: parse_tree_nodes.h:3270
PT_create_table_stmt(const POS &pos, MEM_ROOT *mem_root, uint table_type, bool only_if_not_exists, Table_ident *table_name, Table_ident *opt_like_clause)
Definition: parse_tree_nodes.h:3328
PT_partition * opt_partitioning
Definition: parse_tree_nodes.h:3269
PT_create_table_stmt(const POS &pos, MEM_ROOT *mem_root, uint table_type, bool only_if_not_exists, Table_ident *table_name, const Mem_root_array< PT_table_element * > *opt_table_element_list, const Mem_root_array< PT_create_table_option * > *opt_create_table_options, PT_partition *opt_partitioning, On_duplicate on_duplicate, PT_query_expression_body *opt_query_expression, const POS &columns_end_pos=POS())
Definition: parse_tree_nodes.h:3300
const Mem_root_array< PT_table_element * > * opt_table_element_list
Definition: parse_tree_nodes.h:3267
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2752
const Mem_root_array< PT_create_table_option * > * opt_create_table_options
Definition: parse_tree_nodes.h:3268
PT_query_expression_body * opt_query_expression
Definition: parse_tree_nodes.h:3271
bool only_if_not_exists
Definition: parse_tree_nodes.h:3265
Table_ident * table_name
Definition: parse_tree_nodes.h:3266
Table_ident * opt_like_clause
Definition: parse_tree_nodes.h:3272
unsigned int table_type
Definition: parse_tree_nodes.h:3264
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:3275
POS m_columns_end_pos
Definition: parse_tree_nodes.h:3273
Definition: parse_tree_nodes.h:3010
const Mem_root_array< Table_ident * > * tables
Definition: parse_tree_nodes.h:3013
PT_create_union_option(const POS &pos, const Mem_root_array< Table_ident * > *tables)
Definition: parse_tree_nodes.h:3016
PT_create_table_option super
Definition: parse_tree_nodes.h:3011
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2528
Definition: parse_tree_nodes.h:636
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4453
PT_joined_table super
Definition: parse_tree_nodes.h:637
PT_cross_join(const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type Type_arg, PT_table_reference *tab2_node_arg)
Definition: parse_tree_nodes.h:640
Common base class for CREATE TABLE and ALTER TABLE option nodes.
Definition: parse_tree_nodes.h:2613
PT_ddl_table_option(const POS &pos)
Definition: parse_tree_nodes.h:2615
~PT_ddl_table_option() override=0
virtual bool is_rename_table() const
Definition: parse_tree_nodes.h:2620
Top-level node for the DELETE statement.
Definition: parse_tree_nodes.h:1991
bool add_table(Parse_context *pc, Table_ident *table)
Definition: parse_tree_nodes.cc:1203
bool is_multitable() const
Definition: parse_tree_nodes.h:2052
Item * opt_where_clause
Definition: parse_tree_nodes.h:2003
Mem_root_array_YY< Table_ident * > table_list
Definition: parse_tree_nodes.h:2000
PT_delete(const POS &pos, PT_with_clause *with_clause_arg, PT_hint_list *opt_hints_arg, int opt_delete_options_arg, Table_ident *table_ident_arg, const LEX_CSTRING &opt_table_alias_arg, List< String > *opt_use_partition_arg, Item *opt_where_clause_arg, PT_order *opt_order_clause_arg, Item *opt_delete_limit_clause_arg)
Definition: parse_tree_nodes.h:2010
SQL_I_List< Table_ref > delete_tables
Definition: parse_tree_nodes.h:2006
Item * opt_delete_limit_clause
Definition: parse_tree_nodes.h:2005
Mem_root_array_YY< PT_table_reference * > join_table_list
Definition: parse_tree_nodes.h:2002
Table_ident * table_ident
Definition: parse_tree_nodes.h:1998
PT_delete(const POS &pos, PT_with_clause *with_clause_arg, PT_hint_list *opt_hints_arg, int opt_delete_options_arg, const Mem_root_array_YY< Table_ident * > &table_list_arg, const Mem_root_array_YY< PT_table_reference * > &join_table_list_arg, Item *opt_where_clause_arg)
Definition: parse_tree_nodes.h:2031
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:1995
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1218
const int opt_delete_options
Definition: parse_tree_nodes.h:1997
Parse_tree_root super
Definition: parse_tree_nodes.h:1992
PT_order * opt_order_clause
Definition: parse_tree_nodes.h:2004
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1996
const char *const opt_table_alias
Definition: parse_tree_nodes.h:1999
List< String > * opt_use_partition
Definition: parse_tree_nodes.h:2001
Definition: parse_tree_nodes.h:542
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:1758
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1713
PT_subquery * m_subquery
Definition: parse_tree_nodes.h:557
const char *const m_table_alias
Definition: parse_tree_nodes.h:558
PT_table_reference super
Definition: parse_tree_nodes.h:543
PT_derived_table(const POS &pos, bool lateral, PT_subquery *subquery, const LEX_CSTRING &table_alias, Create_col_name_list *column_names)
Definition: parse_tree_nodes.cc:1701
bool m_lateral
Definition: parse_tree_nodes.h:556
const Create_col_name_list column_names
List of explicitly specified column names; if empty, no list.
Definition: parse_tree_nodes.h:560
Definition: parse_tree_nodes.h:5287
Alter_drop m_alter_drop
Definition: parse_tree_nodes.h:5308
Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:5305
const char * m_index_name
Definition: parse_tree_nodes.h:5303
Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:5306
PT_drop_index_stmt(const POS &pos, MEM_ROOT *mem_root, const char *index_name, Table_ident *table, Alter_info::enum_alter_table_algorithm algo, Alter_info::enum_alter_table_lock lock)
Definition: parse_tree_nodes.h:5289
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3861
Table_ident * m_table
Definition: parse_tree_nodes.h:5304
Definition: parse_tree_nodes.h:5836
Sql_cmd_drop_library m_cmd
Definition: parse_tree_nodes.h:5844
PT_drop_library_stmt(const POS &pos, bool if_exists, sp_name *lib_name)
Definition: parse_tree_nodes.h:5838
Sql_cmd * make_cmd(THD *) override
Definition: parse_tree_nodes.h:5841
Parse tree node for DROP RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5708
PT_drop_resource_group(const POS &pos, const LEX_CSTRING &resource_group_name, bool force)
Definition: parse_tree_nodes.h:5712
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5467
resourcegroups::Sql_cmd_drop_resource_group sql_cmd
Definition: parse_tree_nodes.h:5709
Definition: parse_tree_nodes.h:3357
Sql_cmd_drop_role sql_cmd
Definition: parse_tree_nodes.h:3358
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5162
PT_drop_role(const POS &pos, bool ignore_errors, const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:3361
Top-level node for the DROP SPATIAL REFERENCE SYSTEM statement.
Definition: parse_tree_nodes.h:2272
Sql_cmd_drop_srs sql_cmd
The SQL command object.
Definition: parse_tree_nodes.h:2274
PT_drop_srs(const POS &pos, unsigned long long srid, bool if_exists)
Definition: parse_tree_nodes.h:2282
unsigned long long m_srid
SRID of the SRS to drop.
Definition: parse_tree_nodes.h:2279
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5124
Definition: parse_tree_nodes.h:3460
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:5198
LEX_STRING ident
Definition: parse_tree_nodes.h:3461
PT_dynamic_privilege(const POS &pos, const POS &errpos, const LEX_STRING &ident)
Definition: parse_tree_nodes.h:3464
Definition: parse_tree_nodes.h:1921
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1927
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2119
PT_set_operation(const POS &pos, PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1864
Parse tree node for a window frame's exclusions, cf.
Definition: parse_tree_nodes.h:1511
enum_window_frame_exclusion m_exclusion
Definition: parse_tree_nodes.h:1512
PT_exclusion(const POS &pos, enum_window_frame_exclusion e)
Definition: parse_tree_nodes.h:1515
Definition: parse_tree_nodes.h:5734
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4117
PT_explain_for_connection(const POS &pos, my_thread_id thread_id)
Definition: parse_tree_nodes.h:5736
Sql_cmd_explain_other_thread m_cmd
Definition: parse_tree_nodes.h:5742
Definition: parse_tree_nodes.h:5745
PT_explain(const POS &pos, Explain_format_type format, bool is_analyze, bool is_explicit_format, Parse_tree_root *explainable_stmt, std::optional< std::string_view > explain_into_variable_name, LEX_CSTRING schema_name_for_explain)
Definition: parse_tree_nodes.h:5747
const bool m_analyze
Definition: parse_tree_nodes.h:5763
LEX_CSTRING m_schema_name_for_explain
Definition: parse_tree_nodes.h:5767
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4136
const bool m_explicit_format
Definition: parse_tree_nodes.h:5764
std::optional< std::string_view > m_explain_into_variable_name
Definition: parse_tree_nodes.h:5766
Parse_tree_root *const m_explainable_stmt
Definition: parse_tree_nodes.h:5765
const Explain_format_type m_format
Definition: parse_tree_nodes.h:5762
Definition: parse_tree_nodes.h:1674
PT_explicit_table(const POS &pos, const Query_options &options_arg, PT_item_list *item_list_arg, const Mem_root_array_YY< PT_table_reference * > &from_clause_arg)
Definition: parse_tree_nodes.h:1678
Definition: parse_tree_nodes.h:3117
PT_external_file_list(THD *thd)
Definition: parse_tree_nodes.h:3119
bool push_back(PT_file_attributes *file_attributes)
Definition: parse_tree_nodes.h:3121
mem_root_deque< PT_file_attributes * > files
Definition: parse_tree_nodes.h:3125
Base class for both generated and regular column definitions.
Definition: parse_tree_column_attrs.h:993
Definition: parse_tree_nodes.h:3105
const String * prefix
Definition: parse_tree_nodes.h:3112
Ternary_option strict_load
Definition: parse_tree_nodes.h:3114
const String * name
Definition: parse_tree_nodes.h:3110
const String * uri
Definition: parse_tree_nodes.h:3109
Ternary_option allow_missing_files
Definition: parse_tree_nodes.h:3113
bool merge_attributes(PT_file_attributes *attr)
Definition: parse_tree_nodes.cc:2645
const String * pattern
Definition: parse_tree_nodes.h:3111
Definition: parse_tree_nodes.h:2567
List< Key_part_spec > * m_ref_list
Definition: parse_tree_nodes.h:2599
fk_option m_fk_delete_opt
Definition: parse_tree_nodes.h:2602
PT_foreign_key_definition(const POS &pos, const LEX_STRING &constraint_name, const LEX_STRING &key_name, List< PT_key_part_specification > *columns, Table_ident *referenced_table, List< Key_part_spec > *ref_list, fk_match_opt fk_match_option, fk_option fk_update_opt, fk_option fk_delete_opt)
Definition: parse_tree_nodes.h:2571
Table_ident * m_referenced_table
Definition: parse_tree_nodes.h:2598
LEX_STRING m_column_name
Definition: parse_tree_nodes.h:2605
fk_match_opt m_fk_match_option
Definition: parse_tree_nodes.h:2600
fk_option m_fk_update_opt
Definition: parse_tree_nodes.h:2601
const LEX_STRING m_key_name
Definition: parse_tree_nodes.h:2596
const LEX_STRING m_constraint_name
Definition: parse_tree_nodes.h:2595
void set_column_name(const LEX_STRING &column_name)
Definition: parse_tree_nodes.h:2590
PT_table_constraint_def super
Definition: parse_tree_nodes.h:2568
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2597
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2216
Parse tree node for a window's frame, cf.
Definition: parse_tree_nodes.h:1524
PT_border * m_to
Definition: parse_tree_nodes.h:1529
PT_frame(const POS &pos, enum_window_frame_unit unit, PT_borders *from_to, PT_exclusion *exclusion)
Definition: parse_tree_nodes.h:1536
bool m_originally_absent
If true, this is an artificial frame, not specified by the user.
Definition: parse_tree_nodes.h:1534
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_window.cc:60
enum_window_frame_unit m_query_expression
Definition: parse_tree_nodes.h:1526
PT_border * m_from
Definition: parse_tree_nodes.h:1528
PT_exclusion * m_exclusion
Definition: parse_tree_nodes.h:1531
Definition: parse_tree_nodes.h:258
PT_order_list super
Definition: parse_tree_nodes.h:259
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:264
PT_gorder_list(const POS &pos)
Definition: parse_tree_nodes.h:262
Definition: parse_tree_nodes.h:3471
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5202
const List< LEX_USER > * users
Definition: parse_tree_nodes.h:3473
const bool with_admin_option
Definition: parse_tree_nodes.h:3474
const Mem_root_array< PT_role_or_privilege * > * roles
Definition: parse_tree_nodes.h:3472
PT_grant_roles(const POS &pos, const Mem_root_array< PT_role_or_privilege * > *roles, const List< LEX_USER > *users, bool with_admin_option)
Definition: parse_tree_nodes.h:3477
Definition: parse_tree_nodes.h:707
PT_group(const POS &pos, Mem_root_array_YY< PT_order_list * > group_list_arg, olap_type olap_arg)
Definition: parse_tree_nodes.h:721
bool set_num_grouping_sets(Parse_context *pc, int &num_grouping_sets)
Definition: parse_tree_nodes.cc:315
Mem_root_array_YY< PT_order_list * > group_list
Definition: parse_tree_nodes.h:710
void check_if_execute_only_in_secondary_engine(Parse_context *pc, int num_grouping_sets)
Definition: parse_tree_nodes.cc:366
bool allocate_grouping_sets(Parse_context *pc, int &num_grouping_sets)
Initializes the grouping set if the query block includes GROUP BY modifiers.
Definition: parse_tree_nodes.cc:388
olap_type olap
Definition: parse_tree_nodes.h:711
Parse_tree_node super
Definition: parse_tree_nodes.h:708
void populate_grouping_sets_rollup_cube(Parse_context *pc)
Populate the grouping set bitvector if the query block has non-primitive ROLLUP and CUBE grouping.
Definition: parse_tree_nodes.cc:503
bool set_olap_type(Parse_context *pc)
Definition: parse_tree_nodes.cc:274
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.h:714
bool populate_grouping_sets(Parse_context *pc)
Populates the grouping sets if the query block includes non-primitive grouping.
Definition: parse_tree_nodes.cc:551
bool populate_grouping_sets_fornon_primitive_grouping(Parse_context *pc)
Populate the grouping set bitvector if the query block has GROUPING SETS group by modifier.
Definition: parse_tree_nodes.cc:421
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:574
Definition: parse_tree_hints.h:100
A template for options that set a single <alter option> value in thd->lex->key_create_info.
Definition: parse_tree_nodes.h:2437
PT_index_option(const POS &pos, Option_type option_value)
Definition: parse_tree_nodes.h:2441
Option_type m_option_value
Definition: parse_tree_nodes.h:2450
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2444
Definition: parse_tree_nodes.h:2541
Index_options m_options
Definition: parse_tree_nodes.h:2564
PT_inline_index_definition(const POS &pos, keytype type_par, const LEX_STRING &name_arg, PT_base_index_option *type, List< PT_key_part_specification > *cols, Index_options options)
Definition: parse_tree_nodes.h:2545
PT_table_constraint_def super
Definition: parse_tree_nodes.h:2542
keytype m_keytype
Definition: parse_tree_nodes.h:2560
PT_base_index_option * m_type
Definition: parse_tree_nodes.h:2562
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2563
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2204
const LEX_STRING m_name
Definition: parse_tree_nodes.h:2561
Definition: parse_tree_nodes.h:2102
virtual mem_root_deque< List_item * > & get_many_values()
Definition: parse_tree_nodes.h:2118
bool push_back(mem_root_deque< Item * > *x)
Definition: parse_tree_nodes.h:2113
PT_insert_values_list(const POS &pos, MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:2108
Parse_tree_node super
Definition: parse_tree_nodes.h:2103
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1337
mem_root_deque< List_item * > many_values
Definition: parse_tree_nodes.h:2105
Top-level node for the INSERT statement.
Definition: parse_tree_nodes.h:2129
PT_item_list *const opt_on_duplicate_column_list
Definition: parse_tree_nodes.h:2143
PT_item_list *const column_list
Definition: parse_tree_nodes.h:2138
PT_item_list *const opt_on_duplicate_value_list
Definition: parse_tree_nodes.h:2144
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:2133
bool has_query_block() const
Definition: parse_tree_nodes.h:2187
const bool is_replace
Definition: parse_tree_nodes.h:2132
PT_query_expression_body * insert_query_expression
Definition: parse_tree_nodes.h:2140
Create_col_name_list *const opt_values_column_list
Definition: parse_tree_nodes.h:2142
Parse_tree_root super
Definition: parse_tree_nodes.h:2130
Table_ident *const table_ident
Definition: parse_tree_nodes.h:2136
PT_insert_values_list * row_value_list
Definition: parse_tree_nodes.h:2139
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1348
const char *const opt_values_table_alias
Definition: parse_tree_nodes.h:2141
List< String > *const opt_use_partition
Definition: parse_tree_nodes.h:2137
const bool ignore
Definition: parse_tree_nodes.h:2135
const thr_lock_type lock_option
Definition: parse_tree_nodes.h:2134
PT_insert(const POS &pos, bool is_replace_arg, PT_hint_list *opt_hints_arg, thr_lock_type lock_option_arg, bool ignore_arg, Table_ident *table_ident_arg, List< String > *opt_use_partition_arg, PT_item_list *column_list_arg, PT_insert_values_list *row_value_list_arg, PT_query_expression_body *insert_query_expression_arg, const LEX_CSTRING &opt_values_table_alias_arg, Create_col_name_list *opt_values_column_list_arg, PT_item_list *opt_on_duplicate_column_list_arg, PT_item_list *opt_on_duplicate_value_list_arg)
Definition: parse_tree_nodes.h:2147
Definition: parse_tree_nodes.h:5946
List< PT_install_component_set_element > * m_set_elements
Definition: parse_tree_nodes.h:5949
PT_install_component(const POS &pos, THD *thd, Mem_root_array_YY< LEX_STRING > urns, List< PT_install_component_set_element > *set_elements)
Definition: parse_tree_nodes.cc:5716
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5737
Mem_root_array_YY< LEX_STRING > m_urns
Definition: parse_tree_nodes.h:5948
Definition: parse_tree_nodes.h:1930
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1936
PT_set_operation(const POS &pos, PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1864
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2124
Definition: parse_tree_nodes.h:1368
sql_exchange m_exchange
Definition: parse_tree_nodes.h:1379
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4784
PT_into_destination super
Definition: parse_tree_nodes.h:1369
PT_into_destination_dumpfile(const POS &pos, const LEX_STRING &file_name_arg)
Definition: parse_tree_nodes.h:1372
Definition: parse_tree_nodes.h:1322
PT_into_destination super
Definition: parse_tree_nodes.h:1323
sql_exchange m_exchange
Definition: parse_tree_nodes.h:1364
PT_into_destination_outfile(const POS &pos, URI_information *outfile_uri_arg, File_information *file_info, const Field_separators *field_term_arg, const Line_separators *line_term_arg, enum_destination dumpfile_flag)
Definition: parse_tree_nodes.h:1347
enum_destination dumpfile_dest
Definition: parse_tree_nodes.h:1365
PT_into_destination_outfile(const POS &pos, LEX_CSTRING attr, enum_destination dumpfile_flag)
Definition: parse_tree_nodes.h:1339
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4748
PT_into_destination_outfile(const POS &pos, const LEX_STRING &file_name_arg, File_information *file_info, const Field_separators *field_term_arg, const Line_separators *line_term_arg, enum_destination dumpfile_flag)
Definition: parse_tree_nodes.h:1326
Definition: parse_tree_nodes.h:1312
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4733
PT_into_destination(const POS &pos)
Definition: parse_tree_nodes.h:1316
Parse_tree_node super
Definition: parse_tree_nodes.h:1313
Definition: parse_tree_nodes.h:1194
PT_transaction_characteristic super
Definition: parse_tree_nodes.h:1195
PT_isolation_level(const POS &pos, enum_tx_isolation level)
Definition: parse_tree_nodes.h:1198
Wrapper class for an Item list head, used to allocate Item lists in the parser in a context-independe...
Definition: parse_tree_helpers.h:109
mem_root_deque< Item * > value
Definition: parse_tree_helpers.h:117
bool push_back(Item *item)
Definition: parse_tree_helpers.h:130
uint elements() const
Definition: parse_tree_helpers.h:128
Definition: parse_tree_nodes.h:5895
Parse_tree_node super
Definition: parse_tree_nodes.h:5896
PT_jdv_name_value_list(const POS &pos, THD *thd)
Definition: parse_tree_nodes.h:5904
Mem_root_array< uint > * col_tags_list()
Definition: parse_tree_nodes.h:5929
THD * m_thd
Definition: parse_tree_nodes.h:5898
Mem_root_array< LEX_STRING > * name_list()
Definition: parse_tree_nodes.h:5927
PT_item_list * name_value_list()
Definition: parse_tree_nodes.h:5928
Mem_root_array< LEX_STRING > m_name_list
Definition: parse_tree_nodes.h:5900
PT_item_list * m_name_value_list
Definition: parse_tree_nodes.h:5899
Mem_root_array< uint > m_jdv_col_tags_list
Definition: parse_tree_nodes.h:5901
bool push_back(PT_jdv_name_value *jdv_name_value)
Definition: parse_tree_nodes.h:5910
Definition: parse_tree_nodes.h:5878
LEX_STRING m_name
Definition: parse_tree_nodes.h:5881
uint col_tags()
Definition: parse_tree_nodes.h:5892
PT_jdv_name_value(const POS &pos, LEX_STRING &name, Item *value, int col_tags)
Definition: parse_tree_nodes.h:5886
LEX_STRING name()
Definition: parse_tree_nodes.h:5890
Item * value()
Definition: parse_tree_nodes.h:5891
Item * m_value
Definition: parse_tree_nodes.h:5882
Parse_tree_node super
Definition: parse_tree_nodes.h:5879
uint m_col_tags
Definition: parse_tree_nodes.h:5883
Definition: parse_tree_nodes.h:649
Item * on
Definition: parse_tree_nodes.h:651
PT_joined_table super
Definition: parse_tree_nodes.h:650
PT_joined_table_on(const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg, Item *on_arg)
Definition: parse_tree_nodes.h:654
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4459
Definition: parse_tree_nodes.h:663
PT_joined_table_using(const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg, List< String > *using_fields_arg)
Definition: parse_tree_nodes.h:668
PT_joined_table_using(const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg)
A PT_joined_table_using without a list of columns denotes a natural join.
Definition: parse_tree_nodes.h:676
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:4498
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4487
List< String > * using_fields
Definition: parse_tree_nodes.h:665
PT_joined_table super
Definition: parse_tree_nodes.h:664
Definition: parse_tree_nodes.h:576
Table_ref * m_left_table_ref
Definition: parse_tree_nodes.h:585
PT_table_reference super
Definition: parse_tree_nodes.h:577
void add_rhs(PT_table_reference *table)
Adds the table reference as the right-hand side of this join.
Definition: parse_tree_nodes.h:619
~PT_joined_table() override=0
This class is being inherited, it should thus be abstract.
PT_joined_table_type m_type
Definition: parse_tree_nodes.h:582
Table_ref * m_right_table_ref
Definition: parse_tree_nodes.h:586
POS m_join_pos
Definition: parse_tree_nodes.h:581
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4409
bool contextualize_tabs(Parse_context *pc)
Definition: parse_tree_nodes.cc:174
PT_joined_table(const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg)
Definition: parse_tree_nodes.h:589
PT_table_reference * m_left_pt_table
Definition: parse_tree_nodes.h:580
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:4420
PT_table_reference * m_right_pt_table
Definition: parse_tree_nodes.h:583
PT_joined_table * add_cross_join(PT_cross_join *cj) override
Adds the cross join to this join operation.
Definition: parse_tree_nodes.h:613
Definition: parse_tree_nodes.h:5443
~PT_json_table_column_for_ordinality() override
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:5450
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4018
const char * m_name
Definition: parse_tree_nodes.h:5454
PT_json_table_column super
Definition: parse_tree_nodes.h:5444
unique_ptr_destroy_only< Json_table_column > m_column
Definition: parse_tree_nodes.h:5453
PT_json_table_column_for_ordinality(const POS &pos, LEX_STRING name)
Definition: parse_tree_nodes.cc:4011
Definition: parse_tree_nodes.h:5478
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:5489
Item * m_path
Definition: parse_tree_nodes.h:5492
PT_json_table_column_with_nested_path(const POS &pos, Item *path, Mem_root_array< PT_json_table_column * > *nested_cols)
Definition: parse_tree_nodes.h:5482
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4097
PT_json_table_column super
Definition: parse_tree_nodes.h:5479
Json_table_column * m_column
Definition: parse_tree_nodes.h:5494
const Mem_root_array< PT_json_table_column * > * m_nested_columns
Definition: parse_tree_nodes.h:5493
Definition: parse_tree_nodes.h:5457
~PT_json_table_column_with_path() override
const CHARSET_INFO * m_collation
Definition: parse_tree_nodes.h:5474
unique_ptr_destroy_only< Json_table_column > m_column
Definition: parse_tree_nodes.h:5471
const char * m_name
Definition: parse_tree_nodes.h:5472
PT_json_table_column_with_path(const POS &pos, unique_ptr_destroy_only< Json_table_column > column, LEX_STRING name, PT_type *type, const CHARSET_INFO *collation)
Definition: parse_tree_nodes.cc:4028
PT_json_table_column super
Definition: parse_tree_nodes.h:5458
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:5468
PT_type * m_type
Definition: parse_tree_nodes.h:5473
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4056
Definition: parse_tree_nodes.h:499
PT_json_table_column(const POS &pos)
Definition: parse_tree_nodes.h:501
virtual Json_table_column * get_column()=0
A key part specification.
Definition: parse_tree_nodes.h:2321
bool has_expression() const
Definition: parse_tree_nodes.h:2387
LEX_CSTRING m_column_name
The name of the column that this key part indexes.
Definition: parse_tree_nodes.h:2419
Parse_tree_node super
Definition: parse_tree_nodes.h:2322
bool is_explicit() const
Definition: parse_tree_nodes.h:2380
Item * get_expression() const
Get the indexed expression.
Definition: parse_tree_nodes.h:2364
LEX_CSTRING get_column_name() const
Get the column that this key part points to.
Definition: parse_tree_nodes.h:2396
enum_order get_order() const
Definition: parse_tree_nodes.h:2374
enum_order m_order
The direction of the index.
Definition: parse_tree_nodes.h:2416
bool do_contextualize(Parse_context *pc) override
Contextualize this key part specification.
Definition: parse_tree_nodes.cc:1014
int get_prefix_length() const
Definition: parse_tree_nodes.h:2406
PT_key_part_specification(const POS &pos, Item *expression, enum_order order)
Constructor for a functional key part.
Definition: parse_tree_nodes.cc:1000
int m_prefix_length
If this is greater than zero, it represents how many bytes of the column that is indexed.
Definition: parse_tree_nodes.h:2426
Item * m_expression
The indexed expression in case this is a functional key part.
Definition: parse_tree_nodes.h:2413
Definition: parse_tree_nodes.h:5860
mem_root_deque< sp_name_with_alias > m_libraries
Definition: parse_tree_nodes.h:5863
bool push_back(PT_library_with_alias *lib)
Definition: parse_tree_nodes.h:5869
PT_library_list(const POS &pos)
Definition: parse_tree_nodes.h:5866
mem_root_deque< sp_name_with_alias > & get_libraries()
Definition: parse_tree_nodes.h:5875
Parse_tree_node super
Definition: parse_tree_nodes.h:5861
Definition: parse_tree_nodes.h:5847
PT_library_with_alias(const POS &pos, sp_name *lib_name, const LEX_CSTRING &alias)
Definition: parse_tree_nodes.h:5853
sp_name_with_alias library()
Definition: parse_tree_nodes.h:5857
Parse_tree_node super
Definition: parse_tree_nodes.h:5848
sp_name_with_alias m_library
Definition: parse_tree_nodes.h:5850
Definition: parse_tree_nodes.h:429
Parse_tree_node super
Definition: parse_tree_nodes.h:430
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.h:435
Limit_options limit_options
Definition: parse_tree_nodes.h:432
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4337
PT_limit_clause(const POS &pos, const Limit_options &limit_options_arg)
Definition: parse_tree_nodes.h:441
Definition: parse_tree_nodes.h:5409
List< Index_hint > * m_opt_cache_key_list
Definition: parse_tree_nodes.h:5427
bool m_ignore_leaves
Definition: parse_tree_nodes.h:5428
PT_adm_partition * m_partitions
Definition: parse_tree_nodes.h:5426
Table_ident * m_table
Definition: parse_tree_nodes.h:5425
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3944
PT_load_index_partitions_stmt(const POS &pos, MEM_ROOT *mem_root, Table_ident *table, PT_adm_partition *partitions, List< Index_hint > *opt_cache_key_list, bool ignore_leaves)
Definition: parse_tree_nodes.h:5411
Definition: parse_tree_nodes.h:5431
Mem_root_array< PT_preload_keys * > * m_preload_list
Definition: parse_tree_nodes.h:5440
PT_load_index_stmt(const POS &pos, MEM_ROOT *mem_root, Mem_root_array< PT_preload_keys * > *preload_list)
Definition: parse_tree_nodes.h:5433
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3962
Definition: parse_tree_nodes.h:5770
const thr_lock_type m_lock_type
Definition: parse_tree_nodes.h:5805
Sql_cmd_load_table m_cmd
Definition: parse_tree_nodes.h:5803
PT_load_table(const POS &pos, enum_filetype filetype, thr_lock_type lock_type, bool is_local_file, enum_source_type source_type, const LEX_STRING filename, ulong file_count, bool in_key_order, On_duplicate on_duplicate, Table_ident *table, List< String > *opt_partitions, const CHARSET_INFO *opt_charset, LEX_CSTRING compression_algorithm, String *opt_xml_rows_identified_by, const Field_separators *opt_field_separators, const Line_separators *opt_line_separators, ulong opt_ignore_lines, PT_item_list *opt_fields_or_vars, PT_item_list *opt_set_fields, PT_item_list *opt_set_exprs, List< String > *opt_set_expr_strings, ulong parallel, ulonglong memory_size, bool is_bulk_operation)
Definition: parse_tree_nodes.h:5772
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4264
Definition: parse_tree_nodes.h:833
PT_locking_clause_list(const POS &pos, MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:835
Mem_root_array_YY< PT_locking_clause * > m_locking_clauses
Definition: parse_tree_nodes.h:851
bool push_back(PT_locking_clause *locking_clause)
Definition: parse_tree_nodes.h:840
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:844
Definition: parse_tree_nodes.h:770
Lock_descriptor get_lock_descriptor() const
Definition: parse_tree_nodes.h:785
virtual bool set_lock_for_tables(Parse_context *pc)=0
Locked_row_action action() const
Definition: parse_tree_nodes.h:782
Locked_row_action m_locked_row_action
Definition: parse_tree_nodes.h:801
PT_locking_clause(const POS &pos, Lock_strength strength, Locked_row_action action)
Definition: parse_tree_nodes.h:772
Lock_strength m_lock_strength
Definition: parse_tree_nodes.h:800
bool do_contextualize(Parse_context *pc) final
Definition: parse_tree_nodes.cc:2677
Definition: parse_tree_nodes.h:1798
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1827
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1821
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1831
PT_locking_clause_list *const m_locking_clauses
Definition: parse_tree_nodes.h:1837
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1814
PT_locking(const POS &pos, PT_query_expression_body *qe, PT_locking_clause_list *locking_clauses)
Definition: parse_tree_nodes.h:1802
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1818
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1808
bool can_absorb_order_and_limit(bool order, bool limit) const override
True if this query expression can absorb an extraneous order by/limit clause.
Definition: parse_tree_nodes.h:1823
PT_query_expression_body *const m_query_expression
Definition: parse_tree_nodes.h:1836
Definition: parse_tree_nodes.h:5272
bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:5283
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3846
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:5284
PT_optimize_table_stmt(const POS &pos, MEM_ROOT *mem_root, bool no_write_to_binlog, Mem_root_array< Table_ident * > *table_list)
Definition: parse_tree_nodes.h:5274
Definition: parse_tree_nodes.h:1118
PT_option_value_list_head(const POS &pos, const POS &delimiter_pos_arg, Parse_tree_node *value_arg, const POS &value_pos_arg)
Definition: parse_tree_nodes.h:1126
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4613
Parse_tree_node super
Definition: parse_tree_nodes.h:1119
POS value_pos
Definition: parse_tree_nodes.h:1123
Parse_tree_node * value
Definition: parse_tree_nodes.h:1122
POS delimiter_pos
Definition: parse_tree_nodes.h:1121
Definition: parse_tree_nodes.h:1137
PT_option_value_list(const POS &pos, PT_option_value_list_head *head_arg, const POS &delimiter_pos_arg, Parse_tree_node *tail, const POS &tail_pos)
Definition: parse_tree_nodes.h:1143
PT_option_value_list_head * head
Definition: parse_tree_nodes.h:1140
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1148
PT_option_value_list_head super
Definition: parse_tree_nodes.h:1138
Definition: parse_tree_nodes.h:1002
const CHARSET_INFO * opt_charset
Definition: parse_tree_nodes.h:1005
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:1003
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:207
PT_option_value_no_option_type_charset(const POS &pos, const CHARSET_INFO *opt_charset_arg)
Definition: parse_tree_nodes.h:1008
Definition: parse_tree_nodes.h:1016
PT_option_value_no_option_type_names(const POS &pos, const POS &error_pos)
Definition: parse_tree_nodes.h:1022
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:225
POS m_error_pos
Definition: parse_tree_nodes.h:1019
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:1017
Definition: parse_tree_nodes.h:1078
POS expr_pos
Definition: parse_tree_nodes.h:1086
bool retain_current_password
Definition: parse_tree_nodes.h:1084
PT_option_value_no_option_type_password_for(const POS &pos, LEX_USER *user_arg, const char *password_arg, const char *current_password_arg, bool retain_current, bool random_pass, const POS &expr_pos_arg)
Definition: parse_tree_nodes.h:1089
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:912
LEX_USER * user
Definition: parse_tree_nodes.h:1081
const char * password
Definition: parse_tree_nodes.h:1082
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1079
bool random_password_generator
Definition: parse_tree_nodes.h:1085
const char * current_password
Definition: parse_tree_nodes.h:1083
Definition: parse_tree_nodes.h:1051
bool random_password_generator
Definition: parse_tree_nodes.h:1057
PT_option_value_no_option_type_password(const POS &pos, const char *password_arg, const char *current_password_arg, bool retain_current, bool random_password, const POS &expr_pos_arg)
Definition: parse_tree_nodes.h:1061
const char * current_password
Definition: parse_tree_nodes.h:1055
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1052
POS expr_pos
Definition: parse_tree_nodes.h:1058
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:958
bool retain_current_password
Definition: parse_tree_nodes.h:1056
const char * password
Definition: parse_tree_nodes.h:1054
Definition: parse_tree_nodes.h:962
PT_option_value_no_option_type_user_var(const POS &pos, const LEX_STRING &name_arg, Item *expr_arg)
Definition: parse_tree_nodes.h:969
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4572
LEX_STRING name
Definition: parse_tree_nodes.h:965
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:963
Item * expr
Definition: parse_tree_nodes.h:966
Definition: parse_tree_nodes.h:931
PT_option_value_no_option_type(const POS &pos)
Definition: parse_tree_nodes.h:933
Definition: parse_tree_nodes.h:1104
enum_var_type type
Definition: parse_tree_nodes.h:1107
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4608
Parse_tree_node super
Definition: parse_tree_nodes.h:1105
PT_set_scoped_system_variable * value
Definition: parse_tree_nodes.h:1108
PT_option_value_type(const POS &pos, enum_var_type type_arg, PT_set_scoped_system_variable *value_arg)
Definition: parse_tree_nodes.h:1111
Definition: parse_tree_nodes.h:216
Parse_tree_node super
Definition: parse_tree_nodes.h:217
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.h:228
PT_order_expr(const POS &pos, Item *item_arg, enum_order dir)
Definition: parse_tree_nodes.h:220
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:634
Definition: parse_tree_nodes.h:234
void push_back(PT_order_expr *order)
Definition: parse_tree_nodes.h:251
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:243
Parse_tree_node super
Definition: parse_tree_nodes.h:235
PT_order_list(const POS &pos)
Definition: parse_tree_nodes.h:241
SQL_I_List< ORDER > value
Definition: parse_tree_nodes.h:238
Definition: parse_tree_nodes.h:759
Parse_tree_node super
Definition: parse_tree_nodes.h:760
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:617
PT_order(const POS &pos, PT_order_list *order_list_arg)
Definition: parse_tree_nodes.h:764
PT_order_list * order_list
Definition: parse_tree_nodes.h:763
Node for the PARTITION clause of CREATE/ALTER TABLE.
Definition: parse_tree_partitions.h:404
Node for the PARTITION definition clause.
Definition: parse_tree_partitions.h:625
Definition: parse_tree_nodes.h:5390
List< Index_hint > * m_opt_cache_key_list
Definition: parse_tree_nodes.h:5405
Table_ddl_node super
Definition: parse_tree_nodes.h:5391
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:5408
PT_preload_keys(const POS &pos, Table_ident *table, List< Index_hint > *opt_cache_key_list, bool ignore_leaves)
Definition: parse_tree_nodes.h:5394
Table_ident * m_table
Definition: parse_tree_nodes.h:5404
bool m_ignore_leaves
Definition: parse_tree_nodes.h:5406
Definition: parse_tree_nodes.h:804
PT_query_block_locking_clause(const POS &pos, Lock_strength strength, Locked_row_action action=Locked_row_action::WAIT)
Definition: parse_tree_nodes.h:806
bool set_lock_for_tables(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2699
Definition: parse_tree_nodes.h:854
virtual bool can_absorb_order_and_limit(bool order, bool limit) const =0
True if this query expression can absorb an extraneous order by/limit clause.
virtual bool is_table_value_constructor() const =0
virtual bool is_set_operation() const =0
virtual Setop_type type() const
Definition: parse_tree_nodes.h:858
Setop_type
Definition: parse_tree_nodes.h:857
@ UNION
Definition: parse_tree_nodes.h:857
@ EXCEPT
Definition: parse_tree_nodes.h:857
@ NONE
Definition: parse_tree_nodes.h:857
@ INTERSECT
Definition: parse_tree_nodes.h:857
virtual PT_insert_values_list * get_row_value_list() const =0
PT_query_expression_body(const POS &pos)
Definition: parse_tree_nodes.h:856
virtual bool has_into_clause() const =0
virtual bool has_trailing_into_clause() const =0
Definition: parse_tree_nodes.h:1685
PT_order * m_order
Definition: parse_tree_nodes.h:1789
bool contextualize_deferred_hints(Parse_context *pc)
Definition: parse_tree_nodes.h:1713
PT_limit_clause * m_limit
Definition: parse_tree_nodes.h:1790
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1705
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4815
PT_query_expression(const POS &pos, PT_with_clause *with_clause, PT_query_expression_body *body, PT_order *order, PT_limit_clause *limit)
Definition: parse_tree_nodes.h:1687
PT_query_expression_body * m_body
Definition: parse_tree_nodes.h:1788
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1707
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1708
PT_query_expression(const POS &pos, PT_query_expression_body *body)
Definition: parse_tree_nodes.h:1700
bool contextualize_order_and_limit(Parse_context *pc)
Contextualizes the order and limit clauses, re-interpreting them according to the rules.
Definition: parse_tree_nodes.cc:1635
bool can_absorb_order_and_limit(bool order, bool limit) const override
True if this query expression can absorb an extraneous order by/limit clause.
Definition: parse_tree_nodes.h:1720
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1772
PT_query_expression(const POS &pos, PT_query_expression_body *body, PT_order *order, PT_limit_clause *limit)
Definition: parse_tree_nodes.h:1696
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:1791
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1768
Definition: parse_tree_nodes.h:1547
PT_query_primary(const POS &pos)
Definition: parse_tree_nodes.h:1549
Definition: parse_tree_nodes.h:1552
bool is_implicit_from_clause() const
Definition: parse_tree_nodes.h:1645
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1532
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:1605
PT_into_destination * opt_into1
Definition: parse_tree_nodes.h:1558
PT_query_specification(const POS &pos, PT_hint_list *opt_hints_arg, const Query_options &options_arg, PT_item_list *item_list_arg, PT_into_destination *opt_into1_arg, const Mem_root_array_YY< PT_table_reference * > &from_clause_arg, Item *opt_where_clause_arg, PT_group *opt_group_clause_arg, Item *opt_having_clause_arg, PT_window_list *opt_window_clause_arg, Item *opt_qualify_clause_arg, bool implicit_from_clause)
Definition: parse_tree_nodes.h:1568
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1555
PT_query_specification(const POS &pos, const Query_options &options_arg, PT_item_list *item_list_arg)
Definition: parse_tree_nodes.h:1609
Item * opt_having_clause
Definition: parse_tree_nodes.h:1563
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1639
PT_window_list * opt_window_clause
Definition: parse_tree_nodes.h:1564
const bool m_is_from_clause_implicit
Definition: parse_tree_nodes.h:1559
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1634
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1626
PT_item_list * item_list
Definition: parse_tree_nodes.h:1557
Mem_root_array_YY< PT_table_reference * > from_clause
Definition: parse_tree_nodes.h:1560
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1638
Query_options options
Definition: parse_tree_nodes.h:1556
PT_group * opt_group_clause
Definition: parse_tree_nodes.h:1562
bool can_absorb_order_and_limit(bool, bool) const override
True if this query expression can absorb an extraneous order by/limit clause.
Definition: parse_tree_nodes.h:1636
Item * opt_qualify_clause
Definition: parse_tree_nodes.h:1565
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1627
PT_query_specification(const POS &pos, const Query_options &options_arg, PT_item_list *item_list_arg, const Mem_root_array_YY< PT_table_reference * > &from_clause_arg, Item *opt_where_clause_arg)
Definition: parse_tree_nodes.h:1591
Item * opt_where_clause
Definition: parse_tree_nodes.h:1561
PT_query_primary super
Definition: parse_tree_nodes.h:1553
Definition: parse_tree_nodes.h:5202
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:5219
bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:5218
PT_repair_table_stmt(const POS &pos, MEM_ROOT *mem_root, bool no_write_to_binlog, Mem_root_array< Table_ident * > *table_list, decltype(HA_CHECK_OPT::flags) flags, decltype(HA_CHECK_OPT::sql_flags) sql_flags)
Definition: parse_tree_nodes.h:5204
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3785
decltype(HA_CHECK_OPT::sql_flags) m_sql_flags
Definition: parse_tree_nodes.h:5221
decltype(HA_CHECK_OPT::flags) m_flags
Definition: parse_tree_nodes.h:5220
Top-level node for the SHUTDOWN statement.
Definition: parse_tree_nodes.h:5938
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5487
Sql_cmd_restart_server sql_cmd
Definition: parse_tree_nodes.h:5943
Definition: parse_tree_nodes.h:3488
const Mem_root_array< PT_role_or_privilege * > * roles
Definition: parse_tree_nodes.h:3489
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5216
const List< LEX_USER > * users
Definition: parse_tree_nodes.h:3490
PT_revoke_roles(const POS &pos, Mem_root_array< PT_role_or_privilege * > *roles, const List< LEX_USER > *users)
Definition: parse_tree_nodes.h:3493
Definition: parse_tree_nodes.h:3424
LEX_STRING role
Definition: parse_tree_nodes.h:3425
LEX_STRING host
Definition: parse_tree_nodes.h:3426
PT_role_at_host(const POS &pos, const POS &errpos, const LEX_STRING &role, const LEX_STRING &host)
Definition: parse_tree_nodes.h:3429
LEX_USER * get_user(THD *thd) override
Definition: parse_tree_nodes.cc:5182
Definition: parse_tree_nodes.h:3436
LEX_STRING ident
Definition: parse_tree_nodes.h:3437
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:5190
LEX_USER * get_user(THD *thd) override
Definition: parse_tree_nodes.cc:5186
PT_role_or_dynamic_privilege(const POS &pos, const POS &errpos, const LEX_STRING &ident)
Definition: parse_tree_nodes.h:3440
Definition: parse_tree_nodes.h:3413
virtual LEX_USER * get_user(THD *thd)
Definition: parse_tree_nodes.cc:5172
virtual Privilege * get_privilege(THD *thd)
Definition: parse_tree_nodes.cc:5177
POS m_errpos
Definition: parse_tree_nodes.h:3415
PT_role_or_privilege(const POS &pos, const POS &errpos)
Definition: parse_tree_nodes.h:3418
Definition: parse_tree_nodes.h:420
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4331
PT_select_item_list(const POS &pos)
Definition: parse_tree_nodes.h:424
PT_item_list super
Definition: parse_tree_nodes.h:421
Definition: parse_tree_nodes.h:1396
sp_head * sp
Definition: parse_tree_nodes.h:1406
PT_select_sp_var(const POS &pos, const LEX_STRING &name_arg)
Definition: parse_tree_nodes.h:1410
uint offset
Definition: parse_tree_nodes.h:1399
uint get_offset() const override
Definition: parse_tree_nodes.h:1414
PT_select_var super
Definition: parse_tree_nodes.h:1397
bool is_local() const override
Definition: parse_tree_nodes.h:1413
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1018
Definition: parse_tree_nodes.h:1939
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1067
PT_query_expression_body * m_qe
Definition: parse_tree_nodes.h:1981
const bool m_has_trailing_locking_clauses
Definition: parse_tree_nodes.h:1983
PT_into_destination * m_into
Definition: parse_tree_nodes.h:1982
std::string get_printable_parse_tree(THD *thd) override
Definition: parse_tree_nodes.cc:1038
Parse_tree_root super
Definition: parse_tree_nodes.h:1940
PT_select_stmt(const POS &pos, enum_sql_command sql_command, PT_query_expression_body *qe)
Definition: parse_tree_nodes.h:1948
enum_sql_command m_sql_command
Definition: parse_tree_nodes.h:1980
PT_select_stmt(const POS &pos, PT_query_expression_body *qe, PT_into_destination *into=nullptr, bool has_trailing_locking_clauses=false)
Creates a SELECT command.
Definition: parse_tree_nodes.h:1967
Definition: parse_tree_nodes.h:1419
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4795
List< PT_select_var > value
Definition: parse_tree_nodes.h:1425
PT_into_destination super
Definition: parse_tree_nodes.h:1420
bool push_back(PT_select_var *var)
Definition: parse_tree_nodes.h:1429
PT_select_var_list(const POS &pos)
Definition: parse_tree_nodes.h:1423
Definition: parse_tree_nodes.h:1382
const LEX_STRING name
Definition: parse_tree_nodes.h:1384
virtual bool is_local() const
Definition: parse_tree_nodes.h:1389
virtual uint get_offset() const
Definition: parse_tree_nodes.h:1390
PT_select_var(const POS &pos, const LEX_STRING &name_arg)
Definition: parse_tree_nodes.h:1386
Definition: parse_tree_nodes.h:1029
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:1030
const CHARSET_INFO * opt_charset
Definition: parse_tree_nodes.h:1032
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:241
PT_set_names(const POS &pos, const CHARSET_INFO *opt_charset_arg, const CHARSET_INFO *opt_collation_arg)
Definition: parse_tree_nodes.h:1036
const CHARSET_INFO * opt_collation
Definition: parse_tree_nodes.h:1033
Definition: parse_tree_nodes.h:1860
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1884
bool m_is_distinct
Definition: parse_tree_nodes.h:1902
bool can_absorb_order_and_limit(bool, bool) const override
True if this query expression can absorb an extraneous order by/limit clause.
Definition: parse_tree_nodes.h:1889
bool is_distinct() const
Definition: parse_tree_nodes.h:1893
void merge_descendants(Parse_context *pc, Query_term_set_op *setop, QueryLevel &ql)
Possibly merge lower syntactic levels of set operations (UNION, INTERSECT and EXCEPT) into setop,...
Definition: parse_tree_nodes.cc:1935
PT_into_destination * m_into
Definition: parse_tree_nodes.h:1903
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1892
PT_set_operation(const POS &pos, PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1864
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1878
void set_is_rhs_in_parentheses(bool v)
Definition: parse_tree_nodes.h:1896
bool m_is_rhs_in_parentheses
Definition: parse_tree_nodes.h:1904
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1876
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.h:1905
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1891
List< PT_query_expression_body > m_list
Definition: parse_tree_nodes.h:1895
bool contextualize_setop(Parse_context *pc, Query_term_type setop_type, Surrounding_context context)
Definition: parse_tree_nodes.cc:2069
void merge_children(Query_term_set_op *setop, Query_term_set_op *lower)
Append the children of 'lower' to those of 'setop'.
Definition: parse_tree_nodes.cc:1808
Parse tree node for SET RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5723
PT_set_resource_group(const POS &pos, const LEX_CSTRING &name, Mem_root_array< ulonglong > *thread_id_list)
Definition: parse_tree_nodes.h:5727
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5477
resourcegroups::Sql_cmd_set_resource_group sql_cmd
Definition: parse_tree_nodes.h:5724
Definition: parse_tree_nodes.h:3368
PT_set_role(const POS &pos, const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:3377
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5167
PT_set_role(const POS &pos, role_enum role_type, const List< LEX_USER > *opt_except_roles=nullptr)
Definition: parse_tree_nodes.h:3372
Sql_cmd_set_role sql_cmd
Definition: parse_tree_nodes.h:3369
Definition: parse_tree_nodes.h:909
Parse_tree_node super
Definition: parse_tree_nodes.h:910
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:927
PT_set_scoped_system_variable(const POS &pos, const POS &var_pos, const LEX_CSTRING &opt_prefix, const LEX_CSTRING &name, Item *opt_expr)
Definition: parse_tree_nodes.h:913
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4530
const POS m_varpos
Definition: parse_tree_nodes.h:925
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:926
Item * m_opt_expr
Definition: parse_tree_nodes.h:928
Definition: parse_tree_nodes.h:977
const enum_var_type m_scope
Definition: parse_tree_nodes.h:994
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:978
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:996
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:997
Item * m_opt_expr
Definition: parse_tree_nodes.h:998
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4585
PT_set_system_variable(const POS &pos, enum_var_type scope, const POS &name_pos, const LEX_CSTRING &opt_prefix, const LEX_CSTRING &name, Item *opt_expr)
Definition: parse_tree_nodes.h:981
const POS m_name_pos
Definition: parse_tree_nodes.h:995
Definition: parse_tree_nodes.h:937
Item * m_opt_expr
Definition: parse_tree_nodes.h:958
PT_set_variable(const POS &pos, const POS &varpos, const LEX_CSTRING &opt_prefix, const LEX_CSTRING &name, const POS &expr_pos, Item *opt_expr)
Definition: parse_tree_nodes.h:941
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:938
const POS m_expr_pos
Definition: parse_tree_nodes.h:957
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:955
const POS m_varpos
Definition: parse_tree_nodes.h:954
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:830
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:956
Definition: parse_tree_nodes.h:1298
Parse_tree_node super
Definition: parse_tree_nodes.h:1299
POS set_pos
Definition: parse_tree_nodes.h:1301
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4716
PT_start_option_value_list * list
Definition: parse_tree_nodes.h:1302
PT_set(const POS &pos, const POS &set_pos_arg, PT_start_option_value_list *list_arg)
Definition: parse_tree_nodes.h:1305
Base class for Parse tree nodes of SHOW statements.
Definition: parse_tree_nodes.h:3515
PT_show_base(const POS &pos, enum_sql_command sql_command)
Definition: parse_tree_nodes.h:3517
enum_sql_command m_sql_command
SQL command.
Definition: parse_tree_nodes.h:3521
Parse tree node for SHOW BINARY LOG STATUS statement.
Definition: parse_tree_nodes.h:3987
PT_show_binary_log_status(const POS &pos)
Definition: parse_tree_nodes.h:3989
Sql_cmd_show_binary_log_status m_sql_cmd
Definition: parse_tree_nodes.h:3995
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3308
Parse tree node for SHOW BINLOG EVENTS statement.
Definition: parse_tree_nodes.h:3589
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3601
Sql_cmd_show_binlog_events m_sql_cmd
Definition: parse_tree_nodes.h:3603
PT_show_binlog_events(const POS &pos, const LEX_STRING opt_log_file_name={}, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:3591
const LEX_STRING m_opt_log_file_name
Definition: parse_tree_nodes.h:3600
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3033
Parse tree node for SHOW BINLOGS statement.
Definition: parse_tree_nodes.h:3608
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3045
PT_show_binlogs(const POS &pos)
Definition: parse_tree_nodes.h:3610
Sql_cmd_show_binlogs m_sql_cmd
Definition: parse_tree_nodes.h:3615
Parse tree node for SHOW CHARACTER SET statement.
Definition: parse_tree_nodes.h:3620
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3052
PT_show_charsets(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3622
Sql_cmd_show_charsets m_sql_cmd
Definition: parse_tree_nodes.h:3628
Parse tree node for SHOW COLLATIONS statement.
Definition: parse_tree_nodes.h:3633
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3065
PT_show_collations(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3635
Sql_cmd_show_collations m_sql_cmd
Definition: parse_tree_nodes.h:3641
Base class for Parse tree nodes of SHOW COUNT(*) { WARNINGS | ERRORS } statements.
Definition: parse_tree_nodes.h:3647
Sql_cmd * make_cmd_generic(THD *thd, LEX_CSTRING diagnostic_variable_name)
Definition: parse_tree_nodes.cc:3078
PT_show_count_base(const POS &pos)
Definition: parse_tree_nodes.h:3649
Parse tree node for SHOW COUNT(*) ERRORS.
Definition: parse_tree_nodes.h:3658
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.h:3662
PT_show_count_errors(const POS &pos)
Definition: parse_tree_nodes.h:3660
Parse tree node for SHOW COUNT(*) WARNINGS.
Definition: parse_tree_nodes.h:3669
PT_show_count_warnings(const POS &pos)
Definition: parse_tree_nodes.h:3671
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.h:3673
Parse tree node for SHOW CREATE DATABASE statement.
Definition: parse_tree_nodes.h:3680
const LEX_STRING m_name
Definition: parse_tree_nodes.h:3692
PT_show_create_database(const POS &pos, bool if_not_exists, const LEX_STRING &name)
Definition: parse_tree_nodes.h:3682
Sql_cmd_show_create_database m_sql_cmd
Definition: parse_tree_nodes.h:3694
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3110
const bool m_if_not_exists
Definition: parse_tree_nodes.h:3691
Parse tree node for SHOW CREATE EVENT statement.
Definition: parse_tree_nodes.h:3699
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3123
sp_name *const m_spname
Definition: parse_tree_nodes.h:3707
PT_show_create_event(const POS &pos, sp_name *event_name)
Definition: parse_tree_nodes.h:3701
Sql_cmd_show_create_event m_sql_cmd
Definition: parse_tree_nodes.h:3709
Parse tree node for SHOW CREATE FUNCTION statement.
Definition: parse_tree_nodes.h:3714
Sql_cmd_show_create_function m_sql_cmd
Definition: parse_tree_nodes.h:3724
PT_show_create_function(const POS &pos, sp_name *function_name)
Definition: parse_tree_nodes.h:3716
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3132
sp_name *const m_spname
Definition: parse_tree_nodes.h:3722
Parse tree node for SHOW CREATE LIBRARY statement.
Definition: parse_tree_nodes.h:3729
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3141
sp_name *const m_spname
Definition: parse_tree_nodes.h:3737
PT_show_create_library(const POS &pos, sp_name *library_name)
Definition: parse_tree_nodes.h:3731
Sql_cmd_show_create_library m_sql_cmd
Definition: parse_tree_nodes.h:3739
Parse tree node for SHOW CREATE PROCEDURE statement.
Definition: parse_tree_nodes.h:3744
Sql_cmd_show_create_procedure m_sql_cmd
Definition: parse_tree_nodes.h:3754
sp_name *const m_spname
Definition: parse_tree_nodes.h:3752
PT_show_create_procedure(const POS &pos, sp_name *procedure_name)
Definition: parse_tree_nodes.h:3746
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3150
Parse tree node for SHOW CREATE TABLE and VIEW statements.
Definition: parse_tree_nodes.h:3759
Sql_cmd_show_create_table m_sql_cmd
Definition: parse_tree_nodes.h:3767
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3159
PT_show_create_table(const POS &pos, Table_ident *table_ident)
Definition: parse_tree_nodes.h:3761
Parse tree node for SHOW CREATE TRIGGER statement.
Definition: parse_tree_nodes.h:3772
PT_show_create_trigger(const POS &pos, sp_name *trigger_name)
Definition: parse_tree_nodes.h:3774
Sql_cmd_show_create_trigger m_sql_cmd
Definition: parse_tree_nodes.h:3782
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3178
sp_name *const m_spname
Definition: parse_tree_nodes.h:3780
Parse tree node for SHOW CREATE USER statement.
Definition: parse_tree_nodes.h:3787
Sql_cmd_show_create_user m_sql_cmd
Definition: parse_tree_nodes.h:3797
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3187
PT_show_create_user(const POS &pos, LEX_USER *user)
Definition: parse_tree_nodes.h:3789
LEX_USER *const m_user
Definition: parse_tree_nodes.h:3795
Parse tree node for SHOW CREATE VIEW statement.
Definition: parse_tree_nodes.h:3802
PT_show_create_view(const POS &pos, Table_ident *table_ident)
Definition: parse_tree_nodes.h:3804
Sql_cmd_show_create_table m_sql_cmd
Definition: parse_tree_nodes.h:3810
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3171
Parse tree node for SHOW DATABASES statement.
Definition: parse_tree_nodes.h:3815
Sql_cmd_show_databases m_sql_cmd
Definition: parse_tree_nodes.h:3823
PT_show_databases(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3817
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3196
Parse tree node for SHOW ENGINE statements.
Definition: parse_tree_nodes.h:3828
PT_show_engine_base(const POS &pos, enum enum_sql_command sql_command, const LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3830
LEX_STRING m_engine
Definition: parse_tree_nodes.h:3836
bool m_all
Definition: parse_tree_nodes.h:3837
Parse tree node for SHOW ENGINE LOGS statement.
Definition: parse_tree_nodes.h:3842
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3209
PT_show_engine_logs(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3844
Sql_cmd_show_engine_logs m_sql_cmd
Definition: parse_tree_nodes.h:3850
Parse tree node for SHOW ENGINE MUTEX statement.
Definition: parse_tree_nodes.h:3855
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3223
Sql_cmd_show_engine_mutex m_sql_cmd
Definition: parse_tree_nodes.h:3863
PT_show_engine_mutex(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3857
Parse tree node for SHOW ENGINE STATUS statement.
Definition: parse_tree_nodes.h:3868
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3237
PT_show_engine_status(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3870
Sql_cmd_show_engine_status m_sql_cmd
Definition: parse_tree_nodes.h:3876
Parse tree node for SHOW ENGINES statement.
Definition: parse_tree_nodes.h:3881
PT_show_engines(const POS &pos)
Definition: parse_tree_nodes.h:3883
Sql_cmd_show_engines m_sql_cmd
Definition: parse_tree_nodes.h:3889
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3251
Parse tree node for SHOW ERRORS statement.
Definition: parse_tree_nodes.h:3894
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3903
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3260
Sql_cmd_show_errors m_sql_cmd
Definition: parse_tree_nodes.h:3905
PT_show_errors(const POS &pos, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:3896
Parse tree node for SHOW EVENTS statement.
Definition: parse_tree_nodes.h:3910
Sql_cmd_show_events m_sql_cmd
Definition: parse_tree_nodes.h:3919
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3294
PT_show_events(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3912
Parse tree node for SHOW COLUMNS statement.
Definition: parse_tree_nodes.h:3924
Sql_cmd_show_columns m_sql_cmd
Definition: parse_tree_nodes.h:3938
Show_cmd_type m_show_cmd_type
Definition: parse_tree_nodes.h:3937
PT_show_fields(const POS &pos, Show_cmd_type show_cmd_type, Table_ident *table, LEX_STRING opt_wild={}, Item *opt_where=nullptr)
Definition: parse_tree_nodes.h:3928
PT_show_table_base super
Definition: parse_tree_nodes.h:3925
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3272
Base class for Parse tree nodes of SHOW statements with LIKE/WHERE parameter.
Definition: parse_tree_nodes.h:3526
Item * m_where
Definition: parse_tree_nodes.h:3535
PT_show_filter_base(const POS &pos, enum_sql_command sql_command, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3528
LEX_STRING m_wild
Wild or where clause used in the statement.
Definition: parse_tree_nodes.h:3534
Parse tree node for SHOW FUNCTION CODE statement.
Definition: parse_tree_nodes.h:3943
PT_show_function_code(const POS &pos, const sp_name *function_name)
Definition: parse_tree_nodes.h:3945
Parse tree node for SHOW GRANTS statement.
Definition: parse_tree_nodes.h:3951
Sql_cmd_show_grants sql_cmd
Definition: parse_tree_nodes.h:3963
PT_show_grants(const POS &pos, const LEX_USER *opt_for_user, const List< LEX_USER > *opt_using_users)
Definition: parse_tree_nodes.h:3953
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5233
Parse tree node for SHOW INDEX statement.
Definition: parse_tree_nodes.h:3968
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3286
PT_show_keys(const POS &pos, bool extended_show, Table_ident *table, Item *where)
Definition: parse_tree_nodes.h:3970
Sql_cmd_show_keys m_sql_cmd
Definition: parse_tree_nodes.h:3982
bool m_extended_show
Definition: parse_tree_nodes.h:3981
PT_show_table_base super
Definition: parse_tree_nodes.h:3978
Parse tree node for SHOW OPEN TABLES statement.
Definition: parse_tree_nodes.h:4000
PT_show_open_tables(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4002
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3315
Sql_cmd_show_open_tables m_sql_cmd
Definition: parse_tree_nodes.h:4010
Parse tree node for SHOW PARSE_TREE statement.
Definition: parse_tree_nodes.h:4040
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:5238
Parse_tree_root *const m_parse_tree_stmt
Definition: parse_tree_nodes.h:4049
Sql_cmd_show_parse_tree m_sql_cmd
Definition: parse_tree_nodes.h:4050
PT_show_parse_tree(const POS &pos, Parse_tree_root *parse_tree_stmt)
Definition: parse_tree_nodes.h:4042
Parse tree node for SHOW PLUGINS statement.
Definition: parse_tree_nodes.h:4015
Sql_cmd_show_plugins m_sql_cmd
Definition: parse_tree_nodes.h:4022
PT_show_plugins(const POS &pos)
Definition: parse_tree_nodes.h:4017
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3333
Parse tree node for SHOW PRIVILEGES statement.
Definition: parse_tree_nodes.h:4027
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3342
PT_show_privileges(const POS &pos)
Definition: parse_tree_nodes.h:4029
Sql_cmd_show_privileges m_sql_cmd
Definition: parse_tree_nodes.h:4035
Parse tree node for SHOW FUNCTION CODE statement.
Definition: parse_tree_nodes.h:4055
PT_show_procedure_code(const POS &pos, const sp_name *procedure_name)
Definition: parse_tree_nodes.h:4057
Parse tree node for SHOW PROCESSLIST statement.
Definition: parse_tree_nodes.h:4063
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3349
Sql_cmd_show_processlist m_sql_cmd
Definition: parse_tree_nodes.h:4071
PT_show_processlist(const POS &pos, bool verbose)
Definition: parse_tree_nodes.h:4065
Parse tree node for SHOW PROFILE statement.
Definition: parse_tree_nodes.h:4076
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3372
uint m_opt_profile_options
Definition: parse_tree_nodes.h:4089
Sql_cmd_show_profile m_sql_cmd
Definition: parse_tree_nodes.h:4093
PT_show_profile(const POS &pos, uint opt_profile_options=0, my_thread_id opt_query_id=0, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:4078
my_thread_id m_opt_query_id
Definition: parse_tree_nodes.h:4090
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:4091
Parse tree node for SHOW PROFILES statement.
Definition: parse_tree_nodes.h:4098
PT_show_profiles(const POS &pos)
Definition: parse_tree_nodes.h:4100
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3387
Sql_cmd_show_profiles m_sql_cmd
Definition: parse_tree_nodes.h:4105
Parse tree node for SHOW RELAYLOG EVENTS statement.
Definition: parse_tree_nodes.h:4110
Sql_cmd_show_relaylog_events m_sql_cmd
Definition: parse_tree_nodes.h:4128
PT_show_relaylog_events(const POS &pos, const LEX_STRING opt_log_file_name={}, PT_limit_clause *opt_limit_clause=nullptr, LEX_CSTRING opt_channel_name={})
Definition: parse_tree_nodes.h:4112
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:4125
const LEX_STRING m_opt_log_file_name
Definition: parse_tree_nodes.h:4124
const LEX_CSTRING m_opt_channel_name
Definition: parse_tree_nodes.h:4126
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3394
Parse tree node for SHOW REPLICA STATUS statement.
Definition: parse_tree_nodes.h:4145
Sql_cmd_show_replica_status m_sql_cmd
Definition: parse_tree_nodes.h:4156
const LEX_CSTRING m_opt_channel_name
Definition: parse_tree_nodes.h:4154
PT_show_replica_status(const POS &pos, LEX_CSTRING opt_channel_name={})
Definition: parse_tree_nodes.h:4147
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3414
Parse tree node for SHOW REPLICAS statement.
Definition: parse_tree_nodes.h:4133
Sql_cmd_show_replicas m_sql_cmd
Definition: parse_tree_nodes.h:4140
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3407
PT_show_replicas(const POS &pos)
Definition: parse_tree_nodes.h:4135
Parse tree node for SHOW FUNCTION/PROCEDURE CODE statements.
Definition: parse_tree_nodes.h:3575
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3365
Sql_cmd_show_routine_code m_sql_cmd
Definition: parse_tree_nodes.h:3584
PT_show_routine_code(const POS &pos, enum_sql_command sql_command, const sp_name *routine_name)
Definition: parse_tree_nodes.h:3577
Base class for Parse tree nodes of SHOW statements with schema parameter.
Definition: parse_tree_nodes.h:3540
char * m_opt_db
Optional schema name in FROM/IN clause.
Definition: parse_tree_nodes.h:3551
PT_show_schema_base(const POS &pos, enum_sql_command sql_command, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3542
Item * m_where
Definition: parse_tree_nodes.h:3554
LEX_STRING m_wild
Wild or where clause used in the statement.
Definition: parse_tree_nodes.h:3553
Parse tree node for SHOW STATUS FUNCTION statement.
Definition: parse_tree_nodes.h:4193
Sql_cmd_show_status_func m_sql_cmd
Definition: parse_tree_nodes.h:4201
PT_show_status_func(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4195
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3452
Parse tree node for SHOW STATUS LIBRARY statement.
Definition: parse_tree_nodes.h:4180
Sql_cmd_show_status_library m_sql_cmd
Definition: parse_tree_nodes.h:4188
PT_show_status_library(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4182
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3439
Parse tree node for SHOW STATUS PROCEDURE statement.
Definition: parse_tree_nodes.h:4206
PT_show_status_proc(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4208
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3465
Sql_cmd_show_status_proc m_sql_cmd
Definition: parse_tree_nodes.h:4214
Parse tree node for SHOW STATUS statement.
Definition: parse_tree_nodes.h:4161
enum_var_type m_var_type
Definition: parse_tree_nodes.h:4175
Sql_cmd_show_status m_sql_cmd
Definition: parse_tree_nodes.h:4173
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3423
PT_show_status(const POS &pos, enum_var_type var_type, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4163
Base class for Parse tree nodes of SHOW COLUMNS/SHOW INDEX statements.
Definition: parse_tree_nodes.h:3559
bool make_table_base_cmd(THD *thd, bool *temporary)
Definition: parse_tree_nodes.cc:2949
PT_show_table_base(const POS &pos, enum_sql_command sql_command, Table_ident *table_ident, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3561
Table_ident * m_table_ident
Table used in the statement.
Definition: parse_tree_nodes.h:3570
Parse tree node for SHOW TABLE STATUS statement.
Definition: parse_tree_nodes.h:4219
Sql_cmd_show_table_status m_sql_cmd
Definition: parse_tree_nodes.h:4229
PT_show_table_status(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4221
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3478
Parse tree node for SHOW TABLES statement.
Definition: parse_tree_nodes.h:4234
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3493
Show_cmd_type m_show_cmd_type
Definition: parse_tree_nodes.h:4246
PT_show_tables(const POS &pos, Show_cmd_type show_cmd_type, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4236
Sql_cmd_show_tables m_sql_cmd
Definition: parse_tree_nodes.h:4244
Parse tree node for SHOW TRIGGERS statement.
Definition: parse_tree_nodes.h:4251
PT_show_triggers(const POS &pos, bool full, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4253
bool m_full
Definition: parse_tree_nodes.h:4263
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3509
Sql_cmd_show_triggers m_sql_cmd
Definition: parse_tree_nodes.h:4261
Parse tree node for SHOW VARIABLES statement.
Definition: parse_tree_nodes.h:4268
enum_var_type m_var_type
Definition: parse_tree_nodes.h:4282
Sql_cmd_show_variables m_sql_cmd
Definition: parse_tree_nodes.h:4280
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3524
PT_show_variables(const POS &pos, enum_var_type var_type, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:4270
Parse tree node for SHOW WARNINGS statement.
Definition: parse_tree_nodes.h:4287
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:4296
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3540
Sql_cmd_show_warnings m_sql_cmd
Definition: parse_tree_nodes.h:4298
PT_show_warnings(const POS &pos, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:4289
Top-level node for the SHUTDOWN statement.
Definition: parse_tree_nodes.h:2209
Sql_cmd * make_cmd(THD *) override
Definition: parse_tree_nodes.h:2213
Sql_cmd_shutdown sql_cmd
Definition: parse_tree_nodes.h:2210
Definition: parse_tree_nodes.h:1246
PT_start_option_value_list_following_option_type_eq(const POS &pos, PT_set_scoped_system_variable *head_arg, const POS &head_pos_arg, PT_option_value_list_head *opt_tail_arg)
Definition: parse_tree_nodes.h:1254
POS head_pos
Definition: parse_tree_nodes.h:1250
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4680
PT_start_option_value_list_following_option_type super
Definition: parse_tree_nodes.h:1247
PT_option_value_list_head * opt_tail
Definition: parse_tree_nodes.h:1251
PT_set_scoped_system_variable * head
Definition: parse_tree_nodes.h:1249
Definition: parse_tree_nodes.h:1266
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4694
PT_start_option_value_list_following_option_type_transaction(const POS &pos, PT_transaction_characteristics *characteristics_arg, const POS &characteristics_pos_arg)
Definition: parse_tree_nodes.h:1273
PT_transaction_characteristics * characteristics
Definition: parse_tree_nodes.h:1269
PT_start_option_value_list_following_option_type super
Definition: parse_tree_nodes.h:1267
POS characteristics_pos
Definition: parse_tree_nodes.h:1270
Definition: parse_tree_nodes.h:1239
PT_start_option_value_list_following_option_type(const POS &pos)
Definition: parse_tree_nodes.h:1241
Definition: parse_tree_nodes.h:1155
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1156
POS head_pos
Definition: parse_tree_nodes.h:1159
PT_start_option_value_list_no_type(const POS &pos, PT_option_value_no_option_type *head_arg, const POS &head_pos_arg, PT_option_value_list_head *tail_arg)
Definition: parse_tree_nodes.h:1163
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4634
PT_option_value_list_head * tail
Definition: parse_tree_nodes.h:1160
PT_option_value_no_option_type * head
Definition: parse_tree_nodes.h:1158
Definition: parse_tree_nodes.h:1221
PT_transaction_characteristics * characteristics
Definition: parse_tree_nodes.h:1224
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1222
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4665
POS end_pos
Definition: parse_tree_nodes.h:1225
PT_start_option_value_list_transaction(const POS &pos, PT_transaction_characteristics *characteristics_arg, const POS &end_pos_arg)
Definition: parse_tree_nodes.h:1228
Definition: parse_tree_nodes.h:1283
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1284
PT_start_option_value_list_following_option_type * list
Definition: parse_tree_nodes.h:1287
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4711
PT_start_option_value_list_type(const POS &pos, enum_var_type type_arg, PT_start_option_value_list_following_option_type *list_arg)
Definition: parse_tree_nodes.h:1290
enum_var_type type
Definition: parse_tree_nodes.h:1286
Definition: parse_tree_nodes.h:1045
PT_start_option_value_list(const POS &pos)
Definition: parse_tree_nodes.h:1047
Definition: parse_tree_nodes.h:3448
PT_static_privilege(const POS &pos, const POS &errpos, uint grant, const Mem_root_array< LEX_CSTRING > *columns=nullptr)
Definition: parse_tree_nodes.h:3453
const Mem_root_array< LEX_CSTRING > * columns
Definition: parse_tree_nodes.h:3450
const uint grant
Definition: parse_tree_nodes.h:3449
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:5194
Definition: parse_tree_nodes.h:1840
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4941
Parse_tree_node super
Definition: parse_tree_nodes.h:1841
PT_query_expression_body * qe
Definition: parse_tree_nodes.h:1843
bool m_is_derived_table
Definition: parse_tree_nodes.h:1847
Query_block * value()
Definition: parse_tree_nodes.h:1857
Query_block * query_block
Definition: parse_tree_nodes.h:1844
PT_subquery(const POS &pos, PT_query_expression_body *query_expression)
Definition: parse_tree_nodes.h:1849
Definition: parse_tree_nodes.h:2536
PT_table_constraint_def(const POS &pos)
Definition: parse_tree_nodes.h:2538
Definition: parse_tree_nodes.h:185
~PT_table_ddl_stmt_base() override=0
Alter_info m_alter_info
Definition: parse_tree_nodes.h:193
PT_table_ddl_stmt_base(const POS &pos, MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:187
Base class for column/constraint definitions in CREATE TABLE.
Definition: parse_tree_nodes.h:2531
PT_table_element(const POS &pos)
Definition: parse_tree_nodes.h:2533
Definition: parse_tree_nodes.h:507
Item * m_path
Definition: parse_tree_nodes.h:524
const LEX_STRING m_table_alias
Definition: parse_tree_nodes.h:526
Item * m_expr
Definition: parse_tree_nodes.h:523
PT_table_reference super
Definition: parse_tree_nodes.h:508
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1662
Mem_root_array< PT_json_table_column * > * m_nested_columns
Definition: parse_tree_nodes.h:525
PT_table_factor_function(const POS &pos, Item *expr, Item *path, Mem_root_array< PT_json_table_column * > *nested_cols, const LEX_STRING &table_alias)
Definition: parse_tree_nodes.h:511
Definition: parse_tree_nodes.h:563
PT_joined_table * m_joined_table
Definition: parse_tree_nodes.h:573
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1772
PT_table_reference super
Definition: parse_tree_nodes.h:564
PT_table_factor_joined_table(const POS &pos, PT_joined_table *joined_table)
Definition: parse_tree_nodes.h:567
Definition: parse_tree_nodes.h:472
const char *const opt_table_alias
Definition: parse_tree_nodes.h:477
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4357
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.cc:4389
Table_ident * table_ident
Definition: parse_tree_nodes.h:475
PT_table_factor_table_ident(const POS &pos, Table_ident *table_ident_arg, List< String > *opt_use_partition_arg, const LEX_CSTRING &opt_table_alias_arg, List< Index_hint > *opt_key_definition_arg, PT_tablesample *opt_tablesample_arg)
Definition: parse_tree_nodes.h:482
PT_table_reference super
Definition: parse_tree_nodes.h:473
List< Index_hint > * opt_key_definition
Definition: parse_tree_nodes.h:478
PT_tablesample * opt_tablesample
Definition: parse_tree_nodes.h:479
List< String > * opt_use_partition
Definition: parse_tree_nodes.h:476
Definition: parse_tree_nodes.h:814
Table_ident_list m_tables
Definition: parse_tree_nodes.h:830
bool raise_error(THD *thd, const Table_ident *name, int error)
Definition: parse_tree_nodes.cc:4517
bool set_lock_for_tables(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2928
PT_table_locking_clause(const POS &pos, Lock_strength strength, Mem_root_array_YY< Table_ident * > tables, Locked_row_action action)
Definition: parse_tree_nodes.h:818
Mem_root_array_YY< Table_ident * > Table_ident_list
Definition: parse_tree_nodes.h:816
Definition: parse_tree_nodes.h:529
PT_table_reference super
Definition: parse_tree_nodes.h:530
PT_table_reference_list_parens(const POS &pos, const Mem_root_array_YY< PT_table_reference * > table_list)
Definition: parse_tree_nodes.h:535
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4400
Mem_root_array_YY< PT_table_reference * > table_list
Definition: parse_tree_nodes.h:532
Definition: parse_tree_nodes.h:451
PT_table_reference(const POS &pos)
Definition: parse_tree_nodes.h:453
Table_ref * m_table_ref
Definition: parse_tree_nodes.h:455
virtual PT_joined_table * add_cross_join(PT_cross_join *cj)
Lets us build a parse tree top-down, which is necessary due to the context-dependent nature of the jo...
Definition: parse_tree_nodes.cc:169
Definition: parse_tree_nodes.h:1648
PT_insert_values_list *const row_value_list
Definition: parse_tree_nodes.h:1651
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1663
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1660
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1669
bool can_absorb_order_and_limit(bool, bool) const override
True if this query expression can absorb an extraneous order by/limit clause.
Definition: parse_tree_nodes.h:1665
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1661
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1614
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1667
PT_query_primary super
Definition: parse_tree_nodes.h:1649
PT_table_value_constructor(const POS &pos, PT_insert_values_list *row_value_list_arg)
Definition: parse_tree_nodes.h:1654
Definition: parse_tree_nodes.h:693
PT_tablesample(const POS &pos, tablesample_type tablesample_type_arg, Item *sample_percentage)
Definition: parse_tree_nodes.h:700
Parse_tree_node super
Definition: parse_tree_nodes.h:694
tablesample_type m_sampling_type
Definition: parse_tree_nodes.h:697
Item * m_sample_percentage
Definition: parse_tree_nodes.h:698
A template for options that set HA_CREATE_INFO::table_options and also records if the option was expl...
Definition: parse_tree_nodes.h:2792
PT_create_table_option super
Definition: parse_tree_nodes.h:2793
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2801
const Ternary_option value
Definition: parse_tree_nodes.h:2795
PT_ternary_create_table_option(const POS &pos, Ternary_option value)
Definition: parse_tree_nodes.h:2798
A template for options that set a single property in HA_CREATE_INFO, and also records if the option w...
Definition: parse_tree_nodes.h:2654
PT_traceable_create_table_option(const POS &pos, Option_type value)
Definition: parse_tree_nodes.h:2660
const Option_type value
Definition: parse_tree_nodes.h:2657
PT_create_table_option super
Definition: parse_tree_nodes.h:2655
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2663
A template for options that set a single property in a KEY_CREATE_INFO, and also records if the optio...
Definition: parse_tree_nodes.h:2459
bool do_contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2464
Option_type m_option_value
Definition: parse_tree_nodes.h:2471
PT_traceable_index_option(const POS &pos, Option_type option_value)
Definition: parse_tree_nodes.h:2461
Definition: parse_tree_nodes.h:1186
PT_transaction_characteristic super
Definition: parse_tree_nodes.h:1187
PT_transaction_access_mode(const POS &pos, bool is_read_only)
Definition: parse_tree_nodes.h:1190
Definition: parse_tree_nodes.h:1172
int32 value
Definition: parse_tree_nodes.h:1176
Parse_tree_node super
Definition: parse_tree_nodes.h:1173
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4646
PT_transaction_characteristic(const POS &pos, const char *name_arg, int32 value_arg)
Definition: parse_tree_nodes.h:1179
const char * name
Definition: parse_tree_nodes.h:1175
Definition: parse_tree_nodes.h:1202
PT_transaction_characteristic * opt_tail
Definition: parse_tree_nodes.h:1206
PT_transaction_characteristics(const POS &pos, PT_transaction_characteristic *head_arg, PT_transaction_characteristic *opt_tail_arg)
Definition: parse_tree_nodes.h:1209
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1214
PT_transaction_characteristic * head
Definition: parse_tree_nodes.h:1205
Parse_tree_node super
Definition: parse_tree_nodes.h:1203
Definition: parse_tree_nodes.h:5311
PT_truncate_table_stmt(const POS &pos, Table_ident *table)
Definition: parse_tree_nodes.h:5313
Sql_cmd_truncate_table m_cmd_truncate_table
Definition: parse_tree_nodes.h:5321
Table_ident * m_table
Definition: parse_tree_nodes.h:5319
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3880
Base class for all column type nodes.
Definition: parse_tree_column_attrs.h:631
Definition: parse_tree_nodes.h:1912
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2114
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1918
PT_set_operation(const POS &pos, PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1864
Top-level node for the UPDATE statement.
Definition: parse_tree_nodes.h:2065
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:2068
Item * opt_limit_clause
Definition: parse_tree_nodes.h:2077
PT_update(const POS &pos, PT_with_clause *with_clause_arg, PT_hint_list *opt_hints_arg, thr_lock_type opt_low_priority_arg, bool opt_ignore_arg, const Mem_root_array_YY< PT_table_reference * > &join_table_list_arg, PT_item_list *column_list_arg, PT_item_list *value_list_arg, Item *opt_where_clause_arg, PT_order *opt_order_clause_arg, Item *opt_limit_clause_arg)
Definition: parse_tree_nodes.h:2080
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1282
Mem_root_array_YY< PT_table_reference * > join_table_list
Definition: parse_tree_nodes.h:2072
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:2069
bool opt_ignore
Definition: parse_tree_nodes.h:2071
PT_item_list * value_list
Definition: parse_tree_nodes.h:2074
thr_lock_type opt_low_priority
Definition: parse_tree_nodes.h:2070
PT_item_list * column_list
Definition: parse_tree_nodes.h:2073
Parse_tree_root super
Definition: parse_tree_nodes.h:2066
PT_order * opt_order_clause
Definition: parse_tree_nodes.h:2076
Item * opt_where_clause
Definition: parse_tree_nodes.h:2075
Parse tree node for a list of window definitions corresponding to a <window clause> in SQL 2003.
Definition: parse_tree_window.h:63
Represents the WITH clause: WITH [...], [...] SELECT ..., ^^^^^^^^^^^^^^^^^.
Definition: parse_tree_nodes.h:366
const Table_ref * m_most_inner_in_parsing
The innermost CTE reference which we're parsing at the moment.
Definition: parse_tree_nodes.h:415
void print(const THD *thd, String *str, enum_query_type query_type)
Definition: parse_tree_nodes.cc:2405
bool do_contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2394
void leave_parsing_definition(const Table_ref *old)
Definition: parse_tree_nodes.h:396
Parse_tree_node super
Definition: parse_tree_nodes.h:367
PT_with_clause(const POS &pos, const PT_with_list *l, bool r)
Definition: parse_tree_nodes.h:370
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: parse_tree_nodes.h:402
const PT_with_list *const m_list
All CTEs of this clause.
Definition: parse_tree_nodes.h:408
const Table_ref * enter_parsing_definition(Table_ref *tl)
Call this to record in the WITH clause that we are contextualizing the CTE definition inserted in tab...
Definition: parse_tree_nodes.h:391
const bool m_recursive
True if the user has specified the RECURSIVE keyword.
Definition: parse_tree_nodes.h:410
Represents the WITH list.
Definition: parse_tree_nodes.h:344
Mem_root_array< PT_common_table_expr * > m_elements
Definition: parse_tree_nodes.h:358
Parse_tree_node super
Definition: parse_tree_nodes.h:345
bool push_back(PT_common_table_expr *el)
Definition: parse_tree_nodes.cc:2343
PT_with_list(const POS &pos, MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:350
const Mem_root_array< PT_common_table_expr * > & elements() const
Definition: parse_tree_nodes.h:353
Base class for parse tree nodes (excluding the Parse_tree_root hierarchy)
Definition: parse_tree_node_base.h:231
virtual bool contextualize(Context *pc) final
Definition: parse_tree_node_base.h:321
bool is_contextualized() const
Definition: parse_tree_node_base.h:310
void error(Context *pc, const POS &pos) const
syntax_error() function replacement for deferred reporting of syntax errors
Definition: parse_tree_node_base.h:346
virtual bool do_contextualize(Context *pc)
Do all context-sensitive things and mark the node as contextualized.
Definition: parse_tree_node_base.h:284
POS m_pos
Definition: parse_tree_node_base.h:245
Base class for all top-level nodes of SQL statements.
Definition: parse_tree_nodes.h:162
Parse_tree_root()=default
void operator=(const Parse_tree_root &)=delete
Parse_tree_root(const Parse_tree_root &)=delete
virtual ~Parse_tree_root()=default
Parse_tree_root(const POS &pos)
Definition: parse_tree_nodes.h:168
virtual std::string get_printable_parse_tree(THD *thd)
Definition: parse_tree_nodes.h:178
POS m_pos
Textual location of a token just parsed.
Definition: parse_tree_nodes.h:173
virtual Sql_cmd * make_cmd(THD *thd)=0
This class represents a query block, aka a query specification, which is a query consisting of a SELE...
Definition: sql_lex.h:1179
bool clear_correlated_query_blocks()
Empties all correlated query blocks defined within the query expression; that is, correlated CTEs def...
Definition: sql_union.cc:987
Common base class for n-ary set operations, including unary.
Definition: query_term.h:555
Simple intrusive linked list.
Definition: sql_list.h:48
Class to represent the check constraint specifications obtained from the SQL statement parse.
Definition: sql_check_constraint.h:43
Item * check_expr
Check constraint expression.
Definition: sql_check_constraint.h:80
bool is_enforced
Check constraint state (enforced/not enforced)
Definition: sql_check_constraint.h:86
LEX_STRING name
Name of the check constraint.
Definition: sql_check_constraint.h:77
Definition: sql_admin.h:409
Definition: sql_cmd_ddl.h:97
Class that represents the ALTER TABLE t1 ANALYZE PARTITION p statement.
Definition: sql_partition_admin.h:53
Class that represents the ALTER TABLE t1 CHECK PARTITION p statement.
Definition: sql_partition_admin.h:75
Class that represents the ALTER TABLE t1 EXCHANGE PARTITION p WITH TABLE t2 statement.
Definition: sql_partition_admin.h:39
Class that represents the ALTER TABLE t1 OPTIMIZE PARTITION p statement.
Definition: sql_partition_admin.h:91
Class that represents the ALTER TABLE t1 REPAIR PARTITION p statement.
Definition: sql_partition_admin.h:106
Class that represents the ALTER TABLE t1 TRUNCATE PARTITION p statement.
Definition: sql_partition_admin.h:121
Represents the generic ALTER TABLE statement.
Definition: sql_alter.h:631
Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
Definition: sql_admin.h:368
Histogram_command
Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM that is specified after A...
Definition: sql_admin.h:71
Definition: sql_cmd_ddl.h:74
Sql_cmd_create_role represents the CREATE ROLE ... statement.
Definition: sql_admin.h:288
Definition: sql_cmd_srs.h:56
Represents ALTER TABLE IMPORT/DISCARD TABLESPACE statements.
Definition: sql_alter.h:642
Definition: sql_cmd_ddl.h:114
Sql_cmd_drop_role represents the DROP ROLE ... statement.
Definition: sql_admin.h:308
Definition: sql_cmd_srs.h:110
Definition: opt_explain.h:204
Definition: sql_load.h:49
Sql_cmd_restart_server represents the RESTART server statement.
Definition: sql_restart_server.h:41
Represents ALTER TABLE SECONDARY_LOAD/SECONDARY_UNLOAD statements.
Definition: sql_alter.h:655
Sql_cmd_set_role represents the SET ROLE ... statement.
Definition: sql_admin.h:260
Represents SHOW BINARY LOG STATUS statement.
Definition: sql_show.h:450
Following are all subclasses of class Sql_cmd_show, in alphabetical order.
Definition: sql_show.h:234
Represents SHOW BINARY LOGS statement.
Definition: sql_show.h:249
Represents SHOW CHARACTER SET statement.
Definition: sql_show.h:258
Represents SHOW COLLATION statement.
Definition: sql_show.h:265
Represents SHOW COLUMNS statement.
Definition: sql_show.h:272
Represents SHOW CREATE DATABASE statement.
Definition: sql_show.h:279
Represents SHOW CREATE EVENT statement.
Definition: sql_show.h:288
Represents SHOW CREATE FUNCTION statement.
Definition: sql_show.h:297
Represents SHOW CREATE LIBRARY statement.
Definition: sql_show.h:307
Represents SHOW CREATE PROCEDURE statement.
Definition: sql_show.h:317
Represents SHOW CREATE TABLE/VIEW statement.
Definition: sql_show.h:327
Represents SHOW CREATE TRIGGER statement.
Definition: sql_show.h:343
Represents SHOW CREATE USER statement.
Definition: sql_show.h:353
Represents SHOW DATABASES statement.
Definition: sql_show.h:362
Represents SHOW ENGINE LOGS statement.
Definition: sql_show.h:370
Represents SHOW ENGINE MUTEX statement.
Definition: sql_show.h:379
Represents SHOW ENGINE STATUS statement.
Definition: sql_show.h:388
Represents SHOW STORAGE ENGINES statement.
Definition: sql_show.h:398
Represents SHOW ERRORS statement.
Definition: sql_show.h:405
Represents SHOW EVENTS statement.
Definition: sql_show.h:415
Represents SHOW GRANTS statement.
Definition: sql_show.h:425
Represents the SHOW INDEX statement.
Definition: sql_show.h:443
Represents SHOW OPEN TABLES statement.
Definition: sql_show.h:460
Represents SHOW PARSE_TREE statement.
Definition: sql_show.h:502
Represents SHOW PLUGINS statement.
Definition: sql_show.h:467
Represents SHOW PRIVILEGES statement.
Definition: sql_show.h:474
Represents SHOW PROCESSLIST statement.
Definition: sql_show.h:482
Represents SHOW PROFILE statement.
Definition: sql_show.h:509
Represents SHOW PROFILES statement.
Definition: sql_show.h:516
Represents SHOW RELAYLOG EVENTS statement.
Definition: sql_show.h:524
Represents SHOW REPLICA STATUS statement.
Definition: sql_show.h:548
Represents SHOW REPLICAS statement.
Definition: sql_show.h:539
Represents SHOW FUNCTION CODE and SHOW PROCEDURE CODE statements.
Definition: sql_show.h:218
Represents SHOW STATUS FUNCTION statement.
Definition: sql_show.h:573
Represents SHOW STATUS LIBRARY statement.
Definition: sql_show.h:566
Represents SHOW STATUS PROCEDURE statement.
Definition: sql_show.h:580
Represents SHOW STATUS statement.
Definition: sql_show.h:558
Represents SHOW TABLE STATUS statement.
Definition: sql_show.h:587
Represents SHOW TABLES statement.
Definition: sql_show.h:595
Represents SHOW TRIGGERS statement.
Definition: sql_show.h:602
Represents SHOW VARIABLES statement.
Definition: sql_show.h:609
Represents SHOW WARNINGS statement.
Definition: sql_show.h:616
Sql_cmd_shutdown represents the SHUTDOWN statement.
Definition: sql_admin.h:249
Sql_cmd_truncate_table represents the TRUNCATE statement.
Definition: sql_truncate.h:44
Representation of an SQL command.
Definition: sql_cmd.h:83
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:169
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
LEX * lex
Definition: sql_class.h:1006
const CHARSET_INFO * charset() const
Definition: sql_lexer_thd.h:42
MEM_ROOT * mem_root
Definition: sql_lexer_thd.h:40
Definition: sql_lex.h:313
Represents the (explicit) window of a SQL 2003 section 7.11 <window clause>, or the implicit (inlined...
Definition: window.h:110
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:111
Definition: partition_info.h:209
uint num_parts
Definition: partition_info.h:370
Sql_cmd_alter_resource_group represents ALTER RESOURCE GROUP statement.
Definition: resource_group_sql_cmd.h:77
Sql_cmd_create_resource_group represents CREATE RESOURCE GROUP statement.
Definition: resource_group_sql_cmd.h:46
Sql_cmd_drop_resource_group represents DROP RESOURCE GROUP statement.
Definition: resource_group_sql_cmd.h:111
Sql_cmd_set_resource_group represents SET RESOURCE GROUP statement.
Definition: resource_group_sql_cmd.h:133
sp_head represents one instance of a stored program.
Definition: sp_head.h:389
Definition: sp_head.h:124
Definition: sql_exchange.h:196
URI_information uri_info
Definition: sql_exchange.h:200
Field_separators field
Definition: sql_exchange.h:198
File_information file_info
Definition: sql_exchange.h:201
LEX_CSTRING outfile_json
Definition: sql_exchange.h:207
Line_separators line
Definition: sql_exchange.h:199
static MEM_ROOT mem_root
Definition: client_plugin.cc:114
enum_query_type
Query type constants (usable as bitmap flags).
Definition: enum_query_type.h:31
void my_error(int nr, myf MyFlags,...)
Fill in and print a previously registered error message.
Definition: my_error.cc:217
bool make_subquery_node(THD *thd, PT_subquery **node)
Definition: sql_parse.cc:5808
bool lookup(Table_ref *tl, PT_common_table_expr **found)
Looks up a table reference into the list of CTEs.
Definition: sql_parse.cc:5909
bool match_table_ref(Table_ref *tl, bool in_self, bool *found)
Definition: sql_parse.cc:5990
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::avg_row_length), HA_CREATE_USED_AVG_ROW_LENGTH > PT_create_avg_row_length_option
Node for the AVG_ROW_LENGTH_ROWS [=] <integer> table option.
Definition: parse_tree_nodes.h:2698
PT_ternary_create_table_option< HA_CREATE_USED_PACK_KEYS, 0, HA_OPTION_PACK_KEYS, HA_OPTION_NO_PACK_KEYS > PT_create_pack_keys_option
Node for the PACK_KEYS [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:2836
PT_ternary_create_table_option< HA_CREATE_USED_ALLOW_MISSING_FILES, 0, HA_OPTION_ALLOW_MISSING_FILES, HA_OPTION_NO_ALLOW_MISSING_FILES > PT_create_allow_missing_files_option
Node for the ALLOW_MISSING_FILES [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:3144
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::auto_increment_value), HA_CREATE_USED_AUTO > PT_create_auto_increment_option
Node for the AUTO_INCREMENT [=] <integer> table option.
Definition: parse_tree_nodes.h:2743
PT_ternary_create_table_option< HA_CREATE_USED_AUTO_REFRESH, 0, HA_OPTION_AUTO_REFRESH, HA_OPTION_NO_AUTO_REFRESH > PT_create_auto_refresh_option
Node for the AUTO_REFRESH_MODE [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:3196
PT_ternary_create_table_option< HA_CREATE_USED_STRICT_LOAD, 0, HA_OPTION_STRICT_LOAD, HA_OPTION_NO_STRICT_LOAD > PT_create_strict_load_option
Node for the STRICT_LOAD [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:3179
PT_bool_create_table_option< HA_CREATE_USED_CHECKSUM, HA_OPTION_CHECKSUM, HA_OPTION_NO_CHECKSUM > PT_create_checksum_option
Node for the CHECKSUM|TABLE_CHECKSUM [=] 0|<not 0> table option.
Definition: parse_tree_nodes.h:2892
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::compress), HA_CREATE_USED_COMPRESS > PT_create_compress_option
Node for the COMPRESSION [=] <string> table option.
Definition: parse_tree_nodes.h:2725
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::encrypt_type), HA_CREATE_USED_ENCRYPT > PT_create_encryption_option
Node for the ENGRYPTION [=] <string> table option.
Definition: parse_tree_nodes.h:2734
PT_ternary_create_table_option< HA_CREATE_USED_STATS_PERSISTENT, 0, HA_OPTION_STATS_PERSISTENT, HA_OPTION_NO_STATS_PERSISTENT > PT_create_stats_persistent_option
Node for the STATS_PERSISTENT [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:2853
PT_bool_create_table_option< HA_CREATE_USED_DELAY_KEY_WRITE, HA_OPTION_DELAY_KEY_WRITE, HA_OPTION_NO_DELAY_KEY_WRITE > PT_create_delay_key_write_option
Node for the DELAY_KEY_WRITE [=] 0|<not 0> table option.
Definition: parse_tree_nodes.h:2907
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::comment), HA_CREATE_USED_COMMENT > PT_create_commen_option
Node for the COMMENT [=] <string> table option.
Definition: parse_tree_nodes.h:2716
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::max_rows), HA_CREATE_USED_MAX_ROWS > PT_create_max_rows_option
Node for the MAX_ROWS [=] <integer> table option.
Definition: parse_tree_nodes.h:2680
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::min_rows), HA_CREATE_USED_MIN_ROWS > PT_create_min_rows_option
Node for the MIN_ROWS [=] <integer> table option.
Definition: parse_tree_nodes.h:2689
PT_ternary_create_table_option< HA_CREATE_USED_VERIFY_KEY_CONSTRAINTS, 0, HA_OPTION_VERIFY_KEY_CONSTRAINTS, HA_OPTION_NO_VERIFY_KEY_CONSTRAINTS > PT_create_verify_key_constraints_option
Node for the VERIFY_KEY_CONSTRAINTS [=] 1|0|DEFAULT table option.
Definition: parse_tree_nodes.h:3162
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::password), HA_CREATE_USED_PASSWORD > PT_create_password_option
Node for the PASSWORD [=] <string> table option.
Definition: parse_tree_nodes.h:2707
static int flags[50]
Definition: hp_test1.cc:40
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:180
fk_match_opt
Definition: key_spec.h:58
enum_order
Definition: key_spec.h:65
@ ORDER_NOT_RELEVANT
Definition: key_spec.h:65
@ ORDER_ASC
Definition: key_spec.h:65
@ ORDER_DESC
Definition: key_spec.h:65
keytype
Definition: key_spec.h:40
fk_option
Definition: key_spec.h:49
constexpr const LEX_STRING NULL_STR
Definition: lex_string.h:47
#define comment
Definition: lexyy.cc:959
This file follows Google coding style, except for the name MEM_ROOT (which is kept for historical rea...
std::unique_ptr< T, Destroy_only< T > > unique_ptr_destroy_only
std::unique_ptr, but only destroying.
Definition: my_alloc.h:480
This file includes constants used by all storage engines.
#define HA_OPTION_NO_DELAY_KEY_WRITE
DELAY_KEY_WRITE=0 option was specified.
Definition: my_base.h:724
#define HA_OPTION_NO_PACK_KEYS
PACK_KEYS=0 option was specified.
Definition: my_base.h:667
#define HA_OPTION_CHECKSUM
CHECKSUM=1 option was specified.
Definition: my_base.h:652
#define HA_OPTION_AUTO_REFRESH
AUTO_REFRESH=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:793
#define HA_OPTION_STRICT_LOAD
STRICT_LOAD=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:775
#define HA_OPTION_NO_CHECKSUM
CHECKSUM=0 option was specified.
Definition: my_base.h:719
#define HA_OPTION_ALLOW_MISSING_FILES
ALLOW_MISSING_FILES=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:739
#define HA_OPTION_DELAY_KEY_WRITE
DELAY_KEY_WRITE=1 option was specified.
Definition: my_base.h:660
ha_key_alg
Definition: my_base.h:98
#define HA_OPTION_NO_VERIFY_KEY_CONSTRAINTS
VERIFY_KEY_CONSTRAINTS=0 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:765
#define HA_OPTION_NO_ALLOW_MISSING_FILES
ALLOW_MISSING_FILES=0 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:749
#define HA_OPTION_NO_STRICT_LOAD
STRICT_LOAD=0 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:784
#define HA_OPTION_NO_AUTO_REFRESH
AUTO_REFRESH=0 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:800
#define HA_OPTION_STATS_PERSISTENT
STATS_PERSISTENT=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:692
ha_storage_media
Definition: my_base.h:116
#define HA_OPTION_PACK_KEYS
PACK_KEYS=1 option was specified.
Definition: my_base.h:620
#define HA_OPTION_VERIFY_KEY_CONSTRAINTS
VERIFY_KEY_CONSTRAINTS=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:757
#define HA_OPTION_NO_STATS_PERSISTENT
STATS_PERSISTENT=0 has been specified in CREATE/ALTER TABLE.
Definition: my_base.h:699
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned char uchar
Definition: my_inttypes.h:52
#define MYF(v)
Definition: my_inttypes.h:97
int32_t int32
Definition: my_inttypes.h:66
enum_sql_command
Definition: my_sqlcommand.h:46
@ SQLCOM_SHOW_ENGINE_LOGS
Definition: my_sqlcommand.h:64
@ SQLCOM_SHOW_GRANTS
Definition: my_sqlcommand.h:70
@ SQLCOM_SHOW_CREATE_DB
Definition: my_sqlcommand.h:74
@ SQLCOM_SHOW_STATUS_FUNC
Definition: my_sqlcommand.h:145
@ SQLCOM_SHOW_CREATE_FUNC
Definition: my_sqlcommand.h:143
@ SQLCOM_SHOW_CREATE_TRIGGER
Definition: my_sqlcommand.h:174
@ SQLCOM_SHOW_ENGINE_MUTEX
Definition: my_sqlcommand.h:66
@ SQLCOM_SHOW_PARSE_TREE
Definition: my_sqlcommand.h:206
@ SQLCOM_SHOW_PRIVILEGES
Definition: my_sqlcommand.h:129
@ SQLCOM_SHOW_BINLOGS
Definition: my_sqlcommand.h:115
@ SQLCOM_SHOW_BINLOG_EVENTS
Definition: my_sqlcommand.h:123
@ SQLCOM_SHOW_REPLICAS
Definition: my_sqlcommand.h:120
@ SQLCOM_SHOW_WARNS
Definition: my_sqlcommand.h:125
@ SQLCOM_SHOW_STATUS_PROC
Definition: my_sqlcommand.h:144
@ SQLCOM_SHOW_PLUGINS
Definition: my_sqlcommand.h:165
@ SQLCOM_SHOW_PROFILE
Definition: my_sqlcommand.h:175
@ SQLCOM_SHOW_DATABASES
Definition: my_sqlcommand.h:58
@ SQLCOM_SHOW_CHARSETS
Definition: my_sqlcommand.h:72
@ SQLCOM_SHOW_OPEN_TABLES
Definition: my_sqlcommand.h:116
@ SQLCOM_SHOW_TABLE_STATUS
Definition: my_sqlcommand.h:75
@ SQLCOM_SELECT
Definition: my_sqlcommand.h:47
@ SQLCOM_SHOW_ERRORS
Definition: my_sqlcommand.h:127
@ SQLCOM_SHOW_REPLICA_STATUS
Definition: my_sqlcommand.h:69
@ SQLCOM_SHOW_FIELDS
Definition: my_sqlcommand.h:60
@ SQLCOM_SHOW_CREATE_USER
Definition: my_sqlcommand.h:183
@ SQLCOM_SHOW_STATUS
Definition: my_sqlcommand.h:63
@ SQLCOM_SHOW_BINLOG_STATUS
Definition: my_sqlcommand.h:68
@ SQLCOM_SHOW_ENGINE_STATUS
Definition: my_sqlcommand.h:65
@ SQLCOM_SHOW_EVENTS
Definition: my_sqlcommand.h:173
@ SQLCOM_SHOW_CREATE_PROC
Definition: my_sqlcommand.h:142
@ SQLCOM_SHOW_COLLATIONS
Definition: my_sqlcommand.h:73
@ SQLCOM_SHOW_PROC_CODE
Definition: my_sqlcommand.h:159
@ SQLCOM_SHOW_FUNC_CODE
Definition: my_sqlcommand.h:160
@ SQLCOM_SHOW_KEYS
Definition: my_sqlcommand.h:61
@ SQLCOM_SHOW_STATUS_LIBRARY
Definition: my_sqlcommand.h:211
@ SQLCOM_SHOW_TABLES
Definition: my_sqlcommand.h:59
@ SQLCOM_SHOW_VARIABLES
Definition: my_sqlcommand.h:62
@ SQLCOM_SHOW_CREATE_EVENT
Definition: my_sqlcommand.h:172
@ SQLCOM_SHOW_PROCESSLIST
Definition: my_sqlcommand.h:67
@ SQLCOM_SHOW_RELAYLOG_EVENTS
Definition: my_sqlcommand.h:179
@ SQLCOM_SHOW_STORAGE_ENGINES
Definition: my_sqlcommand.h:128
@ SQLCOM_SHOW_CREATE_LIBRARY
Definition: my_sqlcommand.h:209
@ SQLCOM_SHOW_TRIGGERS
Definition: my_sqlcommand.h:76
@ SQLCOM_SHOW_CREATE
Definition: my_sqlcommand.h:71
@ SQLCOM_SHOW_PROFILES
Definition: my_sqlcommand.h:176
Common header for many mysys elements.
static my_thread_id thread_id
Definition: my_thr_init.cc:60
uint32 my_thread_id
Definition: my_thread_local.h:34
Interface for low level time utilities.
interval_type
Available interval types used in any statement.
Definition: my_time.h:439
@ INTERVAL_LAST
Definition: my_time.h:460
static bool column_names
Definition: mysql.cc:174
char * user
Definition: mysqladmin.cc:67
static bool ignore_errors
Definition: mysqlcheck.cc:62
static uint verbose
Definition: mysqlcheck.cc:66
thread_local MEM_ROOT ** THR_MALLOC
Definition: mysqld.cc:1592
static char * path
Definition: mysqldump.cc:150
static char * where
Definition: mysqldump.cc:153
static longlong opt_ignore_lines
Definition: mysqlimport.cc:85
static Secondary_engine * secondary_engine
Definition: mysqltest.cc:260
static char * opt_db
Definition: mysqltest.cc:196
const char * collation
Definition: audit_api_message_emit.cc:184
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1077
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
const std::string charset("charset")
std::string dir
Double write files location.
Definition: buf0dblwr.cc:77
Definition: my_file.cc:178
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
bool any_of(const Container &c, const Value &value)
Definition: any_of.h:35
void right(std::string *to_trim)
Definition: trim.h:41
void left(std::string *to_trim)
Definition: trim.h:35
MediaType
Definition: media_type.h:33
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
HARNESS_EXPORT void lower(std::string &s)
lower-case a string.
Definition: string_utils.cc:95
Definition: options.cc:57
Type
Definition: resource_group_basic_types.h:33
const char * table_name
Definition: rules_table_service.cc:56
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
olap_type
Definition: olap.h:31
@ ROLLUP_TYPE
Definition: olap.h:33
MY_SQL_PARSER_LTYPE POS
Definition: parse_location.h:57
Surrounding_context
Definition: parse_tree_node_base.h:101
bool contextualize_nodes(Mem_root_array_YY< Node_type * > nodes, Parse_context_type *pc)
Calls contextualize() on every node in the array.
Definition: parse_tree_nodes.h:150
PT_base_index_option * make_index_secondary_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5707
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::row_type), HA_CREATE_USED_ROW_FORMAT > PT_create_row_format_option
Definition: parse_tree_nodes.h:2747
#define TYPE_AND_REF(x)
Definition: parse_tree_nodes.h:2671
Parse_tree_node_tmpl< Table_ddl_parse_context > Table_ddl_node
Base class for all table DDL (ALTER TABLE and CREATE TABLE) nodes.
Definition: parse_tree_nodes.h:214
decltype(HA_CREATE_INFO::table_options) table_options_t
Definition: parse_tree_nodes.h:2784
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::data_file_name), HA_CREATE_USED_DATADIR > PT_create_data_directory_option
Definition: parse_tree_nodes.h:2756
PT_index_option< ulong, &KEY_CREATE_INFO::block_size > PT_block_size
Definition: parse_tree_nodes.h:2475
PT_alter_tablespace_option_base * make_tablespace_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5521
PT_column_attr_base * make_column_external_format(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5657
PT_index_option< LEX_CSTRING, &KEY_CREATE_INFO::comment > PT_index_comment
Definition: parse_tree_nodes.h:2477
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::connect_string), HA_CREATE_USED_CONNECTION > PT_create_connection_option
Definition: parse_tree_nodes.h:2768
Mem_root_array_YY< PT_base_index_option * > Index_options
Definition: parse_tree_nodes.h:2474
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::tablespace), HA_CREATE_USED_TABLESPACE > PT_create_tablespace_option
Definition: parse_tree_nodes.h:2764
PT_base_index_option * make_index_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5687
To * setop_cast(PT_query_expression_body *from, bool is_distinct)
Helper function to imitate dynamic_cast for PT_set_operation hierarchy.
Definition: parse_tree_nodes.h:5986
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::index_file_name), HA_CREATE_USED_INDEXDIR > PT_create_index_directory_option
Definition: parse_tree_nodes.h:2760
PT_index_option< LEX_CSTRING, &KEY_CREATE_INFO::parser_name > PT_fulltext_index_parser_name
Definition: parse_tree_nodes.h:2479
PT_column_attr_base * make_column_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5598
PT_create_table_option * make_table_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5542
Parse_tree_node_tmpl< Alter_tablespace_parse_context > PT_alter_tablespace_option_base
Definition: parse_tree_nodes.h:5507
PT_traceable_index_option< ha_key_alg, &KEY_CREATE_INFO::algorithm, &KEY_CREATE_INFO::is_algorithm_explicit > PT_index_type
The data structure (B-tree, Hash, etc) used for an index is called 'index_type' in the manual.
Definition: parse_tree_nodes.h:2492
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::m_implicit_tablespace_autoextend_size), HA_CREATE_USED_AUTOEXTEND_SIZE > PT_create_ts_autoextend_size_option
Definition: parse_tree_nodes.h:2782
PT_set_operation * flatten_equal_set_ops(MEM_ROOT *mem_root, const POS &pos, PT_query_expression_body *left, bool is_distinct, PT_query_expression_body *right, bool is_right_in_parentheses)
Flatten set operators at parse time.
Definition: parse_tree_nodes.h:6016
PT_column_attr_base * make_column_secondary_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5628
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::key_block_size), HA_CREATE_USED_KEY_BLOCK_SIZE > PT_create_key_block_size_option
Definition: parse_tree_nodes.h:2772
PT_create_table_option * make_table_secondary_engine_attribute(MEM_ROOT *, LEX_CSTRING)
Factory function which instantiates PT_attribute with suitable parameters, allocates on the provided ...
Definition: parse_tree_nodes.cc:5575
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::m_transactional_ddl), HA_CREATE_USED_START_TRANSACTION > PT_create_start_transaction_option
Definition: parse_tree_nodes.h:2777
PT_index_option< bool, &KEY_CREATE_INFO::is_visible > PT_index_visibility
Definition: parse_tree_nodes.h:2480
PT_traceable_create_table_option< TYPE_AND_REF(HA_CREATE_INFO::merge_insert_method), HA_CREATE_USED_INSERT_METHOD > PT_create_insert_method_option
Definition: parse_tree_nodes.h:2752
On_duplicate
Definition: parser_yystype.h:250
Locked_row_action
We will static_cast this one to thr_lock_type.
Definition: parser_yystype.h:221
Lock_strength
Definition: parser_yystype.h:218
PT_joined_table_type
Internally there is no CROSS JOIN join type, as cross joins are just a special case of inner joins wi...
Definition: parser_yystype.h:233
@ JTT_LEFT
Definition: parser_yystype.h:237
@ JTT_STRAIGHT_INNER
Definition: parser_yystype.h:240
@ JTT_NATURAL_LEFT
Definition: parser_yystype.h:242
@ JTT_NATURAL
Definition: parser_yystype.h:236
@ JTT_NATURAL_INNER
Definition: parser_yystype.h:241
@ JTT_NATURAL_RIGHT
Definition: parser_yystype.h:243
@ JTT_STRAIGHT
Definition: parser_yystype.h:235
@ JTT_RIGHT
Definition: parser_yystype.h:238
@ JTT_INNER
Definition: parser_yystype.h:234
Show_cmd_type
Definition: parser_yystype.h:268
Ternary_option
Definition: parser_yystype.h:248
const char * filename
Definition: pfs_example_component_population.cc:67
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
Query_term_type
This class hierarchy is used to represent SQL structures between <query expression> and <query specif...
Definition: query_term.h:96
required string type
Definition: replication_group_member_actions.proto:34
repeated Action action
Definition: replication_group_member_actions.proto:43
required bool enabled
Definition: replication_group_member_actions.proto:33
"public" interface to sys_var - server configuration variables.
enum_var_type
Definition: set_var.h:92
@ OPT_GLOBAL
Definition: set_var.h:95
@ OPT_SESSION
Definition: set_var.h:94
#define HA_CREATE_USED_COMPRESS
COMPRESSION="zlib|lz4|none" used during table create.
Definition: handler.h:776
#define HA_CREATE_USED_CONNECTION
Definition: handler.h:743
#define HA_CREATE_USED_INSERT_METHOD
Definition: handler.h:728
constexpr const uint64_t HA_CREATE_USED_VERIFY_KEY_CONSTRAINTS
Definition: handler.h:824
#define HA_CREATE_USED_PACK_KEYS
Definition: handler.h:732
#define HA_CREATE_USED_DATADIR
Definition: handler.h:735
#define HA_CREATE_USED_KEY_BLOCK_SIZE
Definition: handler.h:744
#define HA_CREATE_USED_INDEXDIR
Definition: handler.h:736
constexpr const uint64_t HA_CREATE_USED_AUTOEXTEND_SIZE
These flags convey that the options AUTOEXTEND_SIZE has been specified in the CREATE TABLE statement.
Definition: handler.h:818
#define HA_CREATE_USED_TABLESPACE
This is set whenever a 'TABLESPACE=...' phrase is used on CREATE TABLE.
Definition: handler.h:773
enum_tx_isolation
Definition: handler.h:3344
#define HA_CREATE_USED_ROW_FORMAT
Definition: handler.h:740
#define HA_CREATE_USED_ENCRYPT
ENCRYPTION="Y" used during table create.
Definition: handler.h:779
#define HA_CREATE_USED_DELAY_KEY_WRITE
Definition: handler.h:739
#define HA_CREATE_USED_MIN_ROWS
Definition: handler.h:729
#define HA_CREATE_USED_PASSWORD
Definition: handler.h:742
constexpr const uint64_t HA_CREATE_USED_START_TRANSACTION
This option is used to convey that the create table should not commit the operation and keep the tran...
Definition: handler.h:802
#define HA_CREATE_USED_COMMENT
Definition: handler.h:741
#define HA_CREATE_USED_MAX_ROWS
Definition: handler.h:730
constexpr const uint64_t HA_CREATE_USED_ALLOW_MISSING_FILES
Definition: handler.h:823
#define HA_CREATE_USED_CHECKSUM
Definition: handler.h:738
#define HA_CREATE_USED_STATS_PERSISTENT
This is set whenever STATS_PERSISTENT=0|1|default has been specified in CREATE/ALTER TABLE.
Definition: handler.h:754
constexpr const uint64_t HA_CREATE_USED_STRICT_LOAD
Definition: handler.h:825
#define HA_CREATE_USED_AVG_ROW_LENGTH
Definition: handler.h:731
#define HA_CREATE_USED_AUTO
Definition: handler.h:725
constexpr const uint64_t HA_CREATE_USED_AUTO_REFRESH
Definition: handler.h:826
alter_instance_action_enum
Definition: sql_admin.h:392
role_enum
Definition: sql_admin.h:255
This file declares the interface of classes Sql_cmd_create_srs and Sql_cmd_drop_srs,...
constexpr const long STACK_MIN_SIZE
Stack reservation.
Definition: sql_const.h:144
enum_filetype
Definition: sql_exchange.h:34
enum_destination
Definition: sql_exchange.h:42
@ DUMPFILE_DEST
Definition: sql_exchange.h:45
enum_source_type
Definition: sql_exchange.h:32
case opt name
Definition: sslopt-case.h:29
#define STRING_WITH_LEN(X)
Definition: string_with_len.h:29
Definition: parse_tree_nodes.h:5498
Alter_tablespace_parse_context(THD *thd, bool show_parse_tree=false)
Definition: parse_tree_nodes.cc:5418
THD *const thd
Definition: parse_tree_nodes.h:5499
MEM_ROOT *const mem_root
Definition: parse_tree_nodes.h:5500
Definition: m_ctype.h:421
Definition: parse_tree_nodes.h:3405
const LEX_STRING ident
Definition: parse_tree_nodes.h:3406
Dynamic_privilege(const LEX_STRING &ident, const Mem_root_array< LEX_CSTRING > *columns_arg)
Definition: parse_tree_nodes.h:3408
uint sql_flags
Definition: handler.h:3969
uint flags
Definition: handler.h:3968
Struct to hold information about the table that should be created.
Definition: handler.h:3360
ulonglong auto_increment_value
Definition: handler.h:3403
bool m_transactional_ddl
Definition: handler.h:3441
enum row_type row_type
Row type of the table definition.
Definition: handler.h:3424
LEX_STRING compress
Algorithm (and possible options) to be used for InnoDB's transparent page compression.
Definition: handler.h:3376
LEX_STRING encrypt_type
This attribute is used for InnoDB's transparent page encryption.
Definition: handler.h:3384
ulong avg_row_length
Definition: handler.h:3405
const char * data_file_name
Definition: handler.h:3398
ulonglong m_implicit_tablespace_autoextend_size
Definition: handler.h:3446
uint stats_sample_pages
Definition: handler.h:3410
uint merge_insert_method
Definition: handler.h:3427
LEX_STRING connect_string
Definition: handler.h:3364
const char * tablespace
Definition: handler.h:3366
ulonglong max_rows
Definition: handler.h:3401
const char * password
Definition: handler.h:3365
ha_storage_media storage_media
Definition: handler.h:3428
LEX_STRING comment
Definition: handler.h:3367
const char * index_file_name
Definition: handler.h:3399
std::uint32_t key_block_size
Definition: handler.h:3409
uint64_t table_options
Definition: handler.h:3404
ulonglong min_rows
Definition: handler.h:3402
uint64_t used_fields
Definition: handler.h:3406
Opt_hints_global * opt_hints_global
Definition: sql_lex.h:4118
Definition: parser_yystype.h:196
bool is_offset_first
Definition: parser_yystype.h:202
Definition: thr_lock.h:99
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: mysql_lex_string.h:40
const char * str
Definition: mysql_lex_string.h:41
Definition: mysql_lex_string.h:35
char * str
Definition: mysql_lex_string.h:36
size_t length
Definition: mysql_lex_string.h:37
Bison "location" class.
Definition: parse_location.h:43
const char * used_alias
Tells whether this ORDER element was referenced with an alias or with an expression in the query,...
Definition: table.h:339
Item * item_initial
The initial ordering expression.
Definition: table.h:318
ORDER * next
Definition: table.h:305
enum_order direction
Definition: table.h:330
table_map used
Definition: table.h:351
Definition: parse_tree_node_base.h:405
Environment data for the contextualization phase.
Definition: parse_tree_node_base.h:422
THD *const thd
Current thread handler.
Definition: parse_tree_node_base.h:423
MEM_ROOT * mem_root
Current MEM_ROOT.
Definition: parse_tree_node_base.h:424
This class is used for representing both static and dynamic privileges on global as well as table and...
Definition: parse_tree_nodes.h:3387
const Mem_root_array< LEX_CSTRING > * columns
Definition: parse_tree_nodes.h:3391
Privilege(privilege_type type, const Mem_root_array< LEX_CSTRING > *columns)
Definition: parse_tree_nodes.h:3393
privilege_type
Definition: parse_tree_nodes.h:3388
@ STATIC
Definition: parse_tree_nodes.h:3388
@ DYNAMIC
Definition: parse_tree_nodes.h:3388
privilege_type type
Definition: parse_tree_nodes.h:3390
Info on properties that can be set with '–disable_X' and '–disable_X' commands.
Definition: mysqltest.cc:281
Definition: parse_tree_node_base.h:115
Definition: parser_yystype.h:205
Definition: sql_cmd_srs.h:41
Definition: parse_tree_nodes.h:3398
const uint grant
Definition: parse_tree_nodes.h:3399
Static_privilege(uint grant, const Mem_root_array< LEX_CSTRING > *columns_arg)
Definition: parse_tree_nodes.h:3401
Parse context for the table DDL (ALTER TABLE and CREATE TABLE) nodes.
Definition: parse_tree_nodes.h:203
HA_CREATE_INFO *const create_info
Definition: parse_tree_nodes.h:206
Alter_info *const alter_info
Definition: parse_tree_nodes.h:207
Table_ddl_parse_context(THD *thd_arg, Query_block *select_arg, Alter_info *alter_info)
Definition: parse_tree_nodes.cc:161
KEY_CREATE_INFO *const key_create_info
Definition: parse_tree_nodes.h:208
Structure used by parser to store options for tablespace statements and pass them on to Execution cla...
Definition: sql_tablespace.h:43
ulonglong redo_buffer_size
Definition: sql_tablespace.h:46
ulonglong undo_buffer_size
Definition: sql_tablespace.h:45
ulonglong file_block_size
Definition: sql_tablespace.h:50
std::optional< ulonglong > autoextend_size
Definition: sql_tablespace.h:48
uint nodegroup_id
Definition: sql_tablespace.h:51
LEX_STRING ts_comment
Definition: sql_tablespace.h:53
LEX_STRING encryption
Definition: sql_tablespace.h:55
ulonglong max_size
Definition: sql_tablespace.h:49
LEX_CSTRING engine_name
Definition: sql_tablespace.h:54
ulonglong initial_size
Definition: sql_tablespace.h:47
bool wait_until_completed
Definition: sql_tablespace.h:52
ulonglong extent_size
Definition: sql_tablespace.h:44
Definition: parser_yystype.h:330
Definition: sql_lex.h:2620
Explain_format_type
Values for explain_format sysvar.
Definition: system_variables.h:115
tablesample_type
Definition: tablesample.h:27
thr_lock_type
Definition: thr_lock.h:51
@ TL_WRITE
Definition: thr_lock.h:92
@ TL_READ_WITH_SHARED_LOCKS
Definition: thr_lock.h:63
@ TL_IGNORE
Definition: thr_lock.h:52
thr_locked_row_action
Definition: thr_lock.h:97
enum_window_frame_exclusion
Cf.
Definition: window_lex.h:48
enum_window_frame_unit
Cf.
Definition: window_lex.h:31
enum_window_border_type
Cf.
Definition: window_lex.h:37
@ WBT_VALUE_FOLLOWING
Definition: window_lex.h:40
@ WBT_VALUE_PRECEDING
Definition: window_lex.h:39