23#ifndef PARSE_TREE_NODES_INCLUDED
24#define PARSE_TREE_NODES_INCLUDED
43#include "mysqld_error.h"
146template <
class Node_type,
class Parse_context_type>
148 Parse_context_type *pc) {
149 for (Node_type *i : nodes)
150 if (i->contextualize(pc))
return true;
177 "Parse tree display of this statement");
242 for (
ORDER *o =
value.first; o !=
nullptr; o = o->next) {
650 :
super(pos, tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
665 :
super(pos, tab1_node_arg, join_pos_arg,
type, tab2_node_arg),
690 obj->
add_alias(
"olap_options", create_dom_ptr<Json_string>(
"ROLLUP"));
788 if (locking_clause->contextualize(pc))
return true;
885 const POS &expr_pos,
Item *opt_expr)
965 const POS &error_pos)
1004 const char *password_arg,
1005 const char *current_password_arg,
1006 bool retain_current,
1007 bool random_password,
1008 const POS &expr_pos_arg)
1032 const POS &pos,
LEX_USER *user_arg,
const char *password_arg,
1033 const char *current_password_arg,
bool retain_current,
bool random_pass,
1034 const POS &expr_pos_arg)
1070 const POS &value_pos_arg)
1087 const POS &tail_pos)
1088 :
super(pos, delimiter_pos_arg, tail, tail_pos),
head(head_arg) {}
1107 const POS &head_pos_arg,
1133 :
super(pos,
"transaction_read_only", (
int32)is_read_only) {}
1141 :
super(pos,
"transaction_isolation", (
int32)level) {}
1172 const POS &end_pos_arg)
1217 const POS &characteristics_pos_arg)
1326 :
super(pos, name_arg) {}
1455 m_from(from_to->m_borders[0]),
1456 m_to(from_to->m_borders[1]),
1487 Item *opt_where_clause_arg,
PT_group *opt_group_clause_arg,
1489 bool implicit_from_clause)
1501 assert(implicit_from_clause ?
from_clause.empty() :
true);
1508 Item *opt_where_clause_arg)
1592 :
super(pos, options_arg, item_list_arg, from_clause_arg,
nullptr) {}
1637 if (
m_limit !=
nullptr && !order && limit) {
1660 if (
m_order !=
nullptr &&
m_limit ==
nullptr && !order && limit) {
1754 qe(query_expression),
1769 bool is_rhs_in_parentheses =
false)
1862 bool has_trailing_locking_clauses =
false)
1904 PT_hint_list *opt_hints_arg,
int opt_delete_options_arg,
1908 PT_order *opt_order_clause_arg,
Item *opt_delete_limit_clause_arg)
1925 PT_hint_list *opt_hints_arg,
int opt_delete_options_arg,
1928 Item *opt_where_clause_arg)
1975 bool opt_ignore_arg,
1978 Item *opt_where_clause_arg,
PT_order *opt_order_clause_arg,
1979 Item *opt_limit_clause_arg)
2141 for (
size_t pos = 0; pos <
length; pos++) {
2142 if (std::iscntrl(
str[pos]))
return true;
2329template <
typename Option_type, Option_type KEY_CREATE_INFO::*Property>
2539 uint64_t Property_flag>
2557#define TYPE_AND_REF(x) decltype(x), &x
2745template <u
long Property_flag, table_options_t Yes, table_options_t No>
2934 assert(
value !=
nullptr);
2949 assert(
value !=
nullptr);
3549 m_all(opt_engine.str ==
nullptr) {}
3645 Item *opt_where =
nullptr)
3671 sql_cmd(opt_for_user, opt_using_users) {
3672 assert(opt_using_users ==
nullptr || opt_for_user !=
nullptr);
4039 const char *opt_place)
4064 if (column->contextualize(pc))
return true;
4096 const char *opt_place)
4105 const char *opt_place)
4180 :
super(pos, alter_info_flag),