MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
Item_func_sp (Name_resolution_context *context_arg, sp_name *name) | |
Item_func_sp (Name_resolution_context *context_arg, sp_name *name, List< Item > &list) | |
table_map | get_initial_pseudo_tables () const |
void | update_used_tables () |
void | cleanup () |
const char * | func_name () const |
enum enum_field_types | field_type () const |
Field * | tmp_table_field (TABLE *t_arg) |
void | make_field (Send_field *tmp_field) |
Item_result | result_type () const |
longlong | val_int () |
double | val_real () |
bool | get_date (MYSQL_TIME *ltime, uint fuzzydate) |
bool | get_time (MYSQL_TIME *ltime) |
my_decimal * | val_decimal (my_decimal *dec_buf) |
String * | val_str (String *str) |
virtual bool | change_context_processor (uchar *cntx) |
bool | sp_check_access (THD *thd) |
Checks if requested access to function can be granted to user. If function isn't found yet, it searches function first. If function can't be found or user don't have requested access error is raised. | |
virtual enum Functype | functype () const |
bool | fix_fields (THD *thd, Item **ref) |
void | fix_length_and_dec (void) |
Initialize local members with values from the Field interface. | |
bool | is_expensive () |
Field * | get_sp_result_field () |
virtual void | update_null_value () |
Public Member Functions inherited from Item_func | |
enum Type | type () const |
Item_func (Item *a) | |
Item_func (Item *a, Item *b) | |
Item_func (Item *a, Item *b, Item *c) | |
Item_func (Item *a, Item *b, Item *c, Item *d) | |
Item_func (Item *a, Item *b, Item *c, Item *d, Item *e) | |
Item_func (List< Item > &list) | |
Item_func (THD *thd, Item_func *item) | |
void | fix_after_pullout (st_select_lex *parent_select, st_select_lex *removed_select) |
table_map | used_tables () const |
table_map | not_null_tables () const |
void | set_used_tables (table_map map) |
void | set_not_null_tables (table_map map) |
bool | eq (const Item *item, bool binary_cmp) const |
virtual optimize_type | select_optimize () const |
virtual bool | have_rev_func () const |
virtual Item * | key_item () const |
virtual bool | const_item () const |
Item ** | arguments () const |
void | set_arguments (List< Item > &list) |
uint | argument_count () const |
void | remove_arguments () |
void | split_sum_func (THD *thd, Ref_ptr_array ref_pointer_array, List< Item > &fields) |
virtual void | print (String *str, enum_query_type query_type) |
void | print_op (String *str, enum_query_type query_type) |
void | print_args (String *str, uint from, enum_query_type query_type) |
virtual void | fix_num_length_and_dec () |
void | count_only_length (Item **item, uint nitems) |
void | count_real_length () |
void | count_decimal_length () |
void | count_datetime_length (Item **item, uint nitems) |
bool | count_string_result_length (enum_field_types field_type, Item **item, uint nitems) |
bool | get_arg0_date (MYSQL_TIME *ltime, uint fuzzy_date) |
bool | get_arg0_time (MYSQL_TIME *ltime) |
bool | is_null () |
void | signal_divide_by_null () |
Field * | tmp_table_field () |
Item * | get_tmp_table_item (THD *thd) |
bool | agg_arg_charsets (DTCollation &c, Item **items, uint nitems, uint flags, int item_sep) |
bool | agg_arg_charsets_for_string_result (DTCollation &c, Item **items, uint nitems, int item_sep=1) |
bool | agg_arg_charsets_for_comparison (DTCollation &c, Item **items, uint nitems, int item_sep=1) |
bool | agg_arg_charsets_for_string_result_with_comparison (DTCollation &c, Item **items, uint nitems, int item_sep=1) |
bool | walk (Item_processor processor, bool walk_subquery, uchar *arg) |
Item * | transform (Item_transformer transformer, uchar *arg) |
Item * | compile (Item_analyzer analyzer, uchar **arg_p, Item_transformer transformer, uchar *arg_t) |
void | traverse_cond (Cond_traverser traverser, void *arg, traverse_order order) |
double | fix_result (double value) |
void | raise_numeric_overflow (const char *type_name) |
double | raise_float_overflow () |
longlong | raise_integer_overflow () |
int | raise_decimal_overflow () |
double | check_float_overflow (double value) |
longlong | check_integer_overflow (longlong value, bool val_unsigned) |
int | check_decimal_overflow (int error) |
bool | has_timestamp_args () |
bool | has_date_args () |
bool | has_time_args () |
bool | has_datetime_args () |
virtual bool | check_valid_arguments_processor (uchar *bool_arg) |
virtual bool | find_function_processor (uchar *arg) |
Public Member Functions inherited from Item_result_field | |
Item_result_field (THD *thd, Item_result_field *item) | |
Field * | get_tmp_table_field () |
void | set_result_field (Field *field) |
bool | is_result_field () |
void | save_in_result_field (bool no_conversions) |
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 Field * | make_string_field (TABLE *table) |
void | quick_fix_field () |
type_conversion_status | save_in_field_no_warnings (Field *field, bool no_conversions) |
virtual type_conversion_status | save_in_field (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 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 bool | basic_const_item () const |
virtual Item * | clone_item () |
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_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) |
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 void | top_level_item () |
virtual bool | is_bool_func () |
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 const CHARSET_INFO * | compare_collation () |
virtual const CHARSET_INFO * | charset_for_protocol (void) const |
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 | 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 | check_partition_func_processor (uchar *bool_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 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) |
virtual Item * | safe_charset_converter (const CHARSET_INFO *tocs) |
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 | 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. |
Protected Member Functions | |
bool | is_expensive_processor (uchar *arg) |
Additional Inherited Members | |
Public Types inherited from Item_func | |
enum | Functype { UNKNOWN_FUNC, EQ_FUNC, EQUAL_FUNC, NE_FUNC, LT_FUNC, LE_FUNC, GE_FUNC, GT_FUNC, FT_FUNC, LIKE_FUNC, ISNULL_FUNC, ISNOTNULL_FUNC, COND_AND_FUNC, COND_OR_FUNC, XOR_FUNC, BETWEEN, IN_FUNC, MULT_EQUAL_FUNC, INTERVAL_FUNC, ISNOTNULLTEST_FUNC, SP_EQUALS_FUNC, SP_DISJOINT_FUNC, SP_INTERSECTS_FUNC, SP_TOUCHES_FUNC, SP_CROSSES_FUNC, SP_WITHIN_FUNC, SP_CONTAINS_FUNC, SP_OVERLAPS_FUNC, SP_STARTPOINT, SP_ENDPOINT, SP_EXTERIORRING, SP_POINTN, SP_GEOMETRYN, SP_INTERIORRINGN, NOT_FUNC, NOT_ALL_FUNC, NOW_FUNC, TRIG_COND_FUNC, SUSERVAR_FUNC, GUSERVAR_FUNC, COLLATE_FUNC, EXTRACT_FUNC, CHAR_TYPECAST_FUNC, FUNC_SP, UDF_FUNC, NEG_FUNC, GSYSVAR_FUNC } |
enum | optimize_type { OPTIMIZE_NONE, OPTIMIZE_KEY, OPTIMIZE_OP, OPTIMIZE_NULL, OPTIMIZE_EQUAL } |
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_func | |
uint | arg_count |
Protected Attributes inherited from Item_func | |
Item ** | args |
Item * | tmp_arg [2] |
bool | const_item_cache |
Value used in calculation of result of const_item() | |
uint | allowed_arg_cols |
table_map | used_tables_cache |
Value used in calculation of result of used_tables() | |
table_map | not_null_tables_cache |
Value used in calculation of result of not_null_tables() |
Definition at line 2082 of file item_func.h.
|
virtual |
Initialize local members with values from the Field interface.
Implements Item_result_field.
Definition at line 6706 of file item_func.cc.
|
virtual |
Must not be called before the procedure is resolved, i.e. ::init_result_field().
Reimplemented from Item_func.
Definition at line 6614 of file item_func.cc.
bool Item_func_sp::sp_check_access | ( | THD * | thd | ) |
Checks if requested access to function can be granted to user. If function isn't found yet, it searches function first. If function can't be found or user don't have requested access error is raised.
thd | thread handler |
FALSE | Access is granted. |
TRUE | Requested access can't be granted or function doesn't exists. |
Definition at line 6901 of file item_func.cc.