1#ifndef SQL_RESOLVER_INCLUDED
2#define SQL_RESOLVER_INCLUDED
35template <
typename Element_type>
60 bool is_window_order);
112 unsigned argument_idx)> &get_new_item);
A wrapper class which provides array bounds checking.
Definition: sql_array.h:48
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:928
Definition: sql_list.h:494
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:111
void propagate_nullability(mem_root_deque< Table_ref * > *tables, bool nullable)
Propagate nullability into inner tables of outer join operation.
Definition: sql_resolver.cc:3948
bool walk_join_conditions(mem_root_deque< Table_ref * > &list, std::function< bool(Item **expr_p)> action, Item::Collect_scalar_subquery_info *info)
Definition: sql_resolver.cc:7265
bool find_order_in_list(THD *thd, Ref_item_array ref_item_array, Table_ref *tables, ORDER *order, mem_root_deque< Item * > *fields, bool is_group_field, bool is_window_order)
Resolve an ORDER BY or GROUP BY column reference.
Definition: sql_resolver.cc:4222
bool setup_order(THD *thd, Ref_item_array ref_item_array, Table_ref *tables, mem_root_deque< Item * > *fields, ORDER *order)
Resolve and setup list of expressions in ORDER BY clause.
Definition: sql_resolver.cc:4476
bool validate_gc_assignment(const mem_root_deque< Item * > &fields, const mem_root_deque< Item * > &values, TABLE *tab)
validate_gc_assignment Check whether the other values except DEFAULT are assigned for generated colum...
Definition: sql_resolver.cc:5240
std::list< T, ut::allocator< T > > list
Specialization of list which uses ut_allocator.
Definition: ut0new.h:2884
repeated Action action
Definition: replication_group_member_actions.proto:43
Bounds_checked_array< Item * > Ref_item_array
Definition: sql_resolver.h:36
bool WalkAndReplace(THD *thd, Item *item, const std::function< ReplaceResult(Item *item, Item *parent, unsigned argument_idx)> &get_new_item)
Walk through the conditions and functions below the given item, and allows the given functor to repla...
Context struct used by walk method collect_scalar_subqueries to accumulate information about scalar s...
Definition: item.h:3029
Definition: sql_resolver.h:66
Item * replacement
Definition: sql_resolver.h:81
enum ReplaceResult::@191 action
@ ERROR
Definition: sql_resolver.h:69
@ REPLACE
Definition: sql_resolver.h:73
@ DONE
No replacement needed, do not traverse further.
Definition: sql_resolver.h:76
@ KEEP_TRAVERSING
Definition: sql_resolver.h:79