|
void | set_param_state (enum enum_item_param_state state) |
|
enum enum_item_param_state | param_state () const |
|
void | mark_json_as_scalar () override |
| For Items with data type JSON, mark that a string argument is treated as a scalar JSON value. More...
|
|
| Item_param (const POS &pos, MEM_ROOT *root, uint pos_in_query_arg) |
|
bool | do_itemize (Parse_context *pc, Item **item) override |
| The core function that does the actual itemization. More...
|
|
Item_result | result_type () const override |
|
enum Type | type () const override |
|
void | set_data_type_inherited () override |
| Set the currently resolved data type for this parameter as inherited. More...
|
|
bool | is_type_inherited () const |
|
void | pin_data_type () override |
| Pin the currently resolved data type for this parameter. More...
|
|
bool | is_type_pinned () const |
|
bool | is_unsigned_actual () const |
|
void | set_collation_source (const CHARSET_INFO *coll) |
|
void | set_collation_actual (const CHARSET_INFO *coll) |
|
const CHARSET_INFO * | collation_source () const |
|
const CHARSET_INFO * | collation_actual () const |
|
bool | fix_fields (THD *thd, Item **ref) override |
|
bool | propagate_type (THD *thd, const Type_properties &type) override |
| Propagate data type specifications into parameters and user variables. More...
|
|
double | val_real () override |
|
longlong | val_int () override |
|
my_decimal * | val_decimal (my_decimal *) override |
|
String * | val_str (String *) override |
|
bool | val_json (Json_wrapper *result) override |
| Get a JSON value from an Item. More...
|
|
bool | get_time (MYSQL_TIME *tm) override |
|
bool | get_date (MYSQL_TIME *tm, my_time_flags_t fuzzydate) override |
|
void | set_data_type_source (enum_field_types data_type, bool unsigned_val) |
|
void | set_data_type_actual (enum_field_types data_type) |
|
void | set_data_type_actual (enum_field_types data_type, bool unsigned_val) |
| For use with all field types, especially integer types. More...
|
|
enum_field_types | data_type_source () const |
|
enum_field_types | data_type_actual () const |
|
enum_field_types | actual_data_type () const override |
| Retrieve actual data type for an item. More...
|
|
void | set_null () |
|
void | set_int (longlong i) |
|
void | set_int (ulonglong i) |
|
void | set_double (double i) |
|
void | set_decimal (const char *str, ulong length) |
| Set decimal parameter value from string. More...
|
|
void | set_decimal (const my_decimal *dv) |
|
bool | set_str (const char *str, size_t length) |
|
bool | set_longdata (const char *str, ulong length) |
|
void | set_time (MYSQL_TIME *tm, enum_mysql_timestamp_type type) |
| Set parameter value from MYSQL_TIME value. More...
|
|
bool | set_from_user_var (THD *thd, const user_var_entry *entry) |
| Set parameter value from user variable value. More...
|
|
void | copy_param_actual_type (Item_param *from) |
|
void | reset () |
| Resets parameter after execution. More...
|
|
const String * | query_val_str (const THD *thd, String *str) const |
| Return Param item values in string format, for generating the dynamic query used in update/binary logs. More...
|
|
bool | convert_value () |
| Convert value according to the following rules: More...
|
|
table_map | used_tables () const override |
|
void | print (const THD *thd, String *str, enum_query_type query_type) const override |
| This method is used for to: More...
|
|
bool | is_null () override |
| The method allows to determine nullness of a complex expression without fully evaluating it, instead of calling val*() then checking null_value. More...
|
|
Item * | clone_item () const override |
|
bool | eq (const Item *item) const override |
| Compare this item with another item for equality. More...
|
|
void | set_param_type_and_swap_value (Item_param *from) |
| Preserve the original parameter types and values when re-preparing a prepared statement. More...
|
|
bool | is_non_const_over_literals (uchar *) override |
|
void | sync_clones () |
| This should be called after any modification done to this Item, to propagate the said modification to all its clones. More...
|
|
bool | add_clone (Item_param *i) |
|
const Send_field * | get_out_param_info () const override |
| Getter of Item_param::m_out_param_info. More...
|
|
void | make_field (Send_field *field) override |
| Fill meta-data information for the corresponding column in a result set. More...
|
|
bool | check_function_as_value_generator (uchar *args) override |
| Check if this item is allowed for a virtual column or inside a default expression. More...
|
|
bool | is_valid_for_pushdown (uchar *arg) override |
| Check if all the columns present in this expression are from the derived table. More...
|
|
| Item (const Item &)=delete |
|
void | operator= (Item &)=delete |
|
| Item () |
| Item constructor for general use. More...
|
|
| Item (THD *thd, const Item *item) |
| Constructor used by Item_field, Item_ref & aggregate functions. More...
|
|
| Item (const POS &) |
| Parse-time context-independent constructor. More...
|
|
| ~Item () override=default |
|
virtual bool | itemize (Parse_context *pc, Item **res) final |
| The same as contextualize() but with additional parameter. More...
|
|
void | rename (char *new_name) |
| rename item (used for views, cleanup() return original name). More...
|
|
void | init_make_field (Send_field *tmp_field, enum enum_field_types type) |
|
virtual void | cleanup () |
| Called for every Item after use (preparation and execution). More...
|
|
virtual void | notify_removal () |
| Called when an item has been removed, can be used to notify external objects about the removal, e.g subquery predicates that are part of the sj_candidates container. More...
|
|
virtual Field * | make_string_field (TABLE *table) const |
| Create a field to hold a string value from an item. More...
|
|
virtual void | fix_after_pullout (Query_block *parent_query_block, Query_block *removed_query_block) |
| Fix after tables have been moved from one query_block level to the parent level, e.g by semijoin conversion. More...
|
|
void | quick_fix_field () |
|
virtual void | set_can_use_prefix_key () |
|
bool | propagate_type (THD *thd, enum_field_types def=MYSQL_TYPE_VARCHAR, bool pin=false, bool inherit=false) |
| Wrapper for easier calling of propagate_type(const Type_properties &). More...
|
|
virtual std::optional< ContainedSubquery > | get_contained_subquery (const Query_block *outer_query_block) |
| If this item represents a IN/ALL/ANY/comparison_operator subquery, return that (along with data on how it will be executed). More...
|
|
type_conversion_status | save_in_field_no_warnings (Field *field, bool no_conversions) |
| Save the item into a field but do not emit any warnings. More...
|
|
type_conversion_status | save_in_field (Field *field, bool no_conversions) |
| Save a temporal value in packed longlong format into a Field. More...
|
|
void | save_in_field_no_error_check (Field *field, bool no_conversions) |
| A slightly faster value of save_in_field() that returns no error value (you will need to check thd->is_error() yourself), and does not support saving into hidden fields for functional indexes. More...
|
|
virtual void | save_org_in_field (Field *field) |
|
virtual bool | send (Protocol *protocol, String *str) |
| This is only called from items that is not of type item_field. More...
|
|
bool | evaluate (THD *thd, String *str) |
| Evaluate scalar item, possibly using the supplied buffer. More...
|
|
const Item * | unwrap_for_eq () const |
| Unwrap an Item argument so that Item::eq() can see the "real" item, and not just the wrapper. More...
|
|
virtual Item_result | numeric_context_result_type () const |
| Result type when an item appear in a numeric context. More...
|
|
Item_result | temporal_with_date_as_number_result_type () const |
| Similar to result_type() but makes DATE, DATETIME, TIMESTAMP pretend to be numbers rather than strings. More...
|
|
enum_field_types | data_type () const |
| Retrieve the derived data type of the Item. More...
|
|
virtual enum_field_types | default_data_type () const |
| Get the default data (output) type for the specific item. More...
|
|
void | set_data_type (enum_field_types data_type) |
| Set the data type of the current Item. More...
|
|
void | set_data_type_null () |
|
void | set_data_type_bool () |
|
void | set_data_type_int (enum_field_types type, bool unsigned_prop, uint32 max_width) |
| Set the data type of the Item to be a specific integer type. More...
|
|
void | set_data_type_longlong () |
| Set the data type of the Item to be longlong. More...
|
|
void | set_data_type_decimal (uint8 precision, uint8 scale) |
| Set the data type of the Item to be decimal. More...
|
|
void | set_data_type_double () |
| Set the data type of the Item to be double precision floating point. More...
|
|
void | set_data_type_float () |
| Set the data type of the Item to be single precision floating point. More...
|
|
void | set_data_type_string (uint32 max_l) |
| Set the Item to be variable length string. More...
|
|
void | set_data_type_string (ulonglong max_char_length_arg) |
| Set the Item to be variable length string. More...
|
|
void | set_data_type_string (uint32 max_l, const CHARSET_INFO *cs) |
| Set the Item to be variable length string. More...
|
|
void | set_data_type_string (uint32 max_l, const DTCollation &coll) |
| Set the Item to be variable length string. More...
|
|
void | set_data_type_char (uint32 max_l) |
| Set the Item to be fixed length string. More...
|
|
void | set_data_type_char (uint32 max_l, const CHARSET_INFO *cs) |
| Set the Item to be fixed length string. More...
|
|
void | set_data_type_blob (enum_field_types type, uint32 max_l) |
| Set the Item to be of BLOB type. More...
|
|
void | set_data_type_date () |
| Set all type properties for Item of DATE type. More...
|
|
void | set_data_type_time (uint8 fsp) |
| Set all type properties for Item of TIME type. More...
|
|
void | set_data_type_datetime (uint8 fsp) |
| Set all properties for Item of DATETIME type. More...
|
|
void | set_data_type_timestamp (uint8 fsp) |
| Set all properties for Item of TIMESTAMP type. More...
|
|
void | set_data_type_vector (uint32 max_l) |
| Set the data type of the Item to be VECTOR. More...
|
|
void | set_data_type_geometry () |
| Set the data type of the Item to be GEOMETRY. More...
|
|
void | set_data_type_json () |
| Set the data type of the Item to be JSON. More...
|
|
void | set_data_type_year () |
| Set the data type of the Item to be YEAR. More...
|
|
void | set_data_type_bit (uint32 max_bits) |
| Set the data type of the Item to be bit. More...
|
|
void | set_data_type_from_item (const Item *item) |
| Set data type properties of the item from the properties of another item. More...
|
|
virtual TYPELIB * | get_typelib () const |
| Get the typelib information for an item of type set or enum. More...
|
|
virtual Item_result | cast_to_int_type () const |
|
bool | aggregate_type (const char *name, Item **items, uint count) |
| Aggregates data types from array of items into current item. More...
|
|
virtual enum_monotonicity_info | get_monotonicity_info () const |
|
virtual longlong | val_int_endpoint (bool left_endp, bool *incl_endp) |
|
virtual longlong | val_date_temporal () |
| Return date value of item in packed longlong format. More...
|
|
virtual longlong | val_time_temporal () |
| Return time value of item in packed longlong format. More...
|
|
longlong | val_temporal_by_field_type () |
| Return date or time value of item in packed longlong format, depending on item field type. More...
|
|
longlong | int_sort_key () |
| Produces a key suitable for filesort. More...
|
|
longlong | val_temporal_with_round (enum_field_types type, uint8 dec) |
| Get date or time value in packed longlong format. More...
|
|
ulonglong | val_uint () |
|
virtual String * | val_str_ascii (String *str) |
|
virtual bool | val_bool () |
|
virtual float | get_filtering_effect (THD *thd, table_map filter_for_table, table_map read_tables, const MY_BITMAP *fields_to_ignore, double rows_in_table) |
| Calculate the filter contribution that is relevant for table 'filter_for_table' for this item. More...
|
|
bool | error_json () |
| Get the value to return from val_json() in case of errors. More...
|
|
bool | get_date_from_non_temporal (MYSQL_TIME *ltime, my_time_flags_t fuzzydate) |
| Convert a non-temporal type to date. More...
|
|
bool | get_time_from_non_temporal (MYSQL_TIME *ltime) |
| Convert a non-temporal type to time. More...
|
|
my_decimal * | error_decimal (my_decimal *decimal_value) |
| Get the value to return from val_decimal() in case of errors. More...
|
|
String * | error_str () |
| Get the value to return from val_str() in case of errors. More...
|
|
type_conversion_status | save_time_in_field (Field *field) |
|
type_conversion_status | save_date_in_field (Field *field) |
|
type_conversion_status | save_str_value_in_field (Field *field, String *result) |
|
virtual Field * | get_tmp_table_field () |
| If this Item is being materialized into a temporary table, returns the field that is being materialized into. More...
|
|
virtual Field * | tmp_table_field (TABLE *) |
|
virtual const char * | full_name () const |
|
virtual table_map | not_null_tables () const |
| Return table map of tables that can't be NULL tables (tables that are used in a context where if they would contain a NULL row generated by a LEFT or RIGHT join, the item would not be true). More...
|
|
virtual bool | basic_const_item () const |
| Returns true if this is a simple constant item like an integer, not a constant expression. More...
|
|
bool | may_eval_const_item (const THD *thd) const |
|
virtual cond_result | eq_cmp_result () const |
|
uint | float_length (uint decimals_par) const |
|
virtual uint | decimal_precision () const |
|
int | decimal_int_part () const |
|
virtual uint | time_precision () |
| TIME precision of the item: 0..6. More...
|
|
virtual uint | datetime_precision () |
| DATETIME precision of the item: 0..6. More...
|
|
bool | const_item () const |
| Returns true if item is constant, regardless of query evaluation state. More...
|
|
bool | const_for_execution () const |
| Returns true if item is constant during one query execution. More...
|
|
bool | may_evaluate_const (const THD *thd) const |
| Return true if this is a const item that may be evaluated in the current phase of statement processing. More...
|
|
bool | is_non_deterministic () const |
|
bool | is_outer_reference () const |
|
void | print_item_w_name (const THD *thd, String *, enum_query_type query_type) const |
|
void | print_for_order (const THD *thd, String *str, enum_query_type query_type, const char *used_alias) const |
| Prints the item when it's part of ORDER BY and GROUP BY. More...
|
|
virtual void | update_used_tables () |
| Updates used tables, not null tables information and accumulates properties up the item tree, cf. More...
|
|
virtual bool | split_sum_func (THD *, Ref_item_array, mem_root_deque< Item * > *) |
|
bool | split_sum_func2 (THD *thd, Ref_item_array ref_item_array, mem_root_deque< Item * > *fields, Item **ref, bool skip_registered) |
|
virtual bool | get_timeval (my_timeval *tm, int *warnings) |
| Get timestamp in "struct timeval" format. More...
|
|
bool | update_null_value () |
| Make sure the null_value member has a correct value. More...
|
|
virtual void | apply_is_true () |
| Apply the IS TRUE truth property, meaning that an UNKNOWN result and a FALSE result are treated the same. More...
|
|
virtual void | set_result_field (Field *) |
|
virtual bool | is_result_field () const |
|
virtual Field * | get_result_field () const |
|
virtual bool | is_bool_func () const |
|
virtual void | no_rows_in_result () |
|
virtual Item * | copy_or_same (THD *) |
|
virtual Item * | copy_andor_structure (THD *) |
|
virtual Item * | real_item () |
|
virtual const Item * | real_item () const |
|
virtual Item * | get_tmp_table_item (THD *thd) |
| If an Item is materialized in a temporary table, a different Item may have to be used in the part of the query that runs after the materialization. More...
|
|
virtual const CHARSET_INFO * | compare_collation () const |
|
virtual const CHARSET_INFO * | charset_for_protocol () |
|
virtual bool | walk (Item_processor processor, enum_walk walk, uchar *arg) |
| Traverses a tree of Items in prefix and/or postfix order. More...
|
|
template<class T > |
auto | walk_helper_thunk (uchar *arg) |
|
template<class T > |
auto | analyze_helper_thunk (uchar **arg) |
| See CompileItem. More...
|
|
virtual Item * | transform (Item_transformer transformer, uchar *arg) |
| Perform a generic transformation of the Item tree, by adding zero or more additional Item objects to it. More...
|
|
virtual Item * | compile (Item_analyzer analyzer, uchar **arg_p, Item_transformer transformer, uchar *arg_t) |
| Perform a generic "compilation" of the Item tree, ie transform the Item tree by adding zero or more Item objects to it. More...
|
|
virtual void | traverse_cond (Cond_traverser traverser, void *arg, traverse_order) |
|
virtual bool | intro_version (uchar *) |
|
bool | cleanup_processor (uchar *) |
| cleanup() item if it is resolved ('fixed'). More...
|
|
virtual bool | collect_item_field_processor (uchar *) |
|
virtual bool | collect_item_field_or_ref_processor (uchar *) |
|
virtual bool | collect_outer_field_processor (uchar *) |
|
virtual bool | collect_item_field_or_view_ref_processor (uchar *) |
| Collects fields and view references that have the qualifying table in the specified query block. More...
|
|
virtual bool | add_field_to_set_processor (uchar *) |
| Item::walk function. More...
|
|
virtual bool | visitor_processor (uchar *arg) |
| A processor to handle the select lex visitor framework. More...
|
|
virtual bool | add_field_to_cond_set_processor (uchar *) |
| Item::walk function. More...
|
|
virtual bool | remove_column_from_bitmap (uchar *arg) |
| Visitor interface for removing all column expressions (Item_field) in this expression tree from a bitmap. More...
|
|
virtual bool | find_item_in_field_list_processor (uchar *) |
|
virtual bool | change_context_processor (uchar *) |
|
virtual bool | find_item_processor (uchar *arg) |
|
virtual bool | find_field_processor (uchar *) |
| Is this an Item_field which references the given Field argument? More...
|
|
virtual bool | cast_incompatible_args (uchar *) |
| Wrap incompatible arguments in CAST nodes to the expected data types. More...
|
|
virtual bool | mark_field_in_map (uchar *arg) |
| Mark underlying field in read or write map of a table. More...
|
|
virtual bool | reset_wf_state (uchar *arg) |
| Reset execution state for such window function types as determined by arg. More...
|
|
virtual bool | used_tables_for_level (uchar *arg) |
| Return used table information for the specified query block (level). More...
|
|
virtual bool | check_column_privileges (uchar *thd) |
| Check privileges. More...
|
|
virtual bool | inform_item_in_cond_of_tab (uchar *) |
|
virtual void | bind_fields () |
| Bind objects from the current execution context to field objects in item trees. More...
|
|
virtual bool | clean_up_after_removal (uchar *arg) |
| Clean up after removing the item from the item tree. More...
|
|
virtual bool | aggregate_check_distinct (uchar *) |
|
virtual bool | aggregate_check_group (uchar *) |
|
virtual bool | is_strong_side_column_not_in_fd (uchar *) |
|
virtual bool | is_column_not_in_fd (uchar *) |
|
virtual Bool3 | local_column (const Query_block *) const |
|
virtual bool | collect_scalar_subqueries (uchar *) |
|
virtual bool | collect_grouped_aggregates (uchar *) |
|
virtual bool | collect_subqueries (uchar *) |
|
virtual bool | update_depended_from (uchar *) |
|
virtual bool | has_aggregate_ref_in_group_by (uchar *) |
| Check if an aggregate is referenced from within the GROUP BY clause of the query block in which it is aggregated. More...
|
|
bool | visit_all_analyzer (uchar **) |
|
virtual bool | cache_const_expr_analyzer (uchar **cache_item) |
| Check if an item is a constant one and can be cached. More...
|
|
Item * | cache_const_expr_transformer (uchar *item) |
| Cache item if needed. More...
|
|
virtual bool | equality_substitution_analyzer (uchar **) |
|
virtual Item * | equality_substitution_transformer (uchar *) |
|
virtual bool | check_partition_func_processor (uchar *) |
| Check if a partition function is allowed. More...
|
|
virtual bool | subst_argument_checker (uchar **arg) |
|
virtual bool | explain_subquery_checker (uchar **) |
|
virtual Item * | explain_subquery_propagator (uchar *) |
|
virtual Item * | equal_fields_propagator (uchar *) |
|
virtual bool | disable_constant_propagation (uchar *) |
|
virtual Item * | replace_equal_field (uchar *) |
|
virtual bool | replace_equal_field_checker (uchar **) |
|
virtual bool | check_valid_arguments_processor (uchar *) |
|
virtual bool | check_gcol_depend_default_processor (uchar *args) |
| Check if a generated expression depends on DEFAULT function with specific column name as argument. More...
|
|
virtual bool | check_column_in_window_functions (uchar *arg) |
| Check if all the columns present in this expression are present in PARTITION clause of window functions of the derived table. More...
|
|
virtual bool | check_column_in_group_by (uchar *arg) |
| Check if all the columns present in this expression are present in GROUP BY clause of the derived table. More...
|
|
virtual Item * | replace_with_derived_expr (uchar *arg) |
| Assuming this expression is part of a condition that would be pushed to the WHERE clause of a materialized derived table, replace, in this expression, each derived table's column with a clone of the expression lying under it in the derived table's definition. More...
|
|
virtual Item * | replace_with_derived_expr_ref (uchar *arg) |
| Assuming this expression is part of a condition that would be pushed to the HAVING clause of a materialized derived table, replace, in this expression, each derived table's column with a reference to the expression lying under it in the derived table's definition. More...
|
|
virtual Item * | replace_view_refs_with_clone (uchar *arg) |
| Assuming this expression is part of a condition that would be pushed to a materialized derived table, replace, in this expression, each view reference with a clone of the expression in merged derived table's definition. More...
|
|
virtual Item * | this_item () |
|
virtual const Item * | this_item () const |
|
virtual Item ** | this_item_addr (THD *, Item **addr_arg) |
|
virtual uint | cols () const |
|
virtual Item * | element_index (uint) |
|
virtual Item ** | addr (uint) |
|
virtual bool | check_cols (uint c) |
|
virtual bool | null_inside () |
|
virtual void | bring_value () |
|
Field * | tmp_table_field_from_field_type (TABLE *table, bool fixed_length) const |
| Create a field based on field_type of argument. More...
|
|
virtual Item_field * | field_for_view_update () |
|
virtual Item * | truth_transformer (THD *thd, Bool_test test) |
| Informs an item that it is wrapped in a truth test, in case it wants to transforms itself to implement this test by itself. More...
|
|
virtual Item * | update_value_transformer (uchar *) |
|
virtual Item * | replace_scalar_subquery (uchar *) |
| When walking the item tree seeing an Item_singlerow_subselect matching a target, replace it with a substitute field used when transforming scalar subqueries into derived tables. More...
|
|
virtual Item * | replace_item_field (uchar *) |
| Transform processor used by Query_block::transform_grouped_to_derived to replace fields which used to be at the transformed query block with corresponding fields in the new derived table containing the grouping operation of the original transformed query block. More...
|
|
virtual Item * | replace_func_call (uchar *) |
|
virtual Item * | replace_item_view_ref (uchar *) |
|
virtual Item * | replace_aggregate (uchar *) |
|
virtual Item * | replace_outer_ref (uchar *) |
|
virtual bool | update_aggr_refs (uchar *) |
| A walker processor overridden by Item_aggregate_ref, q.v. More...
|
|
Item * | convert_charset (THD *thd, const CHARSET_INFO *tocs, bool ignore_errors=false) |
| Convert constant string in this object into the specified character set. More...
|
|
void | delete_self () |
| Delete this item. More...
|
|
virtual bool | is_splocal () const |
|
bool | is_temporal_with_date () const |
|
bool | is_temporal_with_date_and_time () const |
|
bool | is_temporal_with_time () const |
|
bool | is_temporal () const |
|
bool | has_compatible_context (Item *item) const |
| Check whether this and the given item has compatible comparison context. More...
|
|
virtual Field::geometry_type | get_geometry_type () const |
|
String * | check_well_formed_result (String *str, bool send_error, bool truncate) |
| Verifies that the input string is well-formed according to its character set. More...
|
|
bool | eq_by_collation (Item *item, const CHARSET_INFO *cs) |
| Compare two items using a given collation. More...
|
|
CostOfItem | cost () const |
|
uint32 | max_char_length () const |
|
uint32 | max_char_length (const CHARSET_INFO *cs) const |
|
void | fix_char_length (uint32 max_char_length_arg) |
|
virtual bool | is_outer_field () const |
|
bool | is_blob_field () const |
| Check if an item either is a blob field, or will be represented as a BLOB field if a field is created based on this item. More...
|
|
uint | reference_count () const |
|
void | increment_ref_count () |
| Increment reference count. More...
|
|
uint | decrement_ref_count () |
| Decrement reference count. More...
|
|
bool | has_subquery () const |
|
bool | has_stored_program () const |
|
bool | has_aggregation () const |
|
void | set_aggregation () |
| Set the "has aggregation" property. More...
|
|
void | reset_aggregation () |
| Reset the "has aggregation" property. More...
|
|
bool | has_wf () const |
|
void | set_wf () |
| Set the "has window function" property. More...
|
|
bool | has_grouping_set_dep () const |
|
void | set_group_by_modifier () |
| Set the property: this item (tree) contains a reference to a GROUP BY modifier (such as ROLLUP) More...
|
|
bool | has_grouping_func () const |
|
void | set_grouping_func () |
| Set the property: this item is a call to GROUPING. More...
|
|
virtual bool | created_by_in2exists () const |
| Whether this Item was created by the IN->EXISTS subquery transformation. More...
|
|
void | mark_subqueries_optimized_away () |
|
virtual bool | gc_subst_analyzer (uchar **) |
| Analyzer function for GC substitution. More...
|
|
virtual Item * | gc_subst_transformer (uchar *) |
| Transformer function for GC substitution. More...
|
|
virtual bool | replace_field_processor (uchar *) |
| A processor that replaces any Fields with a Create_field_wrapper. More...
|
|
bool | can_be_substituted_for_gc (bool array=false) const |
| Check if this item is of a type that is eligible for GC substitution. More...
|
|
void | aggregate_float_properties (enum_field_types type, Item **items, uint nitems) |
| Set max_length and decimals of function if function is floating point and result length/precision depends on argument ones. More...
|
|
void | aggregate_decimal_properties (Item **items, uint nitems) |
| Set data type, precision and scale of item of type decimal from list of items. More...
|
|
void | aggregate_temporal_properties (enum_field_types type, Item **items, uint nitems) |
| Set data type and fractional seconds precision for temporal functions. More...
|
|
bool | aggregate_string_properties (enum_field_types type, const char *name, Item **items, uint nitems) |
| Aggregate string properties (character set, collation and maximum length) for string function. More...
|
|
void | aggregate_bit_properties (Item **items, uint nitems) |
| Set data type and properties of a BIT column. More...
|
|
virtual bool | repoint_const_outer_ref (uchar *arg) |
| This function applies only to Item_field objects referred to by an Item_ref object that has been marked as a const_item. More...
|
|
virtual bool | strip_db_table_name_processor (uchar *) |
|
virtual void | compute_cost (CostOfItem *root_cost) const |
| Compute the cost of evaluating this Item. More...
|
|
bool | is_abandoned () const |
|
bool | is_nullable () const |
|
void | set_nullable (bool nullable) |
|
virtual bool | supports_partial_update (const Field_json *field) const |
| Check if this expression can be used for partial update of a given JSON column. More...
|
|
virtual bool | returns_array () const |
| Whether the item returns array of its data type. More...
|
|
virtual void | allow_array_cast () |
| A helper function to ensure proper usage of CAST(. More...
|
|
virtual | ~Parse_tree_node_tmpl ()=default |
|
bool | is_contextualized () const |
|
virtual bool | contextualize (Context *pc) final |
|
void | error (Context *pc, const POS &pos) const |
| syntax_error() function replacement for deferred reporting of syntax errors More...
|
|
void | error (Context *pc, const POS &pos, const char *msg) const |
| syntax_error() function replacement for deferred reporting of syntax errors More...
|
|
void | errorf (Context *pc, const POS &pos, const char *format,...) const |
| syntax_error() function replacement for deferred reporting of syntax errors More...
|
|