23#ifndef PARSE_TREE_NODES_INCLUDED
24#define PARSE_TREE_NODES_INCLUDED
43#include "mysqld_error.h"
145template <
class Node_type,
class Parse_context_type>
147 Parse_context_type *pc) {
148 for (Node_type *i : nodes)
149 if (i->contextualize(pc))
return true;
222 for (
ORDER *o =
value.first; o !=
nullptr; o = o->next) {
577 :
PT_joined_table(tab1_node_arg, join_pos_arg, Type_arg, tab2_node_arg) {}
590 :
super(tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
on(on_arg) {}
604 :
super(tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
716 if (locking_clause->contextualize(pc))
return true;
912 const char *current_password_arg,
914 bool random_password,
915 const POS &expr_pos_arg)
938 const char *password_arg,
939 const char *current_password_arg,
942 const POS &expr_pos_arg)
977 const POS &value_pos_arg)
994 :
super(delimiter_pos_arg, tail, tail_pos),
head(head_arg) {}
1012 const POS &head_pos_arg,
1037 :
super(
"transaction_read_only", (
int32)is_read_only) {}
1045 :
super(
"transaction_isolation", (
int32)level) {}
1075 const POS &end_pos_arg)
1111 const POS &characteristics_pos_arg)
1128 :
type(type_arg),
list(list_arg) {}
1336 m_from(from_to->m_borders[0]),
1337 m_to(from_to->m_borders[1]),
1362 Item *opt_where_clause_arg,
PT_group *opt_group_clause_arg,
1364 bool implicit_from_clause)
1375 assert(implicit_from_clause ?
from_clause.empty() :
true);
1381 Item *opt_where_clause_arg)
1458 :
super(options_arg, item_list_arg, from_clause_arg,
nullptr) {}
1502 if (
m_limit !=
nullptr && !order && limit) {
1525 if (
m_order !=
nullptr &&
m_limit ==
nullptr && !order && limit) {
1616 :
qe(query_expression),
1632 bool is_rhs_in_parentheses =
false)
1713 bool has_trailing_locking_clauses =
false)
1751 int opt_delete_options_arg,
Table_ident *table_ident_arg,
1754 PT_order *opt_order_clause_arg,
Item *opt_delete_limit_clause_arg)
1770 int opt_delete_options_arg,
1773 Item *opt_where_clause_arg)
1819 Item *opt_where_clause_arg,
PT_order *opt_order_clause_arg,
1820 Item *opt_limit_clause_arg)
1974 for (
size_t pos = 0; pos <
length; pos++) {
1975 if (std::iscntrl(
str[pos]))
return true;
2156template <
typename Option_type, Option_type KEY_CREATE_INFO::*Property>
2349 uint64_t Property_flag>
2366#define TYPE_AND_REF(x) decltype(x), &x
2554template <u
long Property_flag, table_options_t Yes, table_options_t No>
2731 assert(
value !=
nullptr);
2745 assert(
value !=
nullptr);
2870 :
sql_cmd(if_not_exists, roles) {}
2891 :
sql_cmd(role_type, opt_except_roles) {
3016 :
sql_cmd(if_exists, users, roles, role_type) {}
3329 m_all(opt_engine.str ==
nullptr) {}
3425 Item *opt_where =
nullptr)
3451 sql_cmd(opt_for_user, opt_using_users) {
3452 assert(opt_using_users ==
nullptr || opt_for_user !=
nullptr);
3803 const char *opt_place)
3805 m_column_def(field_ident, field_def, opt_column_constraint, opt_place) {
3828 if (column->contextualize(pc))
return true;
3859 const char *opt_place)
3868 const char *opt_place)
3942 :
super(alter_info_flag),
3970 is_enforced ?
Alter_info::ENFORCE_CHECK_CONSTRAINT
3972 name, is_enforced) {}
3999 m_expr(opt_default_expr) {}
4155 :
super(alter_info_flag) {}
4198 bool no_write_to_binlog,
4219 :
super(no_write_to_binlog) {