MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
Item_string (const char *str, uint length, const CHARSET_INFO *cs, Derivation dv=DERIVATION_COERCIBLE, uint repertoire=MY_REPERTOIRE_UNICODE30) | |
Item_string (const CHARSET_INFO *cs, Derivation dv=DERIVATION_COERCIBLE) | |
Item_string (const Name_string name_par, const char *str, uint length, const CHARSET_INFO *cs, Derivation dv=DERIVATION_COERCIBLE, uint repertoire=MY_REPERTOIRE_UNICODE30) | |
void | set_str_with_copy (const char *str_arg, uint length_arg) |
void | set_repertoire_from_value () |
enum Type | type () const |
double | val_real () |
longlong | val_int () |
String * | val_str (String *) |
my_decimal * | val_decimal (my_decimal *) |
bool | get_date (MYSQL_TIME *ltime, uint fuzzydate) |
bool | get_time (MYSQL_TIME *ltime) |
type_conversion_status | save_in_field (Field *field, bool no_conversions) |
enum Item_result | result_type () const |
enum_field_types | field_type () const |
bool | basic_const_item () const |
bool | eq (const Item *item, bool binary_cmp) const |
Item * | clone_item () |
Item * | safe_charset_converter (const CHARSET_INFO *tocs) |
Item * | charset_converter (const CHARSET_INFO *tocs, bool lossless) |
void | append (char *str, uint length) |
virtual void | print (String *str, enum_query_type query_type) |
bool | check_partition_func_processor (uchar *int_arg) |
bool | is_cs_specified () const |
void | set_cs_specified (bool cs_specified) |
Public Member Functions inherited from Item_basic_constant | |
void | set_used_tables (table_map map) |
table_map | used_tables () const |
void | cleanup () |
Public Member Functions inherited from Item | |
Item (THD *thd, Item *item) | |
void | rename (char *new_name) |
void | init_make_field (Send_field *tmp_field, enum enum_field_types type) |
virtual void | make_field (Send_field *field) |
virtual Field * | make_string_field (TABLE *table) |
virtual bool | fix_fields (THD *, Item **) |
virtual void | fix_after_pullout (st_select_lex *parent_select, st_select_lex *removed_select) |
void | quick_fix_field () |
type_conversion_status | save_in_field_no_warnings (Field *field, bool no_conversions) |
virtual void | save_org_in_field (Field *field) |
virtual type_conversion_status | save_safe_in_field (Field *field) |
virtual bool | send (Protocol *protocol, String *str) |
virtual enum Item_result | numeric_context_result_type () const |
enum Item_result | temporal_with_date_as_number_result_type () const |
virtual Item_result | cast_to_int_type () const |
virtual enum_field_types | string_field_type () const |
virtual enum_monotonicity_info | get_monotonicity_info () const |
virtual longlong | val_int_endpoint (bool left_endp, bool *incl_endp) |
virtual longlong | val_date_temporal () |
virtual longlong | val_time_temporal () |
longlong | val_temporal_by_field_type () |
longlong | val_temporal_with_round (enum_field_types type, uint8 dec) |
ulonglong | val_uint () |
virtual String * | val_str_ascii (String *str) |
virtual bool | val_bool () |
virtual String * | val_nodeset (String *) |
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 () |
virtual Field * | tmp_table_field (TABLE *t_arg) |
virtual const char * | full_name () const |
virtual double | val_result () |
virtual longlong | val_int_result () |
virtual longlong | val_time_temporal_result () |
virtual longlong | val_date_temporal_result () |
virtual String * | str_result (String *tmp) |
virtual my_decimal * | val_decimal_result (my_decimal *val) |
virtual bool | val_bool_result () |
virtual bool | is_null_result () |
virtual table_map | resolved_used_tables () const |
virtual table_map | not_null_tables () 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 () |
virtual uint | datetime_precision () |
virtual bool | const_item () const |
virtual bool | const_during_execution () const |
void | print_item_w_name (String *, enum_query_type query_type) |
void | print_for_order (String *str, enum_query_type query_type, bool used_alias) |
virtual void | update_used_tables () |
virtual void | split_sum_func (THD *thd, Ref_ptr_array ref_pointer_array, List< Item > &fields) |
void | split_sum_func2 (THD *thd, Ref_ptr_array ref_pointer_array, List< Item > &fields, Item **ref, bool skip_registered) |
virtual bool | get_timeval (struct timeval *tm, int *warnings) |
virtual bool | get_date_result (MYSQL_TIME *ltime, uint fuzzydate) |
virtual bool | is_null () |
virtual void | update_null_value () |
virtual void | top_level_item () |
virtual void | set_result_field (Field *field) |
virtual bool | is_result_field () |
virtual bool | is_bool_func () |
virtual void | save_in_result_field (bool no_conversions) |
virtual void | no_rows_in_result () |
virtual Item * | copy_or_same (THD *thd) |
virtual Item * | copy_andor_structure (THD *thd, bool real_items=false) |
virtual Item * | real_item () |
virtual Item * | get_tmp_table_item (THD *thd) |
virtual const CHARSET_INFO * | compare_collation () |
virtual const CHARSET_INFO * | charset_for_protocol (void) const |
virtual bool | walk (Item_processor processor, bool walk_subquery, uchar *arg) |
virtual Item * | transform (Item_transformer transformer, uchar *arg) |
virtual Item * | compile (Item_analyzer analyzer, uchar **arg_p, Item_transformer transformer, uchar *arg_t) |
virtual void | traverse_cond (Cond_traverser traverser, void *arg, traverse_order order) |
virtual bool | intro_version (uchar *int_arg) |
virtual bool | remove_dependence_processor (uchar *arg) |
virtual bool | remove_fixed (uchar *arg) |
virtual bool | cleanup_processor (uchar *arg) |
virtual bool | collect_item_field_processor (uchar *arg) |
virtual bool | add_field_to_set_processor (uchar *arg) |
virtual bool | remove_column_from_bitmap (uchar *arg) |
virtual bool | find_item_in_field_list_processor (uchar *arg) |
virtual bool | change_context_processor (uchar *context) |
virtual bool | reset_query_id_processor (uchar *query_id_arg) |
virtual bool | find_item_processor (uchar *arg) |
virtual bool | register_field_in_read_map (uchar *arg) |
virtual bool | inform_item_in_cond_of_tab (uchar *join_tab_index) |
virtual bool | clean_up_after_removal (uchar *arg) |
virtual bool | cache_const_expr_analyzer (uchar **arg) |
virtual Item * | cache_const_expr_transformer (uchar *arg) |
virtual bool | item_field_by_name_analyzer (uchar **arg) |
virtual Item * | item_field_by_name_transformer (uchar *arg) |
virtual bool | equality_substitution_analyzer (uchar **arg) |
virtual Item * | equality_substitution_transformer (uchar *arg) |
virtual bool | subst_argument_checker (uchar **arg) |
virtual bool | explain_subquery_checker (uchar **arg) |
virtual Item * | explain_subquery_propagator (uchar *arg) |
virtual Item * | equal_fields_propagator (uchar *arg) |
virtual bool | set_no_const_sub (uchar *arg) |
virtual Item * | replace_equal_field (uchar *arg) |
virtual bool | check_valid_arguments_processor (uchar *bool_arg) |
virtual bool | find_function_processor (uchar *arg) |
virtual Item * | this_item () |
virtual const Item * | this_item () const |
virtual Item ** | this_item_addr (THD *thd, Item **addr_arg) |
virtual uint | cols () |
virtual Item * | element_index (uint i) |
virtual Item ** | addr (uint i) |
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) |
virtual Item_field * | field_for_view_update () |
virtual Item * | neg_transformer (THD *thd) |
virtual Item * | update_value_transformer (uchar *select_arg) |
void | delete_self () |
virtual bool | is_splocal () |
virtual Settable_routine_parameter * | get_settable_routine_parameter () |
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 |
virtual Field::geometry_type | get_geometry_type () const |
String * | check_well_formed_result (String *str, bool send_error=0) |
bool | eq_by_collation (Item *item, bool binary_cmp, const CHARSET_INFO *cs) |
virtual bool | is_expensive () |
virtual bool | can_be_evaluated_now () const |
uint32 | max_char_length () const |
void | fix_length_and_charset (uint32 max_char_length_arg, const CHARSET_INFO *cs) |
void | fix_char_length (uint32 max_char_length_arg) |
void | fix_char_length_ulonglong (ulonglong max_char_length_arg) |
void | fix_length_and_charset_datetime (uint32 max_char_length_arg) |
void | fix_length_and_dec_and_charset_datetime (uint32 max_char_length_arg, uint8 dec_arg) |
virtual bool | is_outer_field () const |
bool | is_blob_field () const |
virtual bool | has_subquery () const |
virtual bool | has_stored_program () const |
virtual bool | created_by_in2exists () const |
Whether this Item was created by the IN->EXISTS subquery transformation. |
Additional Inherited Members | |
Public Types inherited from Item | |
enum | Type { FIELD_ITEM = 0, FUNC_ITEM, SUM_FUNC_ITEM, STRING_ITEM, INT_ITEM, REAL_ITEM, NULL_ITEM, VARBIN_ITEM, COPY_STR_ITEM, FIELD_AVG_ITEM, DEFAULT_VALUE_ITEM, PROC_ITEM, COND_ITEM, REF_ITEM, FIELD_STD_ITEM, FIELD_VARIANCE_ITEM, INSERT_VALUE_ITEM, SUBSELECT_ITEM, ROW_ITEM, CACHE_ITEM, TYPE_HOLDER, PARAM_ITEM, TRIGGER_FIELD_ITEM, DECIMAL_ITEM, XPATH_NODESET, XPATH_NODESET_CMP, VIEW_FIXER_ITEM } |
enum | cond_result { COND_UNDEF, COND_OK, COND_TRUE, COND_FALSE } |
enum | traverse_order { POSTFIX, PREFIX } |
Static Public Member Functions inherited from Item | |
static void * | operator new (size_t size) throw () |
static void * | operator new (size_t size, MEM_ROOT *mem_root) throw () |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *ptr, MEM_ROOT *mem_root) |
static const CHARSET_INFO * | default_charset () |
Public Attributes inherited from Item | |
uint | rsize |
String | str_value |
Item_name_string | item_name |
Item_name_string | orig_name |
Item * | next |
uint32 | max_length |
int | marker |
uint8 | decimals |
my_bool | maybe_null |
my_bool | null_value |
my_bool | unsigned_flag |
my_bool | with_sum_func |
my_bool | fixed |
DTCollation | collation |
Item_result | cmp_context |
Protected Member Functions inherited from Item | |
String * | val_string_from_real (String *str) |
String * | val_string_from_int (String *str) |
String * | val_string_from_decimal (String *str) |
String * | val_string_from_date (String *str) |
String * | val_string_from_datetime (String *str) |
String * | val_string_from_time (String *str) |
my_decimal * | val_decimal_from_real (my_decimal *decimal_value) |
my_decimal * | val_decimal_from_int (my_decimal *decimal_value) |
my_decimal * | val_decimal_from_string (my_decimal *decimal_value) |
my_decimal * | val_decimal_from_date (my_decimal *decimal_value) |
my_decimal * | val_decimal_from_time (my_decimal *decimal_value) |
longlong | val_int_from_decimal () |
longlong | val_int_from_date () |
longlong | val_int_from_time () |
longlong | val_int_from_datetime () |
double | val_real_from_decimal () |
bool | get_date_from_string (MYSQL_TIME *ltime, uint flags) |
bool | get_date_from_real (MYSQL_TIME *ltime, uint flags) |
bool | get_date_from_decimal (MYSQL_TIME *ltime, uint flags) |
bool | get_date_from_int (MYSQL_TIME *ltime, uint flags) |
bool | get_date_from_time (MYSQL_TIME *ltime) |
bool | get_date_from_numeric (MYSQL_TIME *ltime, uint fuzzydate) |
bool | get_date_from_non_temporal (MYSQL_TIME *ltime, uint fuzzydate) |
bool | get_time_from_string (MYSQL_TIME *ltime) |
bool | get_time_from_real (MYSQL_TIME *ltime) |
bool | get_time_from_decimal (MYSQL_TIME *ltime) |
bool | get_time_from_int (MYSQL_TIME *ltime) |
bool | get_time_from_date (MYSQL_TIME *ltime) |
bool | get_time_from_datetime (MYSQL_TIME *ltime) |
bool | get_time_from_numeric (MYSQL_TIME *ltime) |
bool | get_time_from_non_temporal (MYSQL_TIME *ltime) |
Protected Attributes inherited from Item | |
my_bool | with_subselect |
my_bool | with_stored_program |
bool | tables_locked_cache |
Item * Item_string::charset_converter | ( | const CHARSET_INFO * | tocs, |
bool | lossless | ||
) |
|
virtual |
This function is called when:
Reimplemented from Item.
|
inline |
Return TRUE if character-set-introducer was explicitly specified in the original query for this item (text literal).
This operation is to be called from Item_string::print(). The idea is that when a query is generated (re-constructed) from the Item-tree, character-set-introducers should appear only for those literals, where they were explicitly specified by the user. Otherwise, that may lead to loss collation information (character set introducers implies default collation for the literal).
Basically, that makes sense only for views and hopefully will be gone one day when we start using original query as a view definition.
TRUE | if character set introducer was explicitly specified in the original query. |
FALSE | otherwise. |
Definition at line 2933 of file item.h.
|
virtual |
Reimplemented from Item.
Reimplemented in Item_static_string_func.
Definition at line 3177 of file item.cc.
|
virtual |
|
inline |
Set the value of m_cs_specified attribute.
m_cs_specified attribute shows whether character-set-introducer was explicitly specified in the original query for this text literal or not. The attribute makes sense (is used) only for views.
This operation is to be called from the parser during parsing an input query.
|
virtual |