Public Member Functions | |
virtual Item * | create (Session *session, LEX_STRING name, List< Item > *item_list) |
virtual Item * | create_native (Session *session, LEX_STRING name, List< Item > *item_list)=0 |
Protected Member Functions | |
Create_native_func () | |
virtual | ~Create_native_func () |
Adapter for native functions with a variable number of arguments. The main use of this class is to discard the following calls: foo(expr1 AS name1, expr2 AS name2, ...)
which are syntactically correct (the syntax can refer to a UDF), but semantically invalid for native functions.
drizzled::Create_native_func::Create_native_func | ( | ) | [inline, protected] |
virtual drizzled::Create_native_func::~Create_native_func | ( | ) | [inline, protected, virtual] |
Item * drizzled::Create_native_func::create | ( | Session * | session, |
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 session
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.
session->lex().binlog_row_based_if_mixed
session->lex().current_context()
session->lex().safe_to_cache_query
session->lex().uncacheable(UNCACHEABLE_SIDEEFFECT)
session->lex().uncacheable(UNCACHEABLE_RAND)
session->lex().add_time_zone_tables_to_query_tables(session)
session | The current thread |
name | The function name |
item_list | The list of arguments to the function, can be NULL |
Implements drizzled::Create_func.
Definition at line 1105 of file create.cc.
References drizzled::has_named_parameters().
virtual Item* drizzled::Create_native_func::create_native | ( | Session * | session, |
LEX_STRING | name, | ||
List< Item > * | item_list | ||
) | [pure virtual] |
Builder method, with no arguments.
session | The current thread |
name | The native function name |
item_list | The function parameters, none of which are named |
Implemented in drizzled::Create_func_unix_timestamp, drizzled::Create_func_round, drizzled::Create_func_make_set, drizzled::Create_func_locate, drizzled::Create_func_least, drizzled::Create_func_last_insert_id, drizzled::Create_func_greatest, drizzled::Create_func_from_unixtime, drizzled::Create_func_field, drizzled::Create_func_export_set, drizzled::Create_func_concat_ws, and drizzled::Create_func_concat.