1#ifndef ITEM_ROW_INCLUDED
2#define ITEM_ROW_INCLUDED
Item which stores (x,y,...) and ROW(x,y,...).
Definition: item_row.h:54
void illegal_method_call(const char *) const
Definition: item_row.cc:87
void update_used_tables() override
Updates used tables, not null tables information and accumulates properties up the item tree,...
Definition: item_row.cc:144
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_row.cc:78
void bring_value() override
Definition: item_row.cc:227
Item_row(const POS &pos, Item *head, const mem_root_deque< Item * > &tail)
Row items used for comparing rows and IN operations on rows:
Definition: item_row.cc:40
bool is_null() override
The method allows to determine nullness of a complex expression without fully evaluating it,...
Definition: item_row.h:105
enum Type type() const override
Definition: item_row.h:103
longlong val_int() override
Definition: item_row.h:111
Item_row(Item_row *item)
Definition: item_row.h:86
Item * transform(Item_transformer transformer, uchar *arg) override
Perform a generic transformation of the Item tree, by adding zero or more additional Item objects to ...
Definition: item_row.cc:206
table_map used_tables_cache
Definition: item_row.h:58
void fix_after_pullout(Query_block *parent_query_block, Query_block *removed_query_block) override
Fix after tables have been moved from one query_block level to the parent level, e....
Definition: item_row.cc:157
uint cols() const override
Definition: item_row.h:150
enum Item_result result_type() const override
Definition: item_row.h:140
Item ** items
Definition: item_row.h:57
table_map used_tables() const override
Definition: item_row.h:139
bool get_time(MYSQL_TIME *) override
Definition: item_row.h:127
bool fix_fields(THD *thd, Item **ref) override
Definition: item_row.cc:94
bool split_sum_func(THD *thd, Ref_item_array ref_item_array, mem_root_deque< Item * > *fields) override
Definition: item_row.cc:133
double val_real() override
Definition: item_row.h:107
my_decimal * val_decimal(my_decimal *) override
Definition: item_row.h:119
bool walk(Item_processor processor, enum_walk walk, uchar *arg) override
Traverses a tree of Items in prefix and/or postfix order.
Definition: item_row.cc:197
bool propagate_type(THD *thd, const Type_properties &type) override
Propagate data type specifications into parameters and user variables.
Definition: item_row.cc:168
bool with_null
If elements are made only of constants, of which one or more are NULL.
Definition: item_row.h:64
bool check_cols(uint c) override
Definition: item_row.cc:179
bool check_function_as_value_generator(uchar *) override
Check if this item is allowed for a virtual column or inside a default expression.
Definition: item_row.h:156
void print(const THD *thd, String *str, enum_query_type query_type) const override
This method is used for to:
Definition: item_row.cc:187
table_map not_null_tables_cache
Definition: item_row.h:58
Item ** addr(uint i) override
Definition: item_row.h:152
void make_field(Send_field *) override
Definition: item_row.h:106
bool get_date(MYSQL_TIME *, my_time_flags_t) override
Definition: item_row.h:123
Item * compile(Item_analyzer analyzer, uchar **arg_p, Item_transformer transformer, uchar *arg_t) override
Perform a generic "compilation" of the Item tree, ie transform the Item tree by adding zero or more I...
Definition: item_row.cc:214
table_map not_null_tables() const override
Return table map of tables that can't be NULL tables (tables that are used in a context where if they...
Definition: item_row.h:142
String * val_str(String *) override
Definition: item_row.h:115
void cleanup() override
Called for every Item after use (preparation and execution).
Definition: item_row.cc:127
Item super
Definition: item_row.h:55
bool null_inside() override
Definition: item_row.h:154
Item * element_index(uint i) override
Definition: item_row.h:151
uint arg_count
Definition: item_row.h:59
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:936
void set_data_type(enum_field_types data_type)
Set the data type of the current Item.
Definition: item.h:1501
bool null_value
True if item is null.
Definition: item.h:3667
Type
Definition: item.h:971
@ ROW_ITEM
A row of other items.
Definition: item.h:988
Definition: sql_list.h:467
This class represents a query block, aka a query specification, which is a query consisting of a SELE...
Definition: sql_lex.h:1163
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:167
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Type properties, used to collect type information for later assignment to an Item object.
Definition: item.h:631
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:111
my_decimal class limits 'decimal_t' type to what we need in MySQL.
Definition: my_decimal.h:95
enum_query_type
Query type constants (usable as bitmap flags).
Definition: enum_query_type.h:31
@ MYSQL_TYPE_INVALID
Definition: field_types.h:77
bool(Item::* Item_analyzer)(uchar **argp)
Definition: item.h:718
Item *(Item::* Item_transformer)(uchar *arg)
Type for transformers used by Item::transform and Item::compile.
Definition: item.h:727
Header for compiler-dependent features.
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:52
long long int longlong
Definition: my_inttypes.h:55
uint64_t table_map
Definition: my_table_map.h:30
Interface for low level time utilities.
unsigned int my_time_flags_t
Flags to str_to_datetime and number_to_datetime.
Definition: my_time.h:94
Time declarations shared between the server and client API: you should not add anything to this heade...
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1081
PT & ref(PT *tp)
Definition: tablespace_impl.cc:359
File containing constants that can be used throughout the server.
enum_walk
Enumeration for {Item,Query_block[_UNIT],Table_function}walk.
Definition: sql_const.h:287
bool(Item::*)(unsigned char *) Item_processor
Processor type for {Item,Query_block[_UNIT],Table_function}walk.
Definition: sql_const.h:305
Definition: mysql_time.h:82
Bison "location" class.
Definition: parse_location.h:43
Environment data for the contextualization phase.
Definition: parse_tree_node_base.h:420
Item_result
Type of the user defined function return slot and arguments.
Definition: udf_registration_types.h:39
@ ROW_RESULT
long long
Definition: udf_registration_types.h:44