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, Item *arg3)=0 |
Protected Member Functions | |
Create_func_arg3 () | |
virtual | ~Create_func_arg3 () |
Adapter for functions that takes exactly three arguments.
Create_func_arg3::Create_func_arg3 | ( | ) | [inline, protected] |
Constructor.
virtual Create_func_arg3::~Create_func_arg3 | ( | ) | [inline, protected, virtual] |
Destructor.
virtual Item* Create_func_arg3::create | ( | THD * | thd, |
Item * | arg1, | ||
Item * | arg2, | ||
Item * | arg3 | ||
) | [pure virtual] |
Builder method, with three arguments.
thd | The current thread |
arg1 | The first argument of the function |
arg2 | The second argument of the function |
arg3 | The third argument of the function |
Implemented in Create_func_xml_update, Create_func_substr_index, Create_func_rpad, Create_func_maketime, Create_func_lpad, Create_func_convert_tz, and Create_func_conv.
Item * Create_func_arg3::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.