1#ifndef SQL_RESOLVER_INCLUDED
2#define SQL_RESOLVER_INCLUDED
35template <
typename Element_type>
60 bool is_window_order);
108 unsigned argument_idx)> &get_new_item);
A wrapper class which provides array bounds checking.
Definition: sql_array.h:47
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:930
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:3904
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:4178
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:4421
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:5170
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...
Definition: sql_resolver.h:62
Item * replacement
Definition: sql_resolver.h:77
enum ReplaceResult::@187 action
@ ERROR
Definition: sql_resolver.h:65
@ REPLACE
Definition: sql_resolver.h:69
@ DONE
No replacement needed, do not traverse further.
Definition: sql_resolver.h:72
@ KEEP_TRAVERSING
Definition: sql_resolver.h:75