My Project
|
Public Member Functions | |
virtual Item * | create_func (THD *thd, LEX_STRING name, List< Item > *item_list) |
virtual Item * | create (THD *thd, Item *arg1, Item *arg2)=0 |
Protected Member Functions | |
Create_func_arg2 () | |
virtual | ~Create_func_arg2 () |
Adapter for functions that takes exactly two arguments.
Create_func_arg2::Create_func_arg2 | ( | ) | [inline, protected] |
Constructor.
virtual Create_func_arg2::~Create_func_arg2 | ( | ) | [inline, protected, virtual] |
Destructor.
virtual Item* Create_func_arg2::create | ( | THD * | thd, |
Item * | arg1, | ||
Item * | arg2 | ||
) | [pure virtual] |
Builder method, with two arguments.
thd | The current thread |
arg1 | The first argument of the function |
arg2 | The second argument of the function |
Implemented in Create_func_xml_extractvalue, Create_func_timediff, Create_func_time_format, Create_func_subtime, Create_func_strcmp, Create_func_str_to_date, Create_func_sha2, Create_func_pow, Create_func_period_diff, Create_func_period_add, Create_func_nullif, Create_func_name_const, Create_func_makedate, Create_func_like_range_max, Create_func_like_range_min, Create_func_instr, Create_func_ifnull, Create_func_gtid_subset, Create_func_gtid_subtract, Create_func_get_lock, Create_func_find_in_set, Create_func_encode, Create_func_decode, Create_func_datediff, Create_func_date_format, Create_func_benchmark, and Create_func_addtime.
Item * Create_func_arg2::create_func | ( | THD * | thd, |
LEX_STRING | name, | ||
List< Item > * | item_list | ||
) | [virtual] |
The builder create method. Given the function name and list or arguments, this method creates an Item
that represents the function call. In case or errors, a NULL item is returned, and an error is reported. Note that the thd
object may be modified by the builder. In particular, the following members/methods can be set/called, depending on the function called and the function possible side effects.
thd->lex->binlog_row_based_if_mixed
thd->lex->current_context()
thd->lex->safe_to_cache_query
thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT)
thd->lex->uncacheable(UNCACHEABLE_RAND)
thd->lex->add_time_zone_tables_to_query_tables(thd)
thd | The current thread |
name | The function name |
item_list | The list of arguments to the function, can be NULL |
Implements Create_func.