24#ifndef PARSE_TREE_NODES_INCLUDED
25#define PARSE_TREE_NODES_INCLUDED
45#include "mysqld_error.h"
147template <
class Node_type,
class Parse_context_type>
149 Parse_context_type *pc) {
150 for (Node_type *i : nodes)
151 if (i->contextualize(pc))
return true;
224 for (
ORDER *o =
value.first; o !=
nullptr; o = o->next) {
579 :
PT_joined_table(tab1_node_arg, join_pos_arg, Type_arg, tab2_node_arg) {}
592 :
super(tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
on(on_arg) {}
606 :
super(tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
718 if (locking_clause->contextualize(pc))
return true;
916 const char *current_password_arg,
918 bool random_password,
919 const POS &expr_pos_arg)
942 const char *password_arg,
943 const char *current_password_arg,
946 const POS &expr_pos_arg)
981 const POS &value_pos_arg)
998 :
super(delimiter_pos_arg, tail, tail_pos),
head(head_arg) {}
1016 const POS &head_pos_arg,
1041 :
super(
"transaction_read_only", (
int32)is_read_only) {}
1049 :
super(
"transaction_isolation", (
int32)level) {}
1079 const POS &end_pos_arg)
1115 const POS &characteristics_pos_arg)
1132 :
type(type_arg),
list(list_arg) {}
1340 m_from(from_to->m_borders[0]),
1341 m_to(from_to->m_borders[1]),
1366 Item *opt_where_clause_arg,
PT_group *opt_group_clause_arg,
1368 bool implicit_from_clause)
1379 assert(implicit_from_clause ?
from_clause.empty() :
true);
1385 Item *opt_where_clause_arg)
1462 :
super(options_arg, item_list_arg, from_clause_arg,
nullptr) {}
1513 if (
m_limit !=
nullptr && !order && limit) {
1536 if (
m_order !=
nullptr &&
m_limit ==
nullptr && !order && limit) {
1627 :
qe(query_expression),
1643 bool is_rhs_in_parentheses =
false)
1657 return body.has_into_clause();
1662 m_list[
m_list.elements - 1]->has_trailing_into_clause();
1735 bool has_trailing_locking_clauses =
false)
1773 int opt_delete_options_arg,
Table_ident *table_ident_arg,
1776 PT_order *opt_order_clause_arg,
Item *opt_delete_limit_clause_arg)
1792 int opt_delete_options_arg,
1795 Item *opt_where_clause_arg)
1841 Item *opt_where_clause_arg,
PT_order *opt_order_clause_arg,
1842 Item *opt_limit_clause_arg)
1996 for (
size_t pos = 0; pos <
length; pos++) {
1997 if (std::iscntrl(
str[pos]))
return true;
2178template <
typename Option_type, Option_type KEY_CREATE_INFO::*Property>
2371 uint64_t Property_flag>
2388#define TYPE_AND_REF(x) decltype(x), &x
2576template <u
long Property_flag, table_options_t Yes, table_options_t No>
2753 assert(
value !=
nullptr);
2767 assert(
value !=
nullptr);
2892 :
sql_cmd(if_not_exists, roles) {}
2913 :
sql_cmd(role_type, opt_except_roles) {
3038 :
sql_cmd(if_exists, users, roles, role_type) {}
3351 m_all(opt_engine.str ==
nullptr) {}
3447 Item *opt_where =
nullptr)
3473 sql_cmd(opt_for_user, opt_using_users) {
3474 assert(opt_using_users ==
nullptr || opt_for_user !=
nullptr);
3825 const char *opt_place)
3827 m_column_def(field_ident, field_def, opt_column_constraint, opt_place) {
3850 if (column->contextualize(pc))
return true;
3881 const char *opt_place)
3890 const char *opt_place)
3964 :
super(alter_info_flag),
3992 is_enforced ?
Alter_info::ENFORCE_CHECK_CONSTRAINT
3994 name, is_enforced) {}
4021 m_expr(opt_default_expr) {}
4177 :
super(alter_info_flag) {}
4220 bool no_write_to_binlog,
4241 :
super(no_write_to_binlog) {
4428 opt_partition_list) {}
4464 bool no_write_to_binlog,
const List<String> &partition_names,
4937template <
typename Option_type, Option_type Tablespace_options::*Option>
5021 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"COMMENT");
5046 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"STORAGE ENGINE");
5072 my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,
MYF(0),
"FILE_BLOCK_SIZE");
5097 opt_priority.is_default ? 0 : opt_priority.value,
enabled),
5116 opt_priority.is_default ? 0 : opt_priority.value,
5117 enable.is_default ? false : enable.value, force,
5118 !enable.is_default) {}
5132 :
sql_cmd(resource_group_name, force) {}
5187 String *opt_xml_rows_identified_by,
5193 :
m_cmd(filetype, is_local_file,
filename, on_duplicate, table,
5194 opt_partitions, opt_charset, opt_xml_rows_identified_by,
5196 opt_fields_or_vars ? &opt_fields_or_vars->value :
nullptr,
5197 opt_set_fields ? &opt_set_fields->value :
nullptr,
5198 opt_set_exprs ? &opt_set_exprs->value :
nullptr,
5199 opt_set_expr_strings),
5201 assert((opt_set_fields ==
nullptr) ^ (opt_set_exprs !=
nullptr));
5202 assert(opt_set_fields ==
nullptr ||
5203 opt_set_fields->
value.size() == opt_set_exprs->
value.size());
5265template <
class To, PT_set_operation::Setop_type Tag>
5267 return (from->
type() == Tag &&
5268 down_cast<PT_set_operation *>(from)->is_distinct() == is_distinct &&
5270 ?
static_cast<To *
>(from)
5294template <
class Class, PT_set_operation::Setop_type Tag>
5299 bool is_right_in_parentheses) {
5300 if (left ==
nullptr || right ==
nullptr)
return nullptr;
5301 Class *left_setop = setop_cast<Class, Tag>(left, is_distinct);
5302 Class *right_setop [[maybe_unused]] =
5303 setop_cast<Class, Tag>(right, is_distinct);
5304 assert(right_setop ==
nullptr);
5305 if (left_setop !=
nullptr) {
5307 left_setop->m_list.push_back(right);
5308 left_setop->set_is_rhs_in_parentheses(is_right_in_parentheses);
5313 Class(left, is_distinct, right, is_right_in_parentheses);
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:81
Class representing ALTER CHECK and ALTER CONSTRAINT clauses in ALTER TABLE statement.
Definition: sql_alter.h:183
Type
Definition: sql_alter.h:185
Class representing DROP COLUMN, DROP KEY, DROP FOREIGN KEY, DROP CHECK CONSTRAINT and DROP CONSTRAINT...
Definition: sql_alter.h:64
drop_type
Definition: sql_alter.h:66
An ALTER INDEX operation that changes the visibility of an index.
Definition: sql_alter.h:147
Data describing the table being created by CREATE TABLE or altered by ALTER TABLE.
Definition: sql_alter.h:204
enum_alter_table_algorithm
The different values of the ALGORITHM clause.
Definition: sql_alter.h:354
enum_alter_table_lock
The different values of the LOCK clause.
Definition: sql_alter.h:372
Mem_root_array< const Alter_drop * > drop_list
Columns, keys and constraints to be dropped.
Definition: sql_alter.h:404
Mem_root_array< const Alter_constraint_enforcement * > alter_constraint_enforcement_list
List of check constraints whose enforcement state is changed.
Definition: sql_alter.h:418
List< String > partition_names
Definition: sql_alter.h:432
enum_with_validation
Status of validation clause in ALTER TABLE statement.
Definition: sql_alter.h:390
@ ENABLE
Definition: sql_alter.h:348
@ DISABLE
Definition: sql_alter.h:348
Mem_root_array< const Alter_column * > alter_list
Definition: sql_alter.h:406
enum_enable_or_disable keys_onoff
Definition: sql_alter.h:430
ulonglong flags
Definition: sql_alter.h:428
Mem_root_array< const Alter_rename_key * > alter_rename_key_list
Definition: sql_alter.h:411
Alter_info_flag
Definition: sql_alter.h:215
@ ALTER_ADD_PARTITION
Set for ADD PARTITION.
Definition: sql_alter.h:254
@ ALTER_REORGANIZE_PARTITION
Set for REORGANIZE PARTITION ... INTO.
Definition: sql_alter.h:263
@ ALTER_ALL_PARTITION
Set for partitioning operations specifying ALL keyword.
Definition: sql_alter.h:279
@ ALTER_OPTIONS
Set for table_options.
Definition: sql_alter.h:240
Mem_root_array< const Alter_index_visibility * > alter_index_visibility_list
Indexes whose visibilities are to be changed.
Definition: sql_alter.h:414
Class which instances represent RENAME INDEX clauses in ALTER TABLE statement.
Definition: sql_alter.h:169
After parsing, a Common Table Expression is accessed through a Table_ref.
Definition: table.h:4333
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:853
Column description for JSON_TABLE function.
Definition: table_function.h:236
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
Definition: sql_list.h:434
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:61
size_t size() const
Definition: mem_root_array.h:407
void init_empty_const()
Initialize empty array that we aren't going to grow.
Definition: mem_root_array.h:84
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:426
bool deferred_hints_flag
Definition: opt_hints.h:356
PT_hint_list * deferred_hints
Definition: opt_hints.h:355
Definition: parse_tree_nodes.h:4773
List< String > * m_opt_partitions
Definition: parse_tree_nodes.h:4783
PT_adm_partition(List< String > *opt_partitions)
Definition: parse_tree_nodes.h:4777
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3283
Table_ddl_node super
Definition: parse_tree_nodes.h:4774
Top-level node for the ALTER INSTANCE statement.
Definition: parse_tree_nodes.h:2040
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4321
PT_alter_instance(enum alter_instance_action_enum alter_instance_action, const LEX_CSTRING &channel)
Definition: parse_tree_nodes.h:2044
Sql_cmd_alter_instance sql_cmd
Definition: parse_tree_nodes.h:2041
Parse tree node for ALTER RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5107
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4600
resourcegroups::Sql_cmd_alter_resource_group sql_cmd
Definition: parse_tree_nodes.h:5108
PT_alter_resource_group(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:5111
Definition: parse_tree_nodes.h:3791
PT_alter_table_action(Alter_info::Alter_info_flag flag)
Definition: parse_tree_nodes.h:3795
PT_ddl_table_option super
Definition: parse_tree_nodes.h:3792
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4419
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:3809
const Alter_info::Alter_info_flag flag
Definition: parse_tree_nodes.h:3815
Definition: parse_tree_nodes.h:3818
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3830
PT_alter_table_action super
Definition: parse_tree_nodes.h:3819
PT_alter_table_add_column(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:3822
PT_column_def m_column_def
Definition: parse_tree_nodes.h:3835
Definition: parse_tree_nodes.h:3838
const Mem_root_array< PT_table_element * > * m_columns
Definition: parse_tree_nodes.h:3856
PT_alter_table_add_columns(const Mem_root_array< PT_table_element * > *columns)
Definition: parse_tree_nodes.h:3842
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3846
PT_alter_table_action super
Definition: parse_tree_nodes.h:3839
Definition: parse_tree_nodes.h:3859
PT_alter_table_action super
Definition: parse_tree_nodes.h:3860
PT_alter_table_add_constraint(PT_table_constraint_def *constraint)
Definition: parse_tree_nodes.h:3863
PT_table_constraint_def * m_constraint
Definition: parse_tree_nodes.h:3871
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3866
Node for the ALTER TABLE ADD PARTITION (<partition list>) statement.
Definition: parse_tree_nodes.h:4215
PT_alter_table_add_partition super
Definition: parse_tree_nodes.h:4216
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3023
const Mem_root_array< PT_part_definition * > * m_def_list
Definition: parse_tree_nodes.h:4227
PT_alter_table_add_partition_def_list(bool no_write_to_binlog, const Mem_root_array< PT_part_definition * > *def_list)
Definition: parse_tree_nodes.h:4219
Node for the ALTER TABLE ADD PARTITION PARTITIONS (<n>@) statement.
Definition: parse_tree_nodes.h:4236
PT_alter_table_add_partition_num(bool no_write_to_binlog, uint num_parts)
Definition: parse_tree_nodes.h:4240
PT_alter_table_add_partition super
Definition: parse_tree_nodes.h:4237
Node for the ALTER TABLE ADD PARTITION statement.
Definition: parse_tree_nodes.h:4188
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4206
partition_info m_part_info
Definition: parse_tree_nodes.h:4203
PT_alter_table_add_partition(bool no_write_to_binlog)
Definition: parse_tree_nodes.h:4192
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) final
Definition: parse_tree_nodes.h:4198
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4471
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4189
Definition: parse_tree_nodes.h:4329
PT_alter_table_analyze_partition(bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4333
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4330
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4339
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4503
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4345
Definition: parse_tree_nodes.h:3874
const LEX_STRING m_old_name
Definition: parse_tree_nodes.h:3896
const LEX_STRING m_new_name
Definition: parse_tree_nodes.h:3897
const char * m_opt_place
Definition: parse_tree_nodes.h:3899
PT_field_def_base * m_field_def
Definition: parse_tree_nodes.h:3898
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2937
PT_alter_table_change_column(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:3878
PT_alter_table_change_column(const LEX_STRING &name, PT_field_def_base *field_def, const char *opt_place)
Definition: parse_tree_nodes.h:3888
PT_alter_table_action super
Definition: parse_tree_nodes.h:3875
Definition: parse_tree_nodes.h:4349
uint m_sql_flags
Definition: parse_tree_nodes.h:4368
PT_alter_table_check_partition(const List< String > *opt_partition_list, uint flags, uint sql_flags)
Definition: parse_tree_nodes.h:4353
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4361
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4350
uint m_flags
Definition: parse_tree_nodes.h:4367
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4510
Definition: parse_tree_nodes.h:4398
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4414
PT_alter_table_coalesce_partition(bool no_write_to_binlog, uint num_parts)
Definition: parse_tree_nodes.h:4402
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4533
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4399
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4409
const uint m_num_parts
Definition: parse_tree_nodes.h:4415
Definition: parse_tree_nodes.h:4030
Alter_column m_alter_column
Definition: parse_tree_nodes.h:4044
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4038
PT_alter_table_column_visibility(const char *col_name, bool is_visible)
Definition: parse_tree_nodes.h:4034
PT_alter_table_action super
Definition: parse_tree_nodes.h:4031
Definition: parse_tree_nodes.h:4112
PT_alter_table_action super
Definition: parse_tree_nodes.h:4113
const CHARSET_INFO *const m_charset
Definition: parse_tree_nodes.h:4125
const CHARSET_INFO *const m_collation
Definition: parse_tree_nodes.h:4126
PT_alter_table_convert_to_charset(const CHARSET_INFO *charset, const CHARSET_INFO *opt_collation)
Definition: parse_tree_nodes.h:4116
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2991
Definition: parse_tree_nodes.h:4537
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4545
PT_alter_table_discard_partition_tablespace(const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4541
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4538
Definition: parse_tree_nodes.h:4565
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4572
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4566
PT_alter_table_discard_tablespace()
Definition: parse_tree_nodes.h:4569
Definition: parse_tree_nodes.h:3942
PT_alter_table_drop_check_constraint(const char *name)
Definition: parse_tree_nodes.h:3944
Definition: parse_tree_nodes.h:3921
PT_alter_table_drop_column(const char *name)
Definition: parse_tree_nodes.h:3923
Definition: parse_tree_nodes.h:3949
PT_alter_table_drop_constraint(const char *name)
Definition: parse_tree_nodes.h:3951
Definition: parse_tree_nodes.h:3928
PT_alter_table_drop_foreign_key(const char *name)
Definition: parse_tree_nodes.h:3930
Definition: parse_tree_nodes.h:3935
PT_alter_table_drop_key(const char *name)
Definition: parse_tree_nodes.h:3937
Definition: parse_tree_nodes.h:4247
const List< String > m_partitions
Definition: parse_tree_nodes.h:4261
PT_alter_table_drop_partition(const List< String > &partitions)
Definition: parse_tree_nodes.h:4251
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4248
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) final
Definition: parse_tree_nodes.h:4256
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4481
Definition: parse_tree_nodes.h:3902
PT_alter_table_action super
Definition: parse_tree_nodes.h:3903
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3912
PT_alter_table_drop(Alter_drop::drop_type drop_type, Alter_info::Alter_info_flag alter_info_flag, const char *name)
Definition: parse_tree_nodes.h:3906
Alter_drop m_alter_drop
Definition: parse_tree_nodes.h:3918
Definition: parse_tree_nodes.h:3997
PT_alter_table_enable_keys(bool enable)
Definition: parse_tree_nodes.h:4001
PT_alter_table_action super
Definition: parse_tree_nodes.h:3998
bool m_enable
Definition: parse_tree_nodes.h:4011
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4004
Definition: parse_tree_nodes.h:3986
PT_alter_table_enforce_check_constraint(const char *name, bool is_enforced)
Definition: parse_tree_nodes.h:3988
Definition: parse_tree_nodes.h:3956
PT_alter_table_action super
Definition: parse_tree_nodes.h:3957
Alter_constraint_enforcement m_constraint_enforcement
Definition: parse_tree_nodes.h:3982
PT_alter_table_enforce_constraint(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:3960
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:3975
PT_alter_table_enforce_constraint(const char *name, bool is_enforced)
Definition: parse_tree_nodes.h:3968
Definition: parse_tree_nodes.h:4485
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3058
Table_ident * m_table_name
Definition: parse_tree_nodes.h:4506
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:4507
PT_alter_table_exchange_partition(const LEX_STRING &partition_name, Table_ident *table_name, Alter_info::enum_with_validation validation)
Definition: parse_tree_nodes.h:4489
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4499
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4486
const LEX_STRING m_partition_name
Definition: parse_tree_nodes.h:4505
Definition: parse_tree_nodes.h:4129
PT_alter_table_action super
Definition: parse_tree_nodes.h:4130
PT_alter_table_force()
Definition: parse_tree_nodes.h:4133
Definition: parse_tree_nodes.h:4551
PT_alter_table_import_partition_tablespace(const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4555
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4559
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4552
Definition: parse_tree_nodes.h:4578
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4579
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4585
PT_alter_table_import_tablespace()
Definition: parse_tree_nodes.h:4582
Definition: parse_tree_nodes.h:4047
PT_alter_table_action super
Definition: parse_tree_nodes.h:4048
PT_alter_table_index_visible(const char *name, bool visible)
Definition: parse_tree_nodes.h:4051
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4055
Alter_index_visibility m_alter_index_visibility
Definition: parse_tree_nodes.h:4062
Definition: parse_tree_nodes.h:4308
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4319
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4309
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4325
PT_alter_table_optimize_partition(bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4312
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4496
Definition: parse_tree_nodes.h:4136
PT_alter_table_order(PT_order_list *order)
Definition: parse_tree_nodes.h:4140
PT_alter_table_action super
Definition: parse_tree_nodes.h:4137
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4459
PT_order_list *const m_order
Definition: parse_tree_nodes.h:4146
Definition: parse_tree_nodes.h:4149
PT_alter_table_action super
Definition: parse_tree_nodes.h:4150
PT_alter_table_partition_by(PT_partition *partition)
Definition: parse_tree_nodes.h:4153
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4465
PT_partition *const m_partition
Definition: parse_tree_nodes.h:4159
Definition: parse_tree_nodes.h:4265
PT_alter_table_partition_list_or_all(Alter_info::Alter_info_flag alter_info_flag, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4269
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4274
const List< String > * m_opt_partition_list
Definition: parse_tree_nodes.h:4284
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4266
Definition: parse_tree_nodes.h:4288
PT_alter_table_rebuild_partition(bool no_write_to_binlog, const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4292
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4299
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4489
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4289
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4304
Definition: parse_tree_nodes.h:4162
PT_alter_table_action super
Definition: parse_tree_nodes.h:4163
PT_alter_table_remove_partitioning()
Definition: parse_tree_nodes.h:4166
Definition: parse_tree_nodes.h:4096
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4103
PT_alter_table_action super
Definition: parse_tree_nodes.h:4097
PT_alter_table_rename_column(const char *from, const char *to)
Definition: parse_tree_nodes.h:4100
Alter_column m_rename_column
Definition: parse_tree_nodes.h:4109
Definition: parse_tree_nodes.h:4080
PT_alter_table_rename_key(const char *from, const char *to)
Definition: parse_tree_nodes.h:4084
Alter_rename_key m_rename_key
Definition: parse_tree_nodes.h:4093
PT_alter_table_action super
Definition: parse_tree_nodes.h:4081
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4087
Definition: parse_tree_nodes.h:4065
const Table_ident *const m_ident
Definition: parse_tree_nodes.h:4077
PT_alter_table_rename(const Table_ident *ident)
Definition: parse_tree_nodes.h:4069
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2965
bool is_rename_table() const override
Definition: parse_tree_nodes.h:4074
PT_alter_table_action super
Definition: parse_tree_nodes.h:4066
Definition: parse_tree_nodes.h:4459
const Mem_root_array< PT_part_definition * > * m_into
Definition: parse_tree_nodes.h:4480
partition_info m_partition_info
Definition: parse_tree_nodes.h:4481
const List< String > m_partition_names
Definition: parse_tree_nodes.h:4479
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3037
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4460
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4478
PT_alter_table_reorganize_partition_into(bool no_write_to_binlog, const List< String > &partition_names, const Mem_root_array< PT_part_definition * > *into)
Definition: parse_tree_nodes.h:4463
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4473
Definition: parse_tree_nodes.h:4439
partition_info m_partition_info
Definition: parse_tree_nodes.h:4455
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4449
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4454
PT_alter_table_reorganize_partition(bool no_write_to_binlog)
Definition: parse_tree_nodes.h:4443
PT_alter_table_standalone_action super
Definition: parse_tree_nodes.h:4440
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4548
Definition: parse_tree_nodes.h:4372
uint m_flags
Definition: parse_tree_nodes.h:4393
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4373
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4392
uint m_sql_flags
Definition: parse_tree_nodes.h:4394
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4520
PT_alter_table_repair_partition(bool no_write_to_binlog, const List< String > *opt_partition_list, uint flags, uint sql_flags)
Definition: parse_tree_nodes.h:4376
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4386
Definition: parse_tree_nodes.h:4511
PT_alter_table_secondary_load()
Definition: parse_tree_nodes.h:4515
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4518
Definition: parse_tree_nodes.h:4524
PT_alter_table_secondary_unload()
Definition: parse_tree_nodes.h:4528
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4531
Definition: parse_tree_nodes.h:4014
PT_alter_table_set_default(const char *col_name, Item *opt_default_expr)
Definition: parse_tree_nodes.h:4018
Item * m_expr
Definition: parse_tree_nodes.h:4027
const char * m_name
Definition: parse_tree_nodes.h:4026
PT_alter_table_action super
Definition: parse_tree_nodes.h:4015
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4425
Definition: parse_tree_nodes.h:4170
PT_alter_table_action super
Definition: parse_tree_nodes.h:4171
PT_alter_table_standalone_action(Alter_info::Alter_info_flag alter_info_flag)
Definition: parse_tree_nodes.h:4176
virtual Sql_cmd * make_cmd(Table_ddl_parse_context *pc)=0
Definition: parse_tree_nodes.h:4617
PT_alter_table_standalone_stmt(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:4619
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3153
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:4637
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:4638
Table_ident *const m_table_name
Definition: parse_tree_nodes.h:4635
PT_alter_table_standalone_action *const m_action
Definition: parse_tree_nodes.h:4636
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:4639
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:4641
Definition: parse_tree_nodes.h:4590
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:4611
PT_alter_table_stmt(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:4592
const Alter_info::enum_with_validation m_validation
Definition: parse_tree_nodes.h:4612
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3115
Mem_root_array< PT_ddl_table_option * > *const m_opt_actions
Definition: parse_tree_nodes.h:4609
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:4614
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:4610
Table_ident *const m_table_name
Definition: parse_tree_nodes.h:4608
Definition: parse_tree_nodes.h:4419
PT_alter_table_partition_list_or_all super
Definition: parse_tree_nodes.h:4420
Sql_cmd * make_cmd(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:4432
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4542
PT_alter_table_truncate_partition(const List< String > *opt_partition_list)
Definition: parse_tree_nodes.h:4423
Definition: parse_tree_nodes.h:5034
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5035
PT_alter_tablespace_option_engine(option_type engine_name)
Definition: parse_tree_nodes.h:5039
bool contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:5042
decltype(Tablespace_options::engine_name) option_type
Definition: parse_tree_nodes.h:5036
const option_type m_engine_name
Definition: parse_tree_nodes.h:5054
Definition: parse_tree_nodes.h:5059
const option_type m_file_block_size
Definition: parse_tree_nodes.h:5080
decltype(Tablespace_options::file_block_size) option_type
Definition: parse_tree_nodes.h:5061
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:5060
PT_alter_tablespace_option_file_block_size(option_type file_block_size)
Definition: parse_tree_nodes.h:5064
bool contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:5068
Definition: parse_tree_nodes.h:4993
const option_type m_nodegroup_id
Definition: parse_tree_nodes.h:5004
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:4994
decltype(Tablespace_options::nodegroup_id) option_type
Definition: parse_tree_nodes.h:4995
PT_alter_tablespace_option_nodegroup(option_type nodegroup_id)
Definition: parse_tree_nodes.h:4998
bool contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.cc:4569
Definition: parse_tree_nodes.h:4940
const Option_type m_value
Definition: parse_tree_nodes.h:4952
bool contextualize(Alter_tablespace_parse_context *pc) override
Definition: parse_tree_nodes.h:4946
PT_alter_tablespace_option(Option_type value)
Definition: parse_tree_nodes.h:4944
PT_alter_tablespace_option_base super
Definition: parse_tree_nodes.h:4941
Definition: parse_tree_nodes.h:3031
Sql_cmd_alter_user_default_role sql_cmd
Definition: parse_tree_nodes.h:3032
PT_alter_user_default_role(bool if_exists, const List< LEX_USER > *users, const List< LEX_USER > *roles, const role_enum role_type)
Definition: parse_tree_nodes.h:3035
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4409
Definition: parse_tree_nodes.h:4665
const Sql_cmd_analyze_table::Histogram_command m_command
Definition: parse_tree_nodes.h:4684
const int m_num_buckets
Definition: parse_tree_nodes.h:4685
const LEX_STRING m_data
Definition: parse_tree_nodes.h:4687
const Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:4683
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3186
List< String > * m_columns
Definition: parse_tree_nodes.h:4686
const bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4682
PT_analyze_table_stmt(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)
Definition: parse_tree_nodes.h:4667
Definition: parse_tree_nodes.h:4759
List< Index_hint > * m_index_hints
Definition: parse_tree_nodes.h:4770
PT_assign_to_keycache(Table_ident *table, List< Index_hint > *index_hints)
Definition: parse_tree_nodes.h:4763
Table_ddl_node super
Definition: parse_tree_nodes.h:4760
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:3274
Table_ident * m_table
Definition: parse_tree_nodes.h:4769
A template-free base class for index options that we can predeclare in sql_lex.h.
Definition: parse_tree_nodes.h:2056
A template for options that set HA_CREATE_INFO::table_options and also records if the option was expl...
Definition: parse_tree_nodes.h:2577
PT_create_table_option super
Definition: parse_tree_nodes.h:2578
PT_bool_create_table_option(bool value)
Definition: parse_tree_nodes.h:2583
const bool value
Definition: parse_tree_nodes.h:2580
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2585
Parse tree node for a single of a window extent's borders, cf.
Definition: parse_tree_nodes.h:1246
PT_border(enum_window_border_type type, Item *value)
For bounded INTERVAL 2 DAYS, 'value' is 2, int_type is DAYS.
Definition: parse_tree_nodes.h:1261
Item * build_addop(Item_cache *order_expr, bool prec, bool asc, const Window *window)
Definition: parse_tree_nodes.cc:3359
Item * m_value
only relevant iff m_border_type == WBT_VALUE_*
Definition: parse_tree_nodes.h:1248
Item ** border_ptr()
Need such low-level access so that fix_fields updates the right pointer.
Definition: parse_tree_nodes.h:1274
interval_type m_int_type
For unbounded border.
Definition: parse_tree_nodes.h:1252
PT_border(enum_window_border_type type, Item *value, interval_type int_type)
Definition: parse_tree_nodes.h:1265
enum_window_border_type m_border_type
Definition: parse_tree_nodes.h:1250
PT_border(enum_window_border_type type)
For bounded non-temporal border, e.g. 2 PRECEDING: 'value' is 2.
Definition: parse_tree_nodes.h:1255
const bool m_date_time
Definition: parse_tree_nodes.h:1251
Item * border() const
Definition: parse_tree_nodes.h:1272
Parse tree node for one or both of a window extent's borders, cf.
Definition: parse_tree_nodes.h:1291
PT_border * m_borders[2]
Definition: parse_tree_nodes.h:1292
PT_borders(PT_border *start, PT_border *end)
Constructor.
Definition: parse_tree_nodes.h:1303
Definition: parse_tree_nodes.h:4802
PT_cache_index_partitions_stmt(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:4804
List< Index_hint > * m_opt_key_usage_list
Definition: parse_tree_nodes.h:4819
Table_ident * m_table
Definition: parse_tree_nodes.h:4817
PT_adm_partition * m_partitions
Definition: parse_tree_nodes.h:4818
const LEX_CSTRING m_key_cache_name
Definition: parse_tree_nodes.h:4820
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3308
Definition: parse_tree_nodes.h:4786
const LEX_CSTRING m_key_cache_name
Definition: parse_tree_nodes.h:4799
Mem_root_array< PT_assign_to_keycache * > * m_tbl_index_lists
Definition: parse_tree_nodes.h:4798
PT_cache_index_stmt(MEM_ROOT *mem_root, Mem_root_array< PT_assign_to_keycache * > *tbl_index_lists, LEX_CSTRING key_cache_name)
Definition: parse_tree_nodes.h:4788
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3294
Definition: parse_tree_nodes.h:1941
PT_item_list * opt_expr_list
Definition: parse_tree_nodes.h:1943
sp_name * proc_name
Definition: parse_tree_nodes.h:1942
PT_call(sp_name *proc_name_arg, PT_item_list *opt_expr_list_arg)
Definition: parse_tree_nodes.h:1946
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1145
Definition: parse_tree_nodes.h:2773
void set_column_name(const LEX_STRING &name)
Definition: parse_tree_nodes.h:2783
PT_table_constraint_def super
Definition: parse_tree_nodes.h:2774
Sql_check_constraint_spec cc_spec
Definition: parse_tree_nodes.h:2775
PT_check_constraint(LEX_STRING &name, Item *expr, bool is_enforced)
Definition: parse_tree_nodes.h:2778
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4326
Definition: parse_tree_nodes.h:4690
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:4704
decltype(HA_CHECK_OPT::flags) m_flags
Definition: parse_tree_nodes.h:4705
PT_check_table_stmt(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:4692
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3207
decltype(HA_CHECK_OPT::sql_flags) m_sql_flags
Definition: parse_tree_nodes.h:4706
Base class for all column attributes in CREATE/ALTER TABLE
Definition: parse_tree_column_attrs.h:85
Definition: parse_tree_nodes.h:2788
PT_table_element super
Definition: parse_tree_nodes.h:2789
PT_column_def(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:2799
const LEX_STRING field_ident
Definition: parse_tree_nodes.h:2791
PT_field_def_base * field_def
Definition: parse_tree_nodes.h:2792
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2181
const char * opt_place
Definition: parse_tree_nodes.h:2796
PT_table_constraint_def * opt_column_constraint
Definition: parse_tree_nodes.h:2794
Represents an element of the WITH list: WITH [...], [...] SELECT ..., ^ or ^ i.e.
Definition: parse_tree_nodes.h:252
const LEX_STRING m_subq_text
Raw text of query expression (including parentheses)
Definition: parse_tree_nodes.h:288
PT_common_table_expr(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:1940
const Create_col_name_list m_column_names
List of explicitly specified column names; if empty, no list.
Definition: parse_tree_nodes.h:297
Parse_tree_node super
Definition: parse_tree_nodes.h:253
bool is(const Common_table_expr *other) const
Definition: parse_tree_nodes.h:280
PT_subquery *const m_subq_node
Parsed version of subq_text.
Definition: parse_tree_nodes.h:295
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:293
void print(const THD *thd, String *str, enum_query_type query_type)
Definition: parse_tree_nodes.cc:1983
const LEX_STRING & name() const
The name after AS.
Definition: parse_tree_nodes.h:263
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:307
LEX_STRING m_name
Definition: parse_tree_nodes.h:286
Definition: parse_tree_nodes.h:2234
PT_create_index_stmt(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:2236
keytype m_keytype
Definition: parse_tree_nodes.h:2256
Index_options m_options
Definition: parse_tree_nodes.h:2261
Table_ident * m_table_ident
Definition: parse_tree_nodes.h:2259
LEX_STRING m_name
Definition: parse_tree_nodes.h:2257
const Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:2262
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2260
const Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:2263
PT_base_index_option * m_type
Definition: parse_tree_nodes.h:2258
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:1775
Parse tree node for CREATE RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5087
resourcegroups::Sql_cmd_create_resource_group sql_cmd
Definition: parse_tree_nodes.h:5088
const bool has_priority
Definition: parse_tree_nodes.h:5089
PT_create_resource_group(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:5092
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4581
Definition: parse_tree_nodes.h:2887
PT_create_role(bool if_not_exists, const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:2891
Sql_cmd_create_role sql_cmd
Definition: parse_tree_nodes.h:2888
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4338
Top-level node for the CREATE [OR REPLACE] SPATIAL REFERENCE SYSTEM statement.
Definition: parse_tree_nodes.h:1969
bool contains_control_char(char *str, size_t length)
Check if a UTF-8 string contains control characters.
Definition: parse_tree_nodes.h:1995
const Sql_cmd_srs_attributes m_attributes
All attributes except SRID.
Definition: parse_tree_nodes.h:1982
unsigned long long m_srid
SRID of the SRS to create.
Definition: parse_tree_nodes.h:1980
bool m_or_replace
Whether OR REPLACE is specified.
Definition: parse_tree_nodes.h:1973
PT_create_srs(unsigned long long srid, const Sql_cmd_srs_attributes &attributes, bool or_replace, bool if_not_exists)
Definition: parse_tree_nodes.h:2003
Sql_cmd_create_srs sql_cmd
The SQL command object.
Definition: parse_tree_nodes.h:1971
bool m_if_not_exists
Whether IF NOT EXISTS is specified.
Definition: parse_tree_nodes.h:1975
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4169
Node for the STATS_AUTO_RECALC [=] <0|1|DEFAULT>) table option.
Definition: parse_tree_nodes.h:2671
const Ternary_option value
Definition: parse_tree_nodes.h:2674
PT_create_table_option super
Definition: parse_tree_nodes.h:2672
PT_create_stats_auto_recalc_option(Ternary_option value)
Definition: parse_tree_nodes.h:2685
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2039
Node for the STATS_SAMPLE_PAGES [=] <integer>|DEFAULT table option.
Definition: parse_tree_nodes.h:2695
PT_create_stats_stable_pages(value_t value)
Constructor for implicit number of pages.
Definition: parse_tree_nodes.h:2707
const value_t value
Definition: parse_tree_nodes.h:2699
PT_create_table_option super
Definition: parse_tree_nodes.h:2696
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2060
decltype(HA_CREATE_INFO::stats_sample_pages) value_t
Definition: parse_tree_nodes.h:2697
PT_create_stats_stable_pages()
Constructor for the DEFAULT number of pages.
Definition: parse_tree_nodes.h:2713
Definition: parse_tree_nodes.h:2730
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2738
PT_create_storage_option(ha_storage_media value)
Definition: parse_tree_nodes.h:2736
const ha_storage_media value
Definition: parse_tree_nodes.h:2733
PT_create_table_option super
Definition: parse_tree_nodes.h:2731
Definition: parse_tree_nodes.h:2745
PT_create_table_default_charset(const CHARSET_INFO *value)
Definition: parse_tree_nodes.h:2751
const CHARSET_INFO * value
Definition: parse_tree_nodes.h:2748
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2118
PT_create_table_option super
Definition: parse_tree_nodes.h:2746
Definition: parse_tree_nodes.h:2759
const CHARSET_INFO * value
Definition: parse_tree_nodes.h:2762
PT_create_table_option super
Definition: parse_tree_nodes.h:2760
PT_create_table_default_collation(const CHARSET_INFO *value)
Definition: parse_tree_nodes.h:2765
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2139
Node for the ENGINE [=] <identifier>|<string> table option.
Definition: parse_tree_nodes.h:2630
const LEX_CSTRING engine
Definition: parse_tree_nodes.h:2633
PT_create_table_engine_option(const LEX_CSTRING &engine)
Definition: parse_tree_nodes.h:2639
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2021
PT_create_table_option super
Definition: parse_tree_nodes.h:2631
Base class for CREATE TABLE option nodes.
Definition: parse_tree_nodes.h:2351
PT_ddl_table_option super
Definition: parse_tree_nodes.h:2352
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2357
~PT_create_table_option() override=0
Node for the SECONDARY_ENGINE [=] <identifier>|<string>|NULL table option.
Definition: parse_tree_nodes.h:2651
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2030
const LEX_CSTRING m_secondary_engine
Definition: parse_tree_nodes.h:2663
PT_create_table_secondary_engine_option()=default
PT_create_table_secondary_engine_option(const LEX_CSTRING &secondary_engine)
Definition: parse_tree_nodes.h:2656
Top-level node for the CREATE TABLE statement.
Definition: parse_tree_nodes.h:2815
On_duplicate on_duplicate
Definition: parse_tree_nodes.h:2822
PT_partition * opt_partitioning
Definition: parse_tree_nodes.h:2821
const Mem_root_array< PT_table_element * > * opt_table_element_list
Definition: parse_tree_nodes.h:2819
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2211
bool is_temporary
Definition: parse_tree_nodes.h:2816
PT_create_table_stmt(MEM_ROOT *mem_root, bool is_temporary, 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)
Definition: parse_tree_nodes.h:2846
const Mem_root_array< PT_create_table_option * > * opt_create_table_options
Definition: parse_tree_nodes.h:2820
PT_query_expression_body * opt_query_expression
Definition: parse_tree_nodes.h:2823
bool only_if_not_exists
Definition: parse_tree_nodes.h:2817
Table_ident * table_name
Definition: parse_tree_nodes.h:2818
Table_ident * opt_like_clause
Definition: parse_tree_nodes.h:2824
HA_CREATE_INFO m_create_info
Definition: parse_tree_nodes.h:2826
PT_create_table_stmt(MEM_ROOT *mem_root, bool is_temporary, bool only_if_not_exists, Table_ident *table_name, Table_ident *opt_like_clause)
Definition: parse_tree_nodes.h:2870
Definition: parse_tree_nodes.h:2718
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:2068
const Mem_root_array< Table_ident * > * tables
Definition: parse_tree_nodes.h:2721
PT_create_table_option super
Definition: parse_tree_nodes.h:2719
PT_create_union_option(const Mem_root_array< Table_ident * > *tables)
Definition: parse_tree_nodes.h:2724
Definition: parse_tree_nodes.h:572
PT_cross_join(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:576
PT_joined_table super
Definition: parse_tree_nodes.h:573
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3681
Common base class for CREATE TABLE and ALTER TABLE option nodes.
Definition: parse_tree_nodes.h:2337
~PT_ddl_table_option() override=0
virtual bool is_rename_table() const
Definition: parse_tree_nodes.h:2341
Top-level node for the DELETE statement.
Definition: parse_tree_nodes.h:1755
bool add_table(Parse_context *pc, Table_ident *table)
Definition: parse_tree_nodes.cc:836
bool is_multitable() const
Definition: parse_tree_nodes.h:1811
Item * opt_where_clause
Definition: parse_tree_nodes.h:1765
PT_delete(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:1791
Mem_root_array_YY< Table_ident * > table_list
Definition: parse_tree_nodes.h:1762
SQL_I_List< Table_ref > delete_tables
Definition: parse_tree_nodes.h:1768
Item * opt_delete_limit_clause
Definition: parse_tree_nodes.h:1767
Mem_root_array_YY< PT_table_reference * > join_table_list
Definition: parse_tree_nodes.h:1764
Table_ident * table_ident
Definition: parse_tree_nodes.h:1760
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:1757
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:851
const int opt_delete_options
Definition: parse_tree_nodes.h:1759
PT_delete(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:1772
PT_order * opt_order_clause
Definition: parse_tree_nodes.h:1766
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1758
const char *const opt_table_alias
Definition: parse_tree_nodes.h:1761
List< String > * opt_use_partition
Definition: parse_tree_nodes.h:1763
Definition: parse_tree_nodes.h:485
PT_derived_table(bool lateral, PT_subquery *subquery, const LEX_CSTRING &table_alias, Create_col_name_list *column_names)
Definition: parse_tree_nodes.cc:1313
PT_subquery * m_subquery
Definition: parse_tree_nodes.h:497
const char *const m_table_alias
Definition: parse_tree_nodes.h:498
PT_table_reference super
Definition: parse_tree_nodes.h:486
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1323
bool m_lateral
Definition: parse_tree_nodes.h:496
const Create_col_name_list column_names
List of explicitly specified column names; if empty, no list.
Definition: parse_tree_nodes.h:500
Definition: parse_tree_nodes.h:4723
Alter_drop m_alter_drop
Definition: parse_tree_nodes.h:4744
Alter_info::enum_alter_table_algorithm m_algo
Definition: parse_tree_nodes.h:4741
const char * m_index_name
Definition: parse_tree_nodes.h:4739
Alter_info::enum_alter_table_lock m_lock
Definition: parse_tree_nodes.h:4742
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3243
PT_drop_index_stmt(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:4725
Table_ident * m_table
Definition: parse_tree_nodes.h:4740
Parse tree node for DROP RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5127
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4614
resourcegroups::Sql_cmd_drop_resource_group sql_cmd
Definition: parse_tree_nodes.h:5128
PT_drop_resource_group(const LEX_CSTRING &resource_group_name, bool force)
Definition: parse_tree_nodes.h:5131
Definition: parse_tree_nodes.h:2897
Sql_cmd_drop_role sql_cmd
Definition: parse_tree_nodes.h:2898
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4343
PT_drop_role(bool ignore_errors, const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:2901
Top-level node for the DROP SPATIAL REFERENCE SYSTEM statement.
Definition: parse_tree_nodes.h:2019
Sql_cmd_drop_srs sql_cmd
The SQL command object.
Definition: parse_tree_nodes.h:2021
PT_drop_srs(unsigned long long srid, bool if_exists)
Definition: parse_tree_nodes.h:2029
unsigned long long m_srid
SRID of the SRS to drop.
Definition: parse_tree_nodes.h:2026
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4305
Definition: parse_tree_nodes.h:2996
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:4379
LEX_STRING ident
Definition: parse_tree_nodes.h:2997
PT_dynamic_privilege(const POS &pos, const LEX_STRING &ident)
Definition: parse_tree_nodes.h:3000
Definition: parse_tree_nodes.h:1692
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1715
PT_set_operation(PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1641
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1698
Parse tree node for a window frame's exclusions, cf.
Definition: parse_tree_nodes.h:1313
enum_window_frame_exclusion m_exclusion
Definition: parse_tree_nodes.h:1314
PT_exclusion(enum_window_frame_exclusion e)
Definition: parse_tree_nodes.h:1317
Definition: parse_tree_nodes.h:5152
PT_explain_for_connection(my_thread_id thread_id)
Definition: parse_tree_nodes.h:5154
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3497
Sql_cmd_explain_other_thread m_cmd
Definition: parse_tree_nodes.h:5160
Definition: parse_tree_nodes.h:5163
const bool m_analyze
Definition: parse_tree_nodes.h:5176
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3512
const bool m_explicit_format
Definition: parse_tree_nodes.h:5177
Parse_tree_root *const m_explainable_stmt
Definition: parse_tree_nodes.h:5178
PT_explain(Explain_format_type format, bool is_analyze, bool is_explicit_format, Parse_tree_root *explainable_stmt)
Definition: parse_tree_nodes.h:5165
const Explain_format_type m_format
Definition: parse_tree_nodes.h:5175
Definition: parse_tree_nodes.h:1455
PT_explicit_table(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:1459
Base class for both generated and regular column definitions.
Definition: parse_tree_column_attrs.h:876
Definition: parse_tree_nodes.h:2299
List< Key_part_spec > * m_ref_list
Definition: parse_tree_nodes.h:2326
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:1812
fk_option m_fk_delete_opt
Definition: parse_tree_nodes.h:2329
PT_foreign_key_definition(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:2303
Table_ident * m_referenced_table
Definition: parse_tree_nodes.h:2325
fk_match_opt m_fk_match_option
Definition: parse_tree_nodes.h:2327
fk_option m_fk_update_opt
Definition: parse_tree_nodes.h:2328
const LEX_STRING m_key_name
Definition: parse_tree_nodes.h:2323
const LEX_STRING m_constraint_name
Definition: parse_tree_nodes.h:2322
PT_table_constraint_def super
Definition: parse_tree_nodes.h:2300
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2324
Parse tree node for a window's frame, cf.
Definition: parse_tree_nodes.h:1325
PT_border * m_to
Definition: parse_tree_nodes.h:1330
bool m_originally_absent
If true, this is an artificial frame, not specified by the user.
Definition: parse_tree_nodes.h:1335
enum_window_frame_unit m_query_expression
Definition: parse_tree_nodes.h:1327
PT_border * m_from
Definition: parse_tree_nodes.h:1329
PT_frame(enum_window_frame_unit unit, PT_borders *from_to, PT_exclusion *exclusion)
Definition: parse_tree_nodes.h:1337
PT_exclusion * m_exclusion
Definition: parse_tree_nodes.h:1332
Definition: parse_tree_nodes.h:237
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:241
PT_order_list super
Definition: parse_tree_nodes.h:238
Definition: parse_tree_nodes.h:3006
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4383
const List< LEX_USER > * users
Definition: parse_tree_nodes.h:3008
const bool with_admin_option
Definition: parse_tree_nodes.h:3009
const Mem_root_array< PT_role_or_privilege * > * roles
Definition: parse_tree_nodes.h:3007
PT_grant_roles(const Mem_root_array< PT_role_or_privilege * > *roles, const List< LEX_USER > *users, bool with_admin_option)
Definition: parse_tree_nodes.h:3012
Definition: parse_tree_nodes.h:619
olap_type olap
Definition: parse_tree_nodes.h:623
Parse_tree_node super
Definition: parse_tree_nodes.h:620
PT_order_list * group_list
Definition: parse_tree_nodes.h:622
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:251
PT_group(PT_order_list *group_list_arg, olap_type olap_arg)
Definition: parse_tree_nodes.h:626
Definition: parse_tree_hints.h:98
bool contextualize(Parse_context *pc) override
Function handles list of the hints we get after parse procedure.
Definition: parse_tree_hints.cc:338
A template for options that set a single <alter option> value in thd->lex->key_create_info.
Definition: parse_tree_nodes.h:2179
PT_index_option(Option_type option_value)
Definition: parse_tree_nodes.h:2182
Option_type m_option_value
Definition: parse_tree_nodes.h:2190
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2184
Definition: parse_tree_nodes.h:2275
Index_options m_options
Definition: parse_tree_nodes.h:2296
PT_table_constraint_def super
Definition: parse_tree_nodes.h:2276
keytype m_keytype
Definition: parse_tree_nodes.h:2292
PT_base_index_option * m_type
Definition: parse_tree_nodes.h:2294
List< PT_key_part_specification > * m_columns
Definition: parse_tree_nodes.h:2295
PT_inline_index_definition(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:2279
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:1800
const LEX_STRING m_name
Definition: parse_tree_nodes.h:2293
Definition: parse_tree_nodes.h:1857
virtual mem_root_deque< List_item * > & get_many_values()
Definition: parse_tree_nodes.h:1872
bool push_back(mem_root_deque< Item * > *x)
Definition: parse_tree_nodes.h:1867
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:970
PT_insert_values_list(MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:1863
Parse_tree_node super
Definition: parse_tree_nodes.h:1858
mem_root_deque< List_item * > many_values
Definition: parse_tree_nodes.h:1860
Top-level node for the INSERT statement.
Definition: parse_tree_nodes.h:1883
PT_item_list *const opt_on_duplicate_column_list
Definition: parse_tree_nodes.h:1895
PT_item_list *const column_list
Definition: parse_tree_nodes.h:1890
PT_item_list *const opt_on_duplicate_value_list
Definition: parse_tree_nodes.h:1896
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1885
bool has_query_block() const
Definition: parse_tree_nodes.h:1938
const bool is_replace
Definition: parse_tree_nodes.h:1884
PT_query_expression_body * insert_query_expression
Definition: parse_tree_nodes.h:1892
PT_insert(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:1899
Create_col_name_list *const opt_values_column_list
Definition: parse_tree_nodes.h:1894
Table_ident *const table_ident
Definition: parse_tree_nodes.h:1888
PT_insert_values_list * row_value_list
Definition: parse_tree_nodes.h:1891
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:981
const char *const opt_values_table_alias
Definition: parse_tree_nodes.h:1893
List< String > *const opt_use_partition
Definition: parse_tree_nodes.h:1889
const bool ignore
Definition: parse_tree_nodes.h:1887
const thr_lock_type lock_option
Definition: parse_tree_nodes.h:1886
Definition: parse_tree_nodes.h:5228
PT_install_component(THD *thd, const Mem_root_array_YY< LEX_STRING > urns, List< PT_install_component_set_element > *set_elements)
Definition: parse_tree_nodes.cc:4823
List< PT_install_component_set_element > * m_set_elements
Definition: parse_tree_nodes.h:5231
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4844
Mem_root_array_YY< LEX_STRING > m_urns
Definition: parse_tree_nodes.h:5230
Definition: parse_tree_nodes.h:1701
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1720
PT_set_operation(PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1641
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1707
Definition: parse_tree_nodes.h:1181
sql_exchange m_exchange
Definition: parse_tree_nodes.h:1191
PT_into_destination super
Definition: parse_tree_nodes.h:1182
PT_into_destination_dumpfile(const POS &pos, const LEX_STRING &file_name_arg)
Definition: parse_tree_nodes.h:1185
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3967
Definition: parse_tree_nodes.h:1161
PT_into_destination_outfile(const POS &pos, const LEX_STRING &file_name_arg, const CHARSET_INFO *charset_arg, const Field_separators &field_term_arg, const Line_separators &line_term_arg)
Definition: parse_tree_nodes.h:1165
PT_into_destination super
Definition: parse_tree_nodes.h:1162
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3958
sql_exchange m_exchange
Definition: parse_tree_nodes.h:1178
Definition: parse_tree_nodes.h:1150
PT_into_destination(const POS &pos)
Definition: parse_tree_nodes.h:1155
Parse_tree_node super
Definition: parse_tree_nodes.h:1151
POS m_pos
Definition: parse_tree_nodes.h:1152
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3943
Definition: parse_tree_nodes.h:1044
PT_transaction_characteristic super
Definition: parse_tree_nodes.h:1045
PT_isolation_level(enum_tx_isolation level)
Definition: parse_tree_nodes.h:1048
Wrapper class for an Item list head, used to allocate Item lists in the parser in a context-independe...
Definition: parse_tree_helpers.h:105
mem_root_deque< Item * > value
Definition: parse_tree_helpers.h:111
uint elements() const
Definition: parse_tree_helpers.h:122
Definition: parse_tree_nodes.h:584
Item * on
Definition: parse_tree_nodes.h:586
PT_joined_table super
Definition: parse_tree_nodes.h:585
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3687
PT_joined_table_on(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:589
Definition: parse_tree_nodes.h:597
PT_joined_table_using(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:602
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3714
PT_joined_table_using(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:610
List< String > * using_fields
Definition: parse_tree_nodes.h:599
PT_joined_table super
Definition: parse_tree_nodes.h:598
Definition: parse_tree_nodes.h:516
Table_ref * m_left_table_ref
Definition: parse_tree_nodes.h:525
PT_table_reference super
Definition: parse_tree_nodes.h:517
PT_joined_table(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:529
void add_rhs(PT_table_reference *table)
Adds the table reference as the right-hand side of this join.
Definition: parse_tree_nodes.h:556
~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:522
Table_ref * m_right_table_ref
Definition: parse_tree_nodes.h:526
POS m_join_pos
Definition: parse_tree_nodes.h:521
bool contextualize_tabs(Parse_context *pc)
Definition: parse_tree_nodes.cc:152
PT_table_reference * m_left_pt_table
Definition: parse_tree_nodes.h:520
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3670
PT_table_reference * m_right_pt_table
Definition: parse_tree_nodes.h:523
PT_joined_table * add_cross_join(PT_cross_join *cj) override
Adds the cross join to this join operation.
Definition: parse_tree_nodes.h:550
Definition: parse_tree_nodes.h:4874
~PT_json_table_column_for_ordinality() override
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3400
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:4881
const char * m_name
Definition: parse_tree_nodes.h:4885
PT_json_table_column super
Definition: parse_tree_nodes.h:4875
unique_ptr_destroy_only< Json_table_column > m_column
Definition: parse_tree_nodes.h:4884
PT_json_table_column_for_ordinality(LEX_STRING name)
Definition: parse_tree_nodes.cc:3393
Definition: parse_tree_nodes.h:4909
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:4919
Item * m_path
Definition: parse_tree_nodes.h:4922
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3478
PT_json_table_column super
Definition: parse_tree_nodes.h:4910
Json_table_column * m_column
Definition: parse_tree_nodes.h:4924
const Mem_root_array< PT_json_table_column * > * m_nested_columns
Definition: parse_tree_nodes.h:4923
PT_json_table_column_with_nested_path(Item *path, Mem_root_array< PT_json_table_column * > *nested_cols)
Definition: parse_tree_nodes.h:4913
Definition: parse_tree_nodes.h:4888
~PT_json_table_column_with_path() override
const CHARSET_INFO * m_collation
Definition: parse_tree_nodes.h:4905
unique_ptr_destroy_only< Json_table_column > m_column
Definition: parse_tree_nodes.h:4902
const char * m_name
Definition: parse_tree_nodes.h:4903
PT_json_table_column super
Definition: parse_tree_nodes.h:4889
Json_table_column * get_column() override
Definition: parse_tree_nodes.h:4899
PT_type * m_type
Definition: parse_tree_nodes.h:4904
PT_json_table_column_with_path(unique_ptr_destroy_only< Json_table_column > column, LEX_STRING name, PT_type *type, const CHARSET_INFO *collation)
Definition: parse_tree_nodes.cc:3410
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3437
Definition: parse_tree_nodes.h:446
virtual Json_table_column * get_column()=0
A key part specification.
Definition: parse_tree_nodes.h:2065
bool has_expression() const
Definition: parse_tree_nodes.h:2129
LEX_CSTRING m_column_name
The name of the column that this key part indexes.
Definition: parse_tree_nodes.h:2161
Parse_tree_node super
Definition: parse_tree_nodes.h:2066
bool is_explicit() const
Definition: parse_tree_nodes.h:2122
Item * get_expression() const
Get the indexed expression.
Definition: parse_tree_nodes.h:2106
LEX_CSTRING get_column_name() const
Get the column that this key part points to.
Definition: parse_tree_nodes.h:2138
enum_order get_order() const
Definition: parse_tree_nodes.h:2116
enum_order m_order
The direction of the index.
Definition: parse_tree_nodes.h:2158
int get_prefix_length() const
Definition: parse_tree_nodes.h:2148
PT_key_part_specification(Item *expression, enum_order order)
Constructor for a functional key part.
Definition: parse_tree_nodes.cc:668
bool contextualize(Parse_context *pc) override
Contextualize this key part specification.
Definition: parse_tree_nodes.cc:679
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:2168
Item * m_expression
The indexed expression in case this is a functional key part.
Definition: parse_tree_nodes.h:2155
Definition: parse_tree_nodes.h:390
Parse_tree_node super
Definition: parse_tree_nodes.h:391
Limit_options limit_options
Definition: parse_tree_nodes.h:393
PT_limit_clause(const Limit_options &limit_options_arg)
Definition: parse_tree_nodes.h:396
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3627
Definition: parse_tree_nodes.h:4841
List< Index_hint > * m_opt_cache_key_list
Definition: parse_tree_nodes.h:4858
bool m_ignore_leaves
Definition: parse_tree_nodes.h:4859
PT_adm_partition * m_partitions
Definition: parse_tree_nodes.h:4857
Table_ident * m_table
Definition: parse_tree_nodes.h:4856
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3326
PT_load_index_partitions_stmt(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:4843
Definition: parse_tree_nodes.h:4862
Mem_root_array< PT_preload_keys * > * m_preload_list
Definition: parse_tree_nodes.h:4871
PT_load_index_stmt(MEM_ROOT *mem_root, Mem_root_array< PT_preload_keys * > *preload_list)
Definition: parse_tree_nodes.h:4864
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3344
Definition: parse_tree_nodes.h:5181
const thr_lock_type m_lock_type
Definition: parse_tree_nodes.h:5211
PT_load_table(enum_filetype filetype, thr_lock_type lock_type, bool is_local_file, enum_source_type, const LEX_STRING filename, ulong, bool, On_duplicate on_duplicate, Table_ident *table, List< String > *opt_partitions, const CHARSET_INFO *opt_charset, 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, bool)
Definition: parse_tree_nodes.h:5183
Sql_cmd_load_table m_cmd
Definition: parse_tree_nodes.h:5209
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3564
Definition: parse_tree_nodes.h:706
Mem_root_array_YY< PT_locking_clause * > m_locking_clauses
Definition: parse_tree_nodes.h:723
bool push_back(PT_locking_clause *locking_clause)
Definition: parse_tree_nodes.h:712
PT_locking_clause_list(MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:708
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:716
Definition: parse_tree_nodes.h:643
Lock_descriptor get_lock_descriptor() const
Definition: parse_tree_nodes.h:655
bool contextualize(Parse_context *pc) final
Definition: parse_tree_nodes.cc:2145
virtual bool set_lock_for_tables(Parse_context *pc)=0
Locked_row_action action() const
Definition: parse_tree_nodes.h:652
Locked_row_action m_locked_row_action
Definition: parse_tree_nodes.h:671
PT_locking_clause(Lock_strength strength, Locked_row_action action)
Definition: parse_tree_nodes.h:645
Lock_strength m_lock_strength
Definition: parse_tree_nodes.h:670
Definition: parse_tree_nodes.h:1577
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1603
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1585
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1597
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1607
PT_locking(PT_query_expression_body *qe, PT_locking_clause_list *locking_clauses)
Definition: parse_tree_nodes.h:1581
PT_locking_clause_list *const m_locking_clauses
Definition: parse_tree_nodes.h:1613
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1590
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1594
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:1599
PT_query_expression_body *const m_query_expression
Definition: parse_tree_nodes.h:1612
Definition: parse_tree_nodes.h:4709
PT_optimize_table_stmt(MEM_ROOT *mem_root, bool no_write_to_binlog, Mem_root_array< Table_ident * > *table_list)
Definition: parse_tree_nodes.h:4711
bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4719
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3228
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:4720
Definition: parse_tree_nodes.h:971
Parse_tree_node super
Definition: parse_tree_nodes.h:972
POS value_pos
Definition: parse_tree_nodes.h:976
Parse_tree_node * value
Definition: parse_tree_nodes.h:975
PT_option_value_list_head(const POS &delimiter_pos_arg, Parse_tree_node *value_arg, const POS &value_pos_arg)
Definition: parse_tree_nodes.h:979
POS delimiter_pos
Definition: parse_tree_nodes.h:974
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3830
Definition: parse_tree_nodes.h:989
PT_option_value_list_head * head
Definition: parse_tree_nodes.h:992
PT_option_value_list_head super
Definition: parse_tree_nodes.h:990
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1000
PT_option_value_list(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:995
Definition: parse_tree_nodes.h:864
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:185
const CHARSET_INFO * opt_charset
Definition: parse_tree_nodes.h:867
PT_option_value_no_option_type_charset(const CHARSET_INFO *opt_charset_arg)
Definition: parse_tree_nodes.h:870
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:865
Definition: parse_tree_nodes.h:877
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:202
POS pos
Definition: parse_tree_nodes.h:880
PT_option_value_no_option_type_names(const POS &pos)
Definition: parse_tree_nodes.h:883
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:878
Definition: parse_tree_nodes.h:930
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:581
POS expr_pos
Definition: parse_tree_nodes.h:938
bool retain_current_password
Definition: parse_tree_nodes.h:936
LEX_USER * user
Definition: parse_tree_nodes.h:933
const char * password
Definition: parse_tree_nodes.h:934
PT_start_option_value_list super
Definition: parse_tree_nodes.h:931
PT_option_value_no_option_type_password_for(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:941
bool random_password_generator
Definition: parse_tree_nodes.h:937
const char * current_password
Definition: parse_tree_nodes.h:935
Definition: parse_tree_nodes.h:905
bool random_password_generator
Definition: parse_tree_nodes.h:911
const char * current_password
Definition: parse_tree_nodes.h:909
PT_start_option_value_list super
Definition: parse_tree_nodes.h:906
POS expr_pos
Definition: parse_tree_nodes.h:912
bool retain_current_password
Definition: parse_tree_nodes.h:910
const char * password
Definition: parse_tree_nodes.h:908
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:627
PT_option_value_no_option_type_password(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:915
Definition: parse_tree_nodes.h:826
LEX_STRING name
Definition: parse_tree_nodes.h:829
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:827
Item * expr
Definition: parse_tree_nodes.h:830
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3790
PT_option_value_no_option_type_user_var(const LEX_STRING &name_arg, Item *expr_arg)
Definition: parse_tree_nodes.h:833
Definition: parse_tree_nodes.h:801
Definition: parse_tree_nodes.h:957
enum_var_type type
Definition: parse_tree_nodes.h:960
Parse_tree_node super
Definition: parse_tree_nodes.h:958
PT_set_scoped_system_variable * value
Definition: parse_tree_nodes.h:961
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3825
PT_option_value_type(enum_var_type type_arg, PT_set_scoped_system_variable *value_arg)
Definition: parse_tree_nodes.h:964
Definition: parse_tree_nodes.h:203
Parse_tree_node super
Definition: parse_tree_nodes.h:204
PT_order_expr(Item *item_arg, enum_order dir)
Definition: parse_tree_nodes.h:207
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:304
Definition: parse_tree_nodes.h:215
void push_back(PT_order_expr *order)
Definition: parse_tree_nodes.h:230
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:222
Parse_tree_node super
Definition: parse_tree_nodes.h:216
SQL_I_List< ORDER > value
Definition: parse_tree_nodes.h:219
Definition: parse_tree_nodes.h:632
Parse_tree_node super
Definition: parse_tree_nodes.h:633
PT_order_list * order_list
Definition: parse_tree_nodes.h:636
PT_order(PT_order_list *order_list_arg)
Definition: parse_tree_nodes.h:637
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:287
Node for the PARTITION clause of CREATE/ALTER TABLE.
Definition: parse_tree_partitions.h:386
Node for the PARTITION definition clause.
Definition: parse_tree_partitions.h:594
Definition: parse_tree_nodes.h:4823
List< Index_hint > * m_opt_cache_key_list
Definition: parse_tree_nodes.h:4837
Table_ddl_node super
Definition: parse_tree_nodes.h:4824
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.cc:4556
PT_preload_keys(Table_ident *table, List< Index_hint > *opt_cache_key_list, bool ignore_leaves)
Definition: parse_tree_nodes.h:4827
Table_ident * m_table
Definition: parse_tree_nodes.h:4836
bool m_ignore_leaves
Definition: parse_tree_nodes.h:4838
Definition: parse_tree_nodes.h:674
PT_query_block_locking_clause(Lock_strength strength, Locked_row_action action=Locked_row_action::WAIT)
Definition: parse_tree_nodes.h:676
bool set_lock_for_tables(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2167
Definition: parse_tree_nodes.h:726
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:729
Setop_type
Definition: parse_tree_nodes.h:728
@ UNION
Definition: parse_tree_nodes.h:728
@ EXCEPT
Definition: parse_tree_nodes.h:728
@ NONE
Definition: parse_tree_nodes.h:728
@ INTERSECT
Definition: parse_tree_nodes.h:728
virtual PT_insert_values_list * get_row_value_list() const =0
virtual bool has_into_clause() const =0
virtual bool has_trailing_into_clause() const =0
Definition: parse_tree_nodes.h:1465
PT_order * m_order
Definition: parse_tree_nodes.h:1568
bool contextualize_deferred_hints(Parse_context *pc)
Definition: parse_tree_nodes.h:1492
PT_limit_clause * m_limit
Definition: parse_tree_nodes.h:1569
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1484
PT_query_expression(PT_with_clause *with_clause, PT_query_expression_body *body, PT_order *order, PT_limit_clause *limit)
Definition: parse_tree_nodes.h:1467
PT_query_expression(PT_query_expression_body *body)
Definition: parse_tree_nodes.h:1479
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3996
PT_query_expression_body * m_body
Definition: parse_tree_nodes.h:1567
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1486
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1487
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:1247
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:1499
PT_query_expression(PT_query_expression_body *body, PT_order *order, PT_limit_clause *limit)
Definition: parse_tree_nodes.h:1475
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1551
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:1570
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1547
Definition: parse_tree_nodes.h:1345
Definition: parse_tree_nodes.h:1347
bool is_implicit_from_clause() const
Definition: parse_tree_nodes.h:1427
PT_into_destination * opt_into1
Definition: parse_tree_nodes.h:1353
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1350
Item * opt_having_clause
Definition: parse_tree_nodes.h:1358
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1424
PT_window_list * opt_window_clause
Definition: parse_tree_nodes.h:1359
const bool m_is_from_clause_implicit
Definition: parse_tree_nodes.h:1354
PT_query_specification(const Query_options &options_arg, PT_item_list *item_list_arg)
Definition: parse_tree_nodes.h:1397
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1163
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1419
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1412
PT_item_list * item_list
Definition: parse_tree_nodes.h:1352
Mem_root_array_YY< PT_table_reference * > from_clause
Definition: parse_tree_nodes.h:1355
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1423
Query_options options
Definition: parse_tree_nodes.h:1351
PT_group * opt_group_clause
Definition: parse_tree_nodes.h:1357
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:1421
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1413
Item * opt_where_clause
Definition: parse_tree_nodes.h:1356
PT_query_primary super
Definition: parse_tree_nodes.h:1348
PT_query_specification(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:1382
PT_query_specification(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, bool implicit_from_clause)
Definition: parse_tree_nodes.h:1362
Definition: parse_tree_nodes.h:4644
Mem_root_array< Table_ident * > * m_table_list
Definition: parse_tree_nodes.h:4660
bool m_no_write_to_binlog
Definition: parse_tree_nodes.h:4659
PT_repair_table_stmt(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:4646
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3168
decltype(HA_CHECK_OPT::sql_flags) m_sql_flags
Definition: parse_tree_nodes.h:4662
decltype(HA_CHECK_OPT::flags) m_flags
Definition: parse_tree_nodes.h:4661
Top-level node for the SHUTDOWN statement.
Definition: parse_tree_nodes.h:5220
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4634
Sql_cmd_restart_server sql_cmd
Definition: parse_tree_nodes.h:5225
Definition: parse_tree_nodes.h:3019
PT_revoke_roles(Mem_root_array< PT_role_or_privilege * > *roles, const List< LEX_USER > *users)
Definition: parse_tree_nodes.h:3024
const Mem_root_array< PT_role_or_privilege * > * roles
Definition: parse_tree_nodes.h:3020
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4397
const List< LEX_USER > * users
Definition: parse_tree_nodes.h:3021
Definition: parse_tree_nodes.h:2961
LEX_STRING role
Definition: parse_tree_nodes.h:2962
PT_role_at_host(const POS &pos, const LEX_STRING &role, const LEX_STRING &host)
Definition: parse_tree_nodes.h:2966
LEX_STRING host
Definition: parse_tree_nodes.h:2963
LEX_USER * get_user(THD *thd) override
Definition: parse_tree_nodes.cc:4363
Definition: parse_tree_nodes.h:2973
LEX_STRING ident
Definition: parse_tree_nodes.h:2974
PT_role_or_dynamic_privilege(const POS &pos, const LEX_STRING &ident)
Definition: parse_tree_nodes.h:2977
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:4371
LEX_USER * get_user(THD *thd) override
Definition: parse_tree_nodes.cc:4367
Definition: parse_tree_nodes.h:2951
POS pos
Definition: parse_tree_nodes.h:2953
virtual LEX_USER * get_user(THD *thd)
Definition: parse_tree_nodes.cc:4353
PT_role_or_privilege(const POS &pos)
Definition: parse_tree_nodes.h:2956
virtual Privilege * get_privilege(THD *thd)
Definition: parse_tree_nodes.cc:4358
Definition: parse_tree_nodes.h:383
PT_item_list super
Definition: parse_tree_nodes.h:384
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3621
Definition: parse_tree_nodes.h:1207
PT_select_sp_var(const LEX_STRING &name_arg)
Definition: parse_tree_nodes.h:1221
sp_head * sp
Definition: parse_tree_nodes.h:1217
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:683
uint offset
Definition: parse_tree_nodes.h:1210
uint get_offset() const override
Definition: parse_tree_nodes.h:1224
PT_select_var super
Definition: parse_tree_nodes.h:1208
bool is_local() const override
Definition: parse_tree_nodes.h:1223
Definition: parse_tree_nodes.h:1710
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:703
PT_query_expression_body * m_qe
Definition: parse_tree_nodes.h:1745
const bool m_has_trailing_locking_clauses
Definition: parse_tree_nodes.h:1747
PT_into_destination * m_into
Definition: parse_tree_nodes.h:1746
PT_select_stmt(enum_sql_command sql_command, PT_query_expression_body *qe)
Definition: parse_tree_nodes.h:1718
Parse_tree_root super
Definition: parse_tree_nodes.h:1711
PT_select_stmt(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:1733
enum_sql_command m_sql_command
Definition: parse_tree_nodes.h:1744
Definition: parse_tree_nodes.h:1229
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3976
List< PT_select_var > value
Definition: parse_tree_nodes.h:1235
PT_into_destination super
Definition: parse_tree_nodes.h:1230
bool push_back(PT_select_var *var)
Definition: parse_tree_nodes.h:1239
PT_select_var_list(const POS &pos)
Definition: parse_tree_nodes.h:1233
Definition: parse_tree_nodes.h:1194
const LEX_STRING name
Definition: parse_tree_nodes.h:1196
virtual bool is_local() const
Definition: parse_tree_nodes.h:1200
PT_select_var(const LEX_STRING &name_arg)
Definition: parse_tree_nodes.h:1198
virtual uint get_offset() const
Definition: parse_tree_nodes.h:1201
Definition: parse_tree_nodes.h:888
PT_set_names(const CHARSET_INFO *opt_charset_arg, const CHARSET_INFO *opt_collation_arg)
Definition: parse_tree_nodes.h:895
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:889
const CHARSET_INFO * opt_charset
Definition: parse_tree_nodes.h:891
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:218
const CHARSET_INFO * opt_collation
Definition: parse_tree_nodes.h:892
Definition: parse_tree_nodes.h:1637
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1660
bool m_is_distinct
Definition: parse_tree_nodes.h:1678
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
PT_set_operation(PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1641
bool is_distinct() const
Definition: parse_tree_nodes.h:1669
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:1531
PT_into_destination * m_into
Definition: parse_tree_nodes.h:1679
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1668
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1654
void set_is_rhs_in_parentheses(bool v)
Definition: parse_tree_nodes.h:1672
bool m_is_rhs_in_parentheses
Definition: parse_tree_nodes.h:1680
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1652
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1667
List< PT_query_expression_body > m_list
Definition: parse_tree_nodes.h:1671
bool contextualize_setop(Parse_context *pc, Query_term_type setop_type, Surrounding_context context)
Definition: parse_tree_nodes.cc:1665
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:1404
Parse tree node for SET RESOURCE GROUP statement.
Definition: parse_tree_nodes.h:5141
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4624
resourcegroups::Sql_cmd_set_resource_group sql_cmd
Definition: parse_tree_nodes.h:5142
PT_set_resource_group(const LEX_CSTRING &name, Mem_root_array< ulonglong > *thread_id_list)
Definition: parse_tree_nodes.h:5145
Definition: parse_tree_nodes.h:2907
PT_set_role(role_enum role_type, const List< LEX_USER > *opt_except_roles=nullptr)
Definition: parse_tree_nodes.h:2911
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4348
PT_set_role(const List< LEX_USER > *roles)
Definition: parse_tree_nodes.h:2916
Sql_cmd_set_role sql_cmd
Definition: parse_tree_nodes.h:2908
Definition: parse_tree_nodes.h:781
Parse_tree_node super
Definition: parse_tree_nodes.h:782
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:797
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3748
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:796
PT_set_scoped_system_variable(const POS &pos, const LEX_CSTRING &opt_prefix, const LEX_CSTRING &name, Item *opt_expr)
Definition: parse_tree_nodes.h:785
Item * m_opt_expr
Definition: parse_tree_nodes.h:798
const POS m_pos
Definition: parse_tree_nodes.h:795
Definition: parse_tree_nodes.h:840
const enum_var_type m_scope
Definition: parse_tree_nodes.h:856
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:841
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:858
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3802
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:859
Item * m_opt_expr
Definition: parse_tree_nodes.h:860
const POS m_name_pos
Definition: parse_tree_nodes.h:857
PT_set_system_variable(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:844
Definition: parse_tree_nodes.h:803
Item * m_opt_expr
Definition: parse_tree_nodes.h:822
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:499
PT_set_variable(const POS &pos, const LEX_CSTRING &opt_prefix, const LEX_CSTRING &name, const POS &expr_pos, Item *opt_expr)
Definition: parse_tree_nodes.h:807
PT_option_value_no_option_type super
Definition: parse_tree_nodes.h:804
const POS m_expr_pos
Definition: parse_tree_nodes.h:821
const LEX_CSTRING m_opt_prefix
Definition: parse_tree_nodes.h:819
const POS m_pos
Definition: parse_tree_nodes.h:818
const LEX_CSTRING m_name
Definition: parse_tree_nodes.h:820
Definition: parse_tree_nodes.h:1137
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3926
Parse_tree_node super
Definition: parse_tree_nodes.h:1138
POS set_pos
Definition: parse_tree_nodes.h:1140
PT_set(const POS &set_pos_arg, PT_start_option_value_list *list_arg)
Definition: parse_tree_nodes.h:1144
PT_start_option_value_list * list
Definition: parse_tree_nodes.h:1141
Base class for Parse tree nodes of SHOW statements.
Definition: parse_tree_nodes.h:3045
PT_show_base(const POS &pos, enum_sql_command sql_command)
Definition: parse_tree_nodes.h:3047
enum_sql_command m_sql_command
SQL command.
Definition: parse_tree_nodes.h:3053
POS m_pos
Textual location of a token just parsed.
Definition: parse_tree_nodes.h:3051
Parse tree node for SHOW BINLOG EVENTS statement.
Definition: parse_tree_nodes.h:3121
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3133
Sql_cmd_show_binlog_events m_sql_cmd
Definition: parse_tree_nodes.h:3135
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:3123
const LEX_STRING m_opt_log_file_name
Definition: parse_tree_nodes.h:3132
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2440
Parse tree node for SHOW BINLOGS statement.
Definition: parse_tree_nodes.h:3140
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2452
PT_show_binlogs(const POS &pos)
Definition: parse_tree_nodes.h:3142
Sql_cmd_show_binlogs m_sql_cmd
Definition: parse_tree_nodes.h:3147
Parse tree node for SHOW CHARACTER SET statement.
Definition: parse_tree_nodes.h:3152
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2459
PT_show_charsets(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3154
Sql_cmd_show_charsets m_sql_cmd
Definition: parse_tree_nodes.h:3160
Parse tree node for SHOW COLLATIONS statement.
Definition: parse_tree_nodes.h:3165
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2472
PT_show_collations(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3167
Sql_cmd_show_collations m_sql_cmd
Definition: parse_tree_nodes.h:3173
Base class for Parse tree nodes of SHOW COUNT(*) { WARNINGS | ERRORS } statements.
Definition: parse_tree_nodes.h:3179
Sql_cmd * make_cmd_generic(THD *thd, LEX_CSTRING diagnostic_variable_name)
Definition: parse_tree_nodes.cc:2485
PT_show_count_base(const POS &pos)
Definition: parse_tree_nodes.h:3181
Parse tree node for SHOW COUNT(*) ERRORS.
Definition: parse_tree_nodes.h:3190
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.h:3194
PT_show_count_errors(const POS &pos)
Definition: parse_tree_nodes.h:3192
Parse tree node for SHOW COUNT(*) WARNINGS.
Definition: parse_tree_nodes.h:3201
PT_show_count_warnings(const POS &pos)
Definition: parse_tree_nodes.h:3203
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.h:3205
Parse tree node for SHOW CREATE DATABASE statement.
Definition: parse_tree_nodes.h:3212
const LEX_STRING m_name
Definition: parse_tree_nodes.h:3224
PT_show_create_database(const POS &pos, bool if_not_exists, const LEX_STRING &name)
Definition: parse_tree_nodes.h:3214
Sql_cmd_show_create_database m_sql_cmd
Definition: parse_tree_nodes.h:3226
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2517
const bool m_if_not_exists
Definition: parse_tree_nodes.h:3223
Parse tree node for SHOW CREATE EVENT statement.
Definition: parse_tree_nodes.h:3231
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2530
sp_name *const m_spname
Definition: parse_tree_nodes.h:3239
PT_show_create_event(const POS &pos, sp_name *event_name)
Definition: parse_tree_nodes.h:3233
Sql_cmd_show_create_event m_sql_cmd
Definition: parse_tree_nodes.h:3241
Parse tree node for SHOW CREATE FUNCTION statement.
Definition: parse_tree_nodes.h:3246
Sql_cmd_show_create_function m_sql_cmd
Definition: parse_tree_nodes.h:3256
PT_show_create_function(const POS &pos, sp_name *function_name)
Definition: parse_tree_nodes.h:3248
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2539
sp_name *const m_spname
Definition: parse_tree_nodes.h:3254
Parse tree node for SHOW CREATE PROCEDURE statement.
Definition: parse_tree_nodes.h:3261
Sql_cmd_show_create_procedure m_sql_cmd
Definition: parse_tree_nodes.h:3271
sp_name *const m_spname
Definition: parse_tree_nodes.h:3269
PT_show_create_procedure(const POS &pos, sp_name *procedure_name)
Definition: parse_tree_nodes.h:3263
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2548
Parse tree node for SHOW CREATE TABLE and VIEW statements.
Definition: parse_tree_nodes.h:3276
Sql_cmd_show_create_table m_sql_cmd
Definition: parse_tree_nodes.h:3284
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2557
PT_show_create_table(const POS &pos, Table_ident *table_ident)
Definition: parse_tree_nodes.h:3278
Parse tree node for SHOW CREATE TRIGGER statement.
Definition: parse_tree_nodes.h:3289
PT_show_create_trigger(const POS &pos, sp_name *trigger_name)
Definition: parse_tree_nodes.h:3291
Sql_cmd_show_create_trigger m_sql_cmd
Definition: parse_tree_nodes.h:3299
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2576
sp_name *const m_spname
Definition: parse_tree_nodes.h:3297
Parse tree node for SHOW CREATE USER statement.
Definition: parse_tree_nodes.h:3304
Sql_cmd_show_create_user m_sql_cmd
Definition: parse_tree_nodes.h:3314
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2585
PT_show_create_user(const POS &pos, LEX_USER *user)
Definition: parse_tree_nodes.h:3306
LEX_USER *const m_user
Definition: parse_tree_nodes.h:3312
Parse tree node for SHOW CREATE VIEW statement.
Definition: parse_tree_nodes.h:3319
PT_show_create_view(const POS &pos, Table_ident *table_ident)
Definition: parse_tree_nodes.h:3321
Sql_cmd_show_create_table m_sql_cmd
Definition: parse_tree_nodes.h:3327
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2569
Parse tree node for SHOW DATABASES statement.
Definition: parse_tree_nodes.h:3332
Sql_cmd_show_databases m_sql_cmd
Definition: parse_tree_nodes.h:3340
PT_show_databases(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3334
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2594
Parse tree node for SHOW ENGINE statements.
Definition: parse_tree_nodes.h:3345
PT_show_engine_base(const POS &pos, enum enum_sql_command sql_command, const LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3347
LEX_STRING m_engine
Definition: parse_tree_nodes.h:3353
bool m_all
Definition: parse_tree_nodes.h:3354
Parse tree node for SHOW ENGINE LOGS statement.
Definition: parse_tree_nodes.h:3359
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2607
PT_show_engine_logs(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3361
Sql_cmd_show_engine_logs m_sql_cmd
Definition: parse_tree_nodes.h:3367
Parse tree node for SHOW ENGINE MUTEX statement.
Definition: parse_tree_nodes.h:3372
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2621
Sql_cmd_show_engine_mutex m_sql_cmd
Definition: parse_tree_nodes.h:3380
PT_show_engine_mutex(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3374
Parse tree node for SHOW ENGINE STATUS statement.
Definition: parse_tree_nodes.h:3385
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2635
PT_show_engine_status(const POS &pos, LEX_STRING opt_engine={})
Definition: parse_tree_nodes.h:3387
Sql_cmd_show_engine_status m_sql_cmd
Definition: parse_tree_nodes.h:3393
Parse tree node for SHOW ENGINES statement.
Definition: parse_tree_nodes.h:3398
PT_show_engines(const POS &pos)
Definition: parse_tree_nodes.h:3400
Sql_cmd_show_engines m_sql_cmd
Definition: parse_tree_nodes.h:3406
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2649
Parse tree node for SHOW ERRORS statement.
Definition: parse_tree_nodes.h:3411
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3420
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2658
Sql_cmd_show_errors m_sql_cmd
Definition: parse_tree_nodes.h:3422
PT_show_errors(const POS &pos, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:3413
Parse tree node for SHOW EVENTS statement.
Definition: parse_tree_nodes.h:3427
Sql_cmd_show_events m_sql_cmd
Definition: parse_tree_nodes.h:3436
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2692
PT_show_events(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3429
Parse tree node for SHOW COLUMNS statement.
Definition: parse_tree_nodes.h:3441
Sql_cmd_show_columns m_sql_cmd
Definition: parse_tree_nodes.h:3455
Show_cmd_type m_show_cmd_type
Definition: parse_tree_nodes.h:3454
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:3445
PT_show_table_base super
Definition: parse_tree_nodes.h:3442
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2670
Base class for Parse tree nodes of SHOW statements with LIKE/WHERE parameter.
Definition: parse_tree_nodes.h:3058
Item * m_where
Definition: parse_tree_nodes.h:3067
PT_show_filter_base(const POS &pos, enum_sql_command sql_command, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3060
LEX_STRING m_wild
Wild or where clause used in the statement.
Definition: parse_tree_nodes.h:3066
Parse tree node for SHOW FUNCTION CODE statement.
Definition: parse_tree_nodes.h:3460
PT_show_function_code(const POS &pos, const sp_name *function_name)
Definition: parse_tree_nodes.h:3462
Parse tree node for SHOW GRANTS statement.
Definition: parse_tree_nodes.h:3468
Sql_cmd_show_grants sql_cmd
Definition: parse_tree_nodes.h:3480
PT_show_grants(const POS &pos, const LEX_USER *opt_for_user, const List< LEX_USER > *opt_using_users)
Definition: parse_tree_nodes.h:3470
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:4414
Parse tree node for SHOW INDEX statement.
Definition: parse_tree_nodes.h:3485
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2684
PT_show_keys(const POS &pos, bool extended_show, Table_ident *table, Item *where)
Definition: parse_tree_nodes.h:3487
Sql_cmd_show_keys m_sql_cmd
Definition: parse_tree_nodes.h:3499
bool m_extended_show
Definition: parse_tree_nodes.h:3498
PT_show_table_base super
Definition: parse_tree_nodes.h:3495
Parse tree node for SHOW MASTER STATUS statement.
Definition: parse_tree_nodes.h:3504
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2706
Sql_cmd_show_master_status m_sql_cmd
Definition: parse_tree_nodes.h:3512
PT_show_master_status(const POS &pos)
Definition: parse_tree_nodes.h:3506
Parse tree node for SHOW OPEN TABLES statement.
Definition: parse_tree_nodes.h:3517
PT_show_open_tables(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3519
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2713
Sql_cmd_show_open_tables m_sql_cmd
Definition: parse_tree_nodes.h:3527
Parse tree node for SHOW PLUGINS statement.
Definition: parse_tree_nodes.h:3532
Sql_cmd_show_plugins m_sql_cmd
Definition: parse_tree_nodes.h:3539
PT_show_plugins(const POS &pos)
Definition: parse_tree_nodes.h:3534
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2731
Parse tree node for SHOW PRIVILEGES statement.
Definition: parse_tree_nodes.h:3544
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2740
PT_show_privileges(const POS &pos)
Definition: parse_tree_nodes.h:3546
Sql_cmd_show_privileges m_sql_cmd
Definition: parse_tree_nodes.h:3552
Parse tree node for SHOW FUNCTION CODE statement.
Definition: parse_tree_nodes.h:3557
PT_show_procedure_code(const POS &pos, const sp_name *procedure_name)
Definition: parse_tree_nodes.h:3559
Parse tree node for SHOW PROCESSLIST statement.
Definition: parse_tree_nodes.h:3565
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2747
Sql_cmd_show_processlist m_sql_cmd
Definition: parse_tree_nodes.h:3573
PT_show_processlist(const POS &pos, bool verbose)
Definition: parse_tree_nodes.h:3567
Parse tree node for SHOW PROFILE statement.
Definition: parse_tree_nodes.h:3578
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2770
uint m_opt_profile_options
Definition: parse_tree_nodes.h:3591
Sql_cmd_show_profile m_sql_cmd
Definition: parse_tree_nodes.h:3595
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:3580
my_thread_id m_opt_query_id
Definition: parse_tree_nodes.h:3592
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3593
Parse tree node for SHOW PROFILES statement.
Definition: parse_tree_nodes.h:3600
PT_show_profiles(const POS &pos)
Definition: parse_tree_nodes.h:3602
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2785
Sql_cmd_show_profiles m_sql_cmd
Definition: parse_tree_nodes.h:3607
Parse tree node for SHOW RELAYLOG EVENTS statement.
Definition: parse_tree_nodes.h:3612
Sql_cmd_show_relaylog_events m_sql_cmd
Definition: parse_tree_nodes.h:3630
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:3614
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3627
const LEX_STRING m_opt_log_file_name
Definition: parse_tree_nodes.h:3626
const LEX_CSTRING m_opt_channel_name
Definition: parse_tree_nodes.h:3628
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2792
Parse tree node for SHOW REPLICA STATUS statement.
Definition: parse_tree_nodes.h:3648
Sql_cmd_show_replica_status m_sql_cmd
Definition: parse_tree_nodes.h:3659
const LEX_CSTRING m_opt_channel_name
Definition: parse_tree_nodes.h:3657
PT_show_replica_status(const POS &pos, LEX_CSTRING opt_channel_name={})
Definition: parse_tree_nodes.h:3650
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2812
Parse tree node for SHOW REPLICAS statement.
Definition: parse_tree_nodes.h:3635
Sql_cmd_show_replicas m_sql_cmd
Definition: parse_tree_nodes.h:3643
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2805
PT_show_replicas(const POS &pos)
Definition: parse_tree_nodes.h:3637
Parse tree node for SHOW FUNCTION/PROCEDURE CODE statements.
Definition: parse_tree_nodes.h:3107
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2763
Sql_cmd_show_routine_code m_sql_cmd
Definition: parse_tree_nodes.h:3116
PT_show_routine_code(const POS &pos, enum_sql_command sql_command, const sp_name *routine_name)
Definition: parse_tree_nodes.h:3109
Base class for Parse tree nodes of SHOW statements with schema parameter.
Definition: parse_tree_nodes.h:3072
char * m_opt_db
Optional schema name in FROM/IN clause.
Definition: parse_tree_nodes.h:3083
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:3074
Item * m_where
Definition: parse_tree_nodes.h:3086
LEX_STRING m_wild
Wild or where clause used in the statement.
Definition: parse_tree_nodes.h:3085
Parse tree node for SHOW STATUS FUNCTION statement.
Definition: parse_tree_nodes.h:3683
Sql_cmd_show_status_func m_sql_cmd
Definition: parse_tree_nodes.h:3691
PT_show_status_func(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3685
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2837
Parse tree node for SHOW STATUS PROCEDURE statement.
Definition: parse_tree_nodes.h:3696
PT_show_status_proc(const POS &pos, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3698
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2850
Sql_cmd_show_status_proc m_sql_cmd
Definition: parse_tree_nodes.h:3704
Parse tree node for SHOW STATUS statement.
Definition: parse_tree_nodes.h:3664
enum_var_type m_var_type
Definition: parse_tree_nodes.h:3678
Sql_cmd_show_status m_sql_cmd
Definition: parse_tree_nodes.h:3676
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2821
PT_show_status(const POS &pos, enum_var_type var_type, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3666
Base class for Parse tree nodes of SHOW COLUMNS/SHOW INDEX statements.
Definition: parse_tree_nodes.h:3091
bool make_table_base_cmd(THD *thd, bool *temporary)
Definition: parse_tree_nodes.cc:2356
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:3093
Table_ident * m_table_ident
Table used in the statement.
Definition: parse_tree_nodes.h:3102
Parse tree node for SHOW TABLE STATUS statement.
Definition: parse_tree_nodes.h:3709
Sql_cmd_show_table_status m_sql_cmd
Definition: parse_tree_nodes.h:3719
PT_show_table_status(const POS &pos, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3711
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2863
Parse tree node for SHOW TABLES statement.
Definition: parse_tree_nodes.h:3724
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2878
Show_cmd_type m_show_cmd_type
Definition: parse_tree_nodes.h:3736
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:3726
Sql_cmd_show_tables m_sql_cmd
Definition: parse_tree_nodes.h:3734
Parse tree node for SHOW TRIGGERS statement.
Definition: parse_tree_nodes.h:3741
PT_show_triggers(const POS &pos, bool full, char *opt_db, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3743
bool m_full
Definition: parse_tree_nodes.h:3753
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2894
Sql_cmd_show_triggers m_sql_cmd
Definition: parse_tree_nodes.h:3751
Parse tree node for SHOW VARIABLES statement.
Definition: parse_tree_nodes.h:3758
enum_var_type m_var_type
Definition: parse_tree_nodes.h:3772
Sql_cmd_show_variables m_sql_cmd
Definition: parse_tree_nodes.h:3770
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2909
PT_show_variables(const POS &pos, enum_var_type var_type, const LEX_STRING &wild, Item *where)
Definition: parse_tree_nodes.h:3760
Parse tree node for SHOW WARNINGS statement.
Definition: parse_tree_nodes.h:3777
PT_limit_clause *const m_opt_limit_clause
Definition: parse_tree_nodes.h:3786
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:2925
Sql_cmd_show_warnings m_sql_cmd
Definition: parse_tree_nodes.h:3788
PT_show_warnings(const POS &pos, PT_limit_clause *opt_limit_clause=nullptr)
Definition: parse_tree_nodes.h:3779
Top-level node for the SHUTDOWN statement.
Definition: parse_tree_nodes.h:1957
Sql_cmd * make_cmd(THD *) override
Definition: parse_tree_nodes.h:1961
Sql_cmd_shutdown sql_cmd
Definition: parse_tree_nodes.h:1958
Definition: parse_tree_nodes.h:1089
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3895
POS head_pos
Definition: parse_tree_nodes.h:1093
PT_start_option_value_list_following_option_type_eq(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:1097
PT_start_option_value_list_following_option_type super
Definition: parse_tree_nodes.h:1090
PT_option_value_list_head * opt_tail
Definition: parse_tree_nodes.h:1094
PT_set_scoped_system_variable * head
Definition: parse_tree_nodes.h:1092
Definition: parse_tree_nodes.h:1106
PT_start_option_value_list_following_option_type_transaction(PT_transaction_characteristics *characteristics_arg, const POS &characteristics_pos_arg)
Definition: parse_tree_nodes.h:1113
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3909
PT_transaction_characteristics * characteristics
Definition: parse_tree_nodes.h:1109
PT_start_option_value_list_following_option_type super
Definition: parse_tree_nodes.h:1107
POS characteristics_pos
Definition: parse_tree_nodes.h:1110
Definition: parse_tree_nodes.h:1086
Definition: parse_tree_nodes.h:1007
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1008
POS head_pos
Definition: parse_tree_nodes.h:1011
PT_start_option_value_list_no_type(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:1015
PT_option_value_list_head * tail
Definition: parse_tree_nodes.h:1012
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3850
PT_option_value_no_option_type * head
Definition: parse_tree_nodes.h:1010
Definition: parse_tree_nodes.h:1070
PT_transaction_characteristics * characteristics
Definition: parse_tree_nodes.h:1073
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1071
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3881
POS end_pos
Definition: parse_tree_nodes.h:1074
PT_start_option_value_list_transaction(PT_transaction_characteristics *characteristics_arg, const POS &end_pos_arg)
Definition: parse_tree_nodes.h:1077
Definition: parse_tree_nodes.h:1122
PT_start_option_value_list super
Definition: parse_tree_nodes.h:1123
PT_start_option_value_list_following_option_type * list
Definition: parse_tree_nodes.h:1126
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3921
PT_start_option_value_list_type(enum_var_type type_arg, PT_start_option_value_list_following_option_type *list_arg)
Definition: parse_tree_nodes.h:1129
enum_var_type type
Definition: parse_tree_nodes.h:1125
Definition: parse_tree_nodes.h:902
Definition: parse_tree_nodes.h:2984
const Mem_root_array< LEX_CSTRING > * columns
Definition: parse_tree_nodes.h:2986
PT_static_privilege(const POS &pos, uint grant, const Mem_root_array< LEX_CSTRING > *columns=nullptr)
Definition: parse_tree_nodes.h:2989
const uint grant
Definition: parse_tree_nodes.h:2985
Privilege * get_privilege(THD *thd) override
Definition: parse_tree_nodes.cc:4375
Definition: parse_tree_nodes.h:1616
Parse_tree_node super
Definition: parse_tree_nodes.h:1617
PT_query_expression_body * qe
Definition: parse_tree_nodes.h:1619
bool m_is_derived_table
Definition: parse_tree_nodes.h:1624
Query_block * value()
Definition: parse_tree_nodes.h:1634
PT_subquery(POS p, PT_query_expression_body *query_expression)
Definition: parse_tree_nodes.h:1626
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:4122
Query_block * query_block
Definition: parse_tree_nodes.h:1621
POS pos
Definition: parse_tree_nodes.h:1620
Definition: parse_tree_nodes.h:2273
Definition: parse_tree_nodes.h:172
~PT_table_ddl_stmt_base() override=0
Alter_info m_alter_info
Definition: parse_tree_nodes.h:180
PT_table_ddl_stmt_base(MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:174
Base class for column/constraint definitions in CREATE TABLE.
Definition: parse_tree_nodes.h:2271
Definition: parse_tree_nodes.h:451
Item * m_path
Definition: parse_tree_nodes.h:467
const LEX_STRING m_table_alias
Definition: parse_tree_nodes.h:469
Item * m_expr
Definition: parse_tree_nodes.h:466
PT_table_reference super
Definition: parse_tree_nodes.h:452
Mem_root_array< PT_json_table_column * > * m_nested_columns
Definition: parse_tree_nodes.h:468
PT_table_factor_function(Item *expr, Item *path, Mem_root_array< PT_json_table_column * > *nested_cols, const LEX_STRING &table_alias)
Definition: parse_tree_nodes.h:455
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1274
Definition: parse_tree_nodes.h:503
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1368
PT_table_factor_joined_table(PT_joined_table *joined_table)
Definition: parse_tree_nodes.h:507
PT_joined_table * m_joined_table
Definition: parse_tree_nodes.h:513
PT_table_reference super
Definition: parse_tree_nodes.h:504
Definition: parse_tree_nodes.h:425
const char *const opt_table_alias
Definition: parse_tree_nodes.h:430
Table_ident * table_ident
Definition: parse_tree_nodes.h:428
PT_table_reference super
Definition: parse_tree_nodes.h:426
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3647
PT_table_factor_table_ident(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)
Definition: parse_tree_nodes.h:434
List< Index_hint > * opt_key_definition
Definition: parse_tree_nodes.h:431
List< String > * opt_use_partition
Definition: parse_tree_nodes.h:429
Definition: parse_tree_nodes.h:684
void print_table_ident(const THD *thd, const Table_ident *ident, String *s)
Definition: parse_tree_nodes.cc:3725
Table_ident_list m_tables
Definition: parse_tree_nodes.h:703
bool raise_error(THD *thd, const Table_ident *name, int error)
Definition: parse_tree_nodes.cc:3735
bool set_lock_for_tables(Parse_context *pc) override
Definition: parse_tree_nodes.cc:2335
PT_table_locking_clause(Lock_strength strength, Mem_root_array_YY< Table_ident * > tables, Locked_row_action action)
Definition: parse_tree_nodes.h:688
Mem_root_array_YY< Table_ident * > Table_ident_list
Definition: parse_tree_nodes.h:686
Definition: parse_tree_nodes.h:472
PT_table_reference super
Definition: parse_tree_nodes.h:473
PT_table_reference_list_parens(const Mem_root_array_YY< PT_table_reference * > table_list)
Definition: parse_tree_nodes.h:478
Mem_root_array_YY< PT_table_reference * > table_list
Definition: parse_tree_nodes.h:475
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3661
Definition: parse_tree_nodes.h:406
Table_ref * m_table_ref
Definition: parse_tree_nodes.h:408
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:147
Definition: parse_tree_nodes.h:1430
PT_insert_values_list *const row_value_list
Definition: parse_tree_nodes.h:1433
bool is_set_operation() const override
Definition: parse_tree_nodes.h:1444
bool has_into_clause() const override
Definition: parse_tree_nodes.h:1441
PT_insert_values_list * get_row_value_list() const override
Definition: parse_tree_nodes.h:1450
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:1446
bool has_trailing_into_clause() const override
Definition: parse_tree_nodes.h:1442
PT_table_value_constructor(PT_insert_values_list *row_value_list_arg)
Definition: parse_tree_nodes.h:1436
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1226
bool is_table_value_constructor() const override
Definition: parse_tree_nodes.h:1448
PT_query_primary super
Definition: parse_tree_nodes.h:1431
A template for options that set HA_CREATE_INFO::table_options and also records if the option was expl...
Definition: parse_tree_nodes.h:2509
PT_create_table_option super
Definition: parse_tree_nodes.h:2510
const Ternary_option value
Definition: parse_tree_nodes.h:2512
PT_ternary_create_table_option(Ternary_option value)
Definition: parse_tree_nodes.h:2515
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2518
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:2372
PT_traceable_create_table_option(Option_type value)
Definition: parse_tree_nodes.h:2378
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2380
const Option_type value
Definition: parse_tree_nodes.h:2375
PT_create_table_option super
Definition: parse_tree_nodes.h:2373
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:2199
bool contextualize(Table_ddl_parse_context *pc) override
Definition: parse_tree_nodes.h:2204
PT_traceable_index_option(Option_type option_value)
Definition: parse_tree_nodes.h:2201
Option_type m_option_value
Definition: parse_tree_nodes.h:2211
Definition: parse_tree_nodes.h:1036
PT_transaction_characteristic super
Definition: parse_tree_nodes.h:1037
PT_transaction_access_mode(bool is_read_only)
Definition: parse_tree_nodes.h:1040
Definition: parse_tree_nodes.h:1023
int32 value
Definition: parse_tree_nodes.h:1027
PT_transaction_characteristic(const char *name_arg, int32 value_arg)
Definition: parse_tree_nodes.h:1030
Parse_tree_node super
Definition: parse_tree_nodes.h:1024
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:3862
const char * name
Definition: parse_tree_nodes.h:1026
Definition: parse_tree_nodes.h:1052
PT_transaction_characteristic * opt_tail
Definition: parse_tree_nodes.h:1056
PT_transaction_characteristics(PT_transaction_characteristic *head_arg, PT_transaction_characteristic *opt_tail_arg)
Definition: parse_tree_nodes.h:1059
PT_transaction_characteristic * head
Definition: parse_tree_nodes.h:1055
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.h:1063
Parse_tree_node super
Definition: parse_tree_nodes.h:1053
Definition: parse_tree_nodes.h:4747
Sql_cmd_truncate_table m_cmd_truncate_table
Definition: parse_tree_nodes.h:4756
Table_ident * m_table
Definition: parse_tree_nodes.h:4754
PT_truncate_table_stmt(Table_ident *table)
Definition: parse_tree_nodes.h:4749
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:3262
Base class for all column type nodes.
Definition: parse_tree_column_attrs.h:531
Definition: parse_tree_nodes.h:1683
PT_set_operation(PT_query_expression_body *lhs, bool is_distinct, PT_query_expression_body *rhs, bool is_rhs_in_parentheses=false)
Definition: parse_tree_nodes.h:1641
enum Setop_type type() const override
Definition: parse_tree_nodes.h:1689
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1710
Top-level node for the UPDATE statement.
Definition: parse_tree_nodes.h:1824
PT_with_clause * m_with_clause
Definition: parse_tree_nodes.h:1825
Item * opt_limit_clause
Definition: parse_tree_nodes.h:1834
Sql_cmd * make_cmd(THD *thd) override
Definition: parse_tree_nodes.cc:915
Mem_root_array_YY< PT_table_reference * > join_table_list
Definition: parse_tree_nodes.h:1829
PT_hint_list * opt_hints
Definition: parse_tree_nodes.h:1826
bool opt_ignore
Definition: parse_tree_nodes.h:1828
PT_item_list * value_list
Definition: parse_tree_nodes.h:1831
thr_lock_type opt_low_priority
Definition: parse_tree_nodes.h:1827
PT_update(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:1837
PT_item_list * column_list
Definition: parse_tree_nodes.h:1830
PT_order * opt_order_clause
Definition: parse_tree_nodes.h:1833
Item * opt_where_clause
Definition: parse_tree_nodes.h:1832
Parse tree node for a list of window definitions corresponding to a <window clause> in SQL 2003.
Definition: parse_tree_window.h:60
Represents the WITH clause: WITH [...], [...] SELECT ..., ^^^^^^^^^^^^^^^^^.
Definition: parse_tree_nodes.h:337
const Table_ref * m_most_inner_in_parsing
The innermost CTE reference which we're parsing at the moment.
Definition: parse_tree_nodes.h:378
PT_with_clause(const PT_with_list *l, bool r)
Definition: parse_tree_nodes.h:341
void print(const THD *thd, String *str, enum_query_type query_type)
Definition: parse_tree_nodes.cc:1964
void leave_parsing_definition(const Table_ref *old)
Definition: parse_tree_nodes.h:364
Parse_tree_node super
Definition: parse_tree_nodes.h:338
const PT_with_list *const m_list
All CTEs of this clause.
Definition: parse_tree_nodes.h:371
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:359
bool contextualize(Parse_context *pc) override
Definition: parse_tree_nodes.cc:1957
const bool m_recursive
True if the user has specified the RECURSIVE keyword.
Definition: parse_tree_nodes.h:373
Represents the WITH list.
Definition: parse_tree_nodes.h:317
Mem_root_array< PT_common_table_expr * > m_elements
Definition: parse_tree_nodes.h:329
PT_with_list(MEM_ROOT *mem_root)
Definition: parse_tree_nodes.h:322
Parse_tree_node super
Definition: parse_tree_nodes.h:318
bool push_back(PT_common_table_expr *el)
Definition: parse_tree_nodes.cc:1928
const Mem_root_array< PT_common_table_expr * > & elements() const
Definition: parse_tree_nodes.h:324
Base class for parse tree nodes (excluding the Parse_tree_root hierarchy)
Definition: parse_tree_node_base.h:139
virtual bool contextualize(Context *pc)
Do all context-sensitive things and mark the node as contextualized.
Definition: parse_tree_node_base.h:187
bool is_contextualized() const
Definition: parse_tree_node_base.h:176
void error(Context *pc, const POS &pos) const
syntax_error() function replacement for deferred reporting of syntax errors
Definition: parse_tree_node_base.h:206
Base class for all top-level nodes of SQL statements.
Definition: parse_tree_nodes.h:160
Parse_tree_root()=default
void operator=(const Parse_tree_root &)=delete
Parse_tree_root(const Parse_tree_root &)=delete
virtual ~Parse_tree_root()=default
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:1160
bool clear_correlated_query_blocks()
Empties all correlated query blocks defined within the query expression; that is, correlated CTEs def...
Definition: sql_union.cc:1633
Common base class for n-ary set operations, including unary.
Definition: query_term.h:402
Simple intrusive linked list.
Definition: sql_list.h:46
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
LEX_STRING column_name
Name of the column if check clause is defined at the column level.
Definition: sql_check_constraint.h:83
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:379
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:616
Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
Definition: sql_admin.h:338
Histogram_command
Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM that is specified after A...
Definition: sql_admin.h:70
Sql_cmd_create_role represetns the CREATE ROLE ... statement.
Definition: sql_admin.h:258
Definition: sql_cmd_srs.h:56
Represents ALTER TABLE IMPORT/DISCARD TABLESPACE statements.
Definition: sql_alter.h:627
Sql_cmd_drop_role represetns the DROP ROLE ... statement.
Definition: sql_admin.h:278
Definition: sql_cmd_srs.h:110
Definition: opt_explain.h:178
Definition: sql_load.h:47
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:640
Sql_cmd_set_role represetns the SET ROLE ... statement.
Definition: sql_admin.h:230
Following are all subclasses of class Sql_cmd_show, in alphabetical order.
Definition: sql_show.h:236
Represents SHOW BINARY LOGS statement.
Definition: sql_show.h:251
Represents SHOW CHARACTER SET statement.
Definition: sql_show.h:260
Represents SHOW COLLATION statement.
Definition: sql_show.h:267
Represents SHOW COLUMNS statement.
Definition: sql_show.h:274
Represents SHOW CREATE DATABASE statement.
Definition: sql_show.h:281
Represents SHOW CREATE EVENT statement.
Definition: sql_show.h:290
Represents SHOW CREATE FUNCTION statement.
Definition: sql_show.h:299
Represents SHOW CREATE PROCEDURE statement.
Definition: sql_show.h:309
Represents SHOW CREATE TABLE/VIEW statement.
Definition: sql_show.h:319
Represents SHOW CREATE TRIGGER statement.
Definition: sql_show.h:335
Represents SHOW CREATE USER statement.
Definition: sql_show.h:345
Represents SHOW DATABASES statement.
Definition: sql_show.h:354
Represents SHOW ENGINE LOGS statement.
Definition: sql_show.h:362
Represents SHOW ENGINE MUTEX statement.
Definition: sql_show.h:371
Represents SHOW ENGINE STATUS statement.
Definition: sql_show.h:380
Represents SHOW STORAGE ENGINES statement.
Definition: sql_show.h:390
Represents SHOW ERRORS statement.
Definition: sql_show.h:397
Represents SHOW EVENTS statement.
Definition: sql_show.h:407
Represents SHOW GRANTS statement.
Definition: sql_show.h:417
Represents the SHOW INDEX statement.
Definition: sql_show.h:435
Represents SHOW MASTER STATUS statement.
Definition: sql_show.h:442
Represents SHOW OPEN TABLES statement.
Definition: sql_show.h:451
Represents SHOW PLUGINS statement.
Definition: sql_show.h:458
Represents SHOW PRIVILEGES statement.
Definition: sql_show.h:465
Represents SHOW PROCESSLIST statement.
Definition: sql_show.h:473
Represents SHOW PROFILE statement.
Definition: sql_show.h:493
Represents SHOW PROFILES statement.
Definition: sql_show.h:500
Represents SHOW RELAYLOG EVENTS statement.
Definition: sql_show.h:508
Represents SHOW REPLICA STATUS statement.
Definition: sql_show.h:532
Represents SHOW REPLICAS statement.
Definition: sql_show.h:523
Represents SHOW FUNCTION CODE and SHOW PROCEDURE CODE statements.
Definition: sql_show.h:220
Represents SHOW STATUS FUNCTION statement.
Definition: sql_show.h:549
Represents SHOW STATUS PROCEDURE statement.
Definition: sql_show.h:556
Represents SHOW STATUS statement.
Definition: sql_show.h:541
Represents SHOW TABLE STATUS statement.
Definition: sql_show.h:563
Represents SHOW TABLES statement.
Definition: sql_show.h:571
Represents SHOW TRIGGERS statement.
Definition: sql_show.h:578
Represents SHOW VARIABLES statement.
Definition: sql_show.h:585
Represents SHOW WARNINGS statement.
Definition: sql_show.h:592
Sql_cmd_shutdown represents the SHUTDOWN statement.
Definition: sql_admin.h:219
Sql_cmd_truncate_table represents the TRUNCATE statement.
Definition: sql_truncate.h:44
Representation of an SQL command.
Definition: sql_cmd.h:65
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
LEX * lex
Definition: sql_class.h:981
Definition: sql_lex.h:294
Represents the (explicit) window of a SQL 2003 section 7.11 <window clause>, or the implicit (inlined...
Definition: window.h:105
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:110
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:380
Definition: sp_head.h:120
Used to hold information about file and file structure in exchange via non-DB file (....
Definition: sql_exchange.h:79
Field_separators field
Definition: sql_exchange.h:81
const CHARSET_INFO * cs
Definition: sql_exchange.h:87
Line_separators line
Definition: sql_exchange.h:82
static MEM_ROOT mem_root
Definition: client_plugin.cc:110
const char * p
Definition: ctype-mb.cc:1237
enum_query_type
Query type constants (usable as bitmap flags).
Definition: enum_query_type.h:31
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:222
void my_error(int nr, myf MyFlags,...)
Fill in and print a previously registered error message.
Definition: my_error.cc:216
bool make_subquery_node(THD *thd, PT_subquery **node)
Definition: sql_parse.cc:5722
bool lookup(Table_ref *tl, PT_common_table_expr **found)
Looks up a table reference into the list of CTEs.
Definition: sql_parse.cc:5822
bool match_table_ref(Table_ref *tl, bool in_self, bool *found)
Definition: sql_parse.cc:5903
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:2415
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:2553
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:2460
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:2608
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:2442
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:2451
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:2570
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:2623
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:2433
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:2397
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:2406
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:2424
static int flags[50]
Definition: hp_test1.cc:40
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:177
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:46
#define comment
Definition: lexyy.cc:959
#define STRING_WITH_LEN(X)
Definition: m_string.h:315
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:489
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:719
#define HA_OPTION_NO_PACK_KEYS
PACK_KEYS=0 option was specified.
Definition: my_base.h:662
#define HA_OPTION_CHECKSUM
CHECKSUM=1 option was specified.
Definition: my_base.h:647
#define HA_OPTION_NO_CHECKSUM
CHECKSUM=0 option was specified.
Definition: my_base.h:714
#define HA_OPTION_DELAY_KEY_WRITE
DELAY_KEY_WRITE=1 option was specified.
Definition: my_base.h:655
ha_key_alg
Definition: my_base.h:97
#define HA_OPTION_STATS_PERSISTENT
STATS_PERSISTENT=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Definition: my_base.h:687
ha_storage_media
Definition: my_base.h:115
#define HA_OPTION_PACK_KEYS
PACK_KEYS=1 option was specified.
Definition: my_base.h:615
#define HA_OPTION_NO_STATS_PERSISTENT
STATS_PERSISTENT=0 has been specified in CREATE/ALTER TABLE.
Definition: my_base.h:694
Some useful bit functions.
constexpr bool is_single_bit(IntType bits)
Determine if a single bit is set among some bits.
Definition: my_bit.h:137
Some integer typedefs for easier portability.
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_SLAVE_HOSTS
Definition: my_sqlcommand.h:120
@ SQLCOM_SHOW_CREATE_TRIGGER
Definition: my_sqlcommand.h:174
@ SQLCOM_SHOW_ENGINE_MUTEX
Definition: my_sqlcommand.h:66
@ 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_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_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_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_MASTER_STAT
Definition: my_sqlcommand.h:68
@ 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_SLAVE_STAT
Definition: my_sqlcommand.h:69
@ 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_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:63
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:455
static bool column_names
Definition: mysql.cc:160
char * user
Definition: mysqladmin.cc:60
static bool ignore_errors
Definition: mysqlcheck.cc:61
static uint verbose
Definition: mysqlcheck.cc:65
static char * path
Definition: mysqldump.cc:137
static char * where
Definition: mysqldump.cc:140
static longlong opt_ignore_lines
Definition: mysqlimport.cc:81
static Secondary_engine * secondary_engine
Definition: mysqltest.cc:249
static char * opt_db
Definition: mysqltest.cc:189
const char * collation
Definition: audit_api_message_emit.cc:184
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1057
const std::string charset("charset")
std::string dir
Double write files location.
Definition: buf0dblwr.cc:77
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
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
static std::string lower(std::string str)
Definition: config_parser.cc:65
Definition: options.cc:49
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
Surrounding_context
Definition: parse_tree_node_base.h:97
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:148
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:4814
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:2464
#define TYPE_AND_REF(x)
Definition: parse_tree_nodes.h:2388
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:201
decltype(HA_CREATE_INFO::table_options) table_options_t
Definition: parse_tree_nodes.h:2501
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:2473
PT_index_option< ulong, &KEY_CREATE_INFO::block_size > PT_block_size
Definition: parse_tree_nodes.h:2215
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:4668
PT_set_operation * flatten_equal_set_ops(MEM_ROOT *mem_root, 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:5295
PT_index_option< LEX_CSTRING, &KEY_CREATE_INFO::comment > PT_index_comment
Definition: parse_tree_nodes.h:2217
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:2485
Mem_root_array_YY< PT_base_index_option * > Index_options
Definition: parse_tree_nodes.h:2214
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:2481
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:4794
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:5266
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:2477
PT_index_option< LEX_CSTRING, &KEY_CREATE_INFO::parser_name > PT_fulltext_index_parser_name
Definition: parse_tree_nodes.h:2219
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:4735
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:4689
Parse_tree_node_tmpl< Alter_tablespace_parse_context > PT_alter_tablespace_option_base
Definition: parse_tree_nodes.h:4935
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:2232
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:2499
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:4765
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:2489
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:4712
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:2494
PT_index_option< bool, &KEY_CREATE_INFO::is_visible > PT_index_visibility
Definition: parse_tree_nodes.h:2220
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:2469
olap_type
Definition: parser_yystype.h:179
On_duplicate
Definition: parser_yystype.h:242
Locked_row_action
We will static_cast this one to thr_lock_type.
Definition: parser_yystype.h:213
Lock_strength
Definition: parser_yystype.h:210
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:225
@ JTT_LEFT
Definition: parser_yystype.h:229
@ JTT_STRAIGHT_INNER
Definition: parser_yystype.h:232
@ JTT_NATURAL_LEFT
Definition: parser_yystype.h:234
@ JTT_NATURAL
Definition: parser_yystype.h:228
@ JTT_NATURAL_INNER
Definition: parser_yystype.h:233
@ JTT_NATURAL_RIGHT
Definition: parser_yystype.h:235
@ JTT_STRAIGHT
Definition: parser_yystype.h:227
@ JTT_RIGHT
Definition: parser_yystype.h:230
@ JTT_INNER
Definition: parser_yystype.h:226
Show_cmd_type
Definition: parser_yystype.h:260
Ternary_option
Definition: parser_yystype.h:240
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:89
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:90
@ OPT_GLOBAL
Definition: set_var.h:93
@ OPT_SESSION
Definition: set_var.h:92
#define HA_CREATE_USED_COMPRESS
COMPRESSION="zlib|lz4|none" used during table create.
Definition: handler.h:761
#define HA_CREATE_USED_CONNECTION
Definition: handler.h:728
#define HA_CREATE_USED_INSERT_METHOD
Definition: handler.h:713
#define HA_CREATE_USED_PACK_KEYS
Definition: handler.h:717
#define HA_CREATE_USED_DATADIR
Definition: handler.h:720
#define HA_CREATE_USED_KEY_BLOCK_SIZE
Definition: handler.h:729
#define HA_CREATE_USED_INDEXDIR
Definition: handler.h:721
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:803
#define HA_CREATE_USED_TABLESPACE
This is set whenever a 'TABLESPACE=...' phrase is used on CREATE TABLE.
Definition: handler.h:758
enum_tx_isolation
Definition: handler.h:3029
#define HA_CREATE_USED_ROW_FORMAT
Definition: handler.h:725
#define HA_CREATE_USED_ENCRYPT
ENCRYPTION="Y" used during table create.
Definition: handler.h:764
#define HA_CREATE_USED_DELAY_KEY_WRITE
Definition: handler.h:724
#define HA_CREATE_USED_MIN_ROWS
Definition: handler.h:714
#define HA_CREATE_USED_PASSWORD
Definition: handler.h:727
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:787
#define HA_CREATE_USED_COMMENT
Definition: handler.h:726
#define HA_CREATE_USED_MAX_ROWS
Definition: handler.h:715
#define HA_CREATE_USED_CHECKSUM
Definition: handler.h:723
#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:739
#define HA_CREATE_USED_AVG_ROW_LENGTH
Definition: handler.h:716
#define HA_CREATE_USED_AUTO
Definition: handler.h:710
alter_instance_action_enum
Definition: sql_admin.h:362
role_enum
Definition: sql_admin.h:225
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:142
enum_filetype
Definition: sql_exchange.h:32
enum_source_type
Definition: sql_exchange.h:30
case opt name
Definition: sslopt-case.h:33
Definition: parse_tree_nodes.h:4927
Alter_tablespace_parse_context(THD *thd)
Definition: parse_tree_nodes.cc:4566
THD *const thd
Definition: parse_tree_nodes.h:4928
MEM_ROOT *const mem_root
Definition: parse_tree_nodes.h:4929
Definition: m_ctype.h:385
Definition: parse_tree_nodes.h:2943
const LEX_STRING ident
Definition: parse_tree_nodes.h:2944
Dynamic_privilege(const LEX_STRING &ident, const Mem_root_array< LEX_CSTRING > *columns_arg)
Definition: parse_tree_nodes.h:2946
Helper for the sql_exchange class.
Definition: sql_exchange.h:53
void merge_field_separators(const Field_separators &s)
Definition: sql_exchange.h:63
uint sql_flags
Definition: handler.h:3634
uint flags
Definition: handler.h:3633
Struct to hold information about the table that should be created.
Definition: handler.h:3045
ulonglong auto_increment_value
Definition: handler.h:3084
bool m_transactional_ddl
Definition: handler.h:3122
enum row_type row_type
Row type of the table definition.
Definition: handler.h:3105
LEX_STRING compress
Algorithm (and possible options) to be used for InnoDB's transparent page compression.
Definition: handler.h:3061
LEX_STRING encrypt_type
This attribute is used for InnoDB's transparent page encryption.
Definition: handler.h:3069
ulong avg_row_length
Definition: handler.h:3086
const char * data_file_name
Definition: handler.h:3079
ulonglong m_implicit_tablespace_autoextend_size
Definition: handler.h:3127
ulong table_options
Definition: handler.h:3085
uint stats_sample_pages
Definition: handler.h:3091
uint merge_insert_method
Definition: handler.h:3108
LEX_STRING connect_string
Definition: handler.h:3049
const char * tablespace
Definition: handler.h:3051
ulonglong max_rows
Definition: handler.h:3082
const char * password
Definition: handler.h:3050
ha_storage_media storage_media
Definition: handler.h:3109
LEX_STRING comment
Definition: handler.h:3052
const char * index_file_name
Definition: handler.h:3080
std::uint32_t key_block_size
Definition: handler.h:3090
ulonglong min_rows
Definition: handler.h:3083
uint64_t used_fields
Definition: handler.h:3087
Opt_hints_global * opt_hints_global
Definition: sql_lex.h:3793
Definition: parser_yystype.h:188
Helper for the sql_exchange class.
Definition: sql_exchange.h:38
void merge_line_separators(const Line_separators &s)
Definition: sql_exchange.h:43
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
Item * item_initial
The initial ordering expression.
Definition: table.h:293
ORDER * next
Definition: table.h:287
enum_order direction
Definition: table.h:305
bool used_alias
Tells whether this ORDER element was referenced with an alias or with an expression,...
Definition: table.h:314
table_map used
Definition: table.h:326
Environment data for the contextualization phase.
Definition: parse_tree_node_base.h:121
THD *const thd
Current thread handler.
Definition: parse_tree_node_base.h:122
MEM_ROOT * mem_root
Current MEM_ROOT.
Definition: parse_tree_node_base.h:123
This class is used for representing both static and dynamic privileges on global as well as table and...
Definition: parse_tree_nodes.h:2925
const Mem_root_array< LEX_CSTRING > * columns
Definition: parse_tree_nodes.h:2929
Privilege(privilege_type type, const Mem_root_array< LEX_CSTRING > *columns)
Definition: parse_tree_nodes.h:2931
privilege_type
Definition: parse_tree_nodes.h:2926
@ STATIC
Definition: parse_tree_nodes.h:2926
@ DYNAMIC
Definition: parse_tree_nodes.h:2926
privilege_type type
Definition: parse_tree_nodes.h:2928
Info on properties that can be set with '–disable_X' and '–disable_X' commands.
Definition: mysqltest.cc:269
Definition: parse_tree_node_base.h:111
Definition: parser_yystype.h:197
Definition: sql_cmd_srs.h:41
Definition: parse_tree_nodes.h:2936
const uint grant
Definition: parse_tree_nodes.h:2937
Static_privilege(uint grant, const Mem_root_array< LEX_CSTRING > *columns_arg)
Definition: parse_tree_nodes.h:2939
Parse context for the table DDL (ALTER TABLE and CREATE TABLE) nodes.
Definition: parse_tree_nodes.h:190
HA_CREATE_INFO *const create_info
Definition: parse_tree_nodes.h:193
Alter_info *const alter_info
Definition: parse_tree_nodes.h:194
Table_ddl_parse_context(THD *thd_arg, Query_block *select_arg, Alter_info *alter_info)
Definition: parse_tree_nodes.cc:139
KEY_CREATE_INFO *const key_create_info
Definition: parse_tree_nodes.h:195
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:322
Bison "location" class.
Definition: parse_location.h:43
Explain_format_type
Values for explain_format sysvar.
Definition: system_variables.h:121
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
unsigned int uint
Definition: uca9-dump.cc:75
command
Definition: version_token.cc:280
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