Drizzled Public API Documentation

drizzled::Create_native_func Class Reference

Inheritance diagram for drizzled::Create_native_func:
drizzled::Create_func drizzled::Create_func_concat drizzled::Create_func_concat_ws drizzled::Create_func_export_set drizzled::Create_func_field drizzled::Create_func_from_unixtime drizzled::Create_func_greatest drizzled::Create_func_last_insert_id drizzled::Create_func_least drizzled::Create_func_locate drizzled::Create_func_make_set drizzled::Create_func_round drizzled::Create_func_unix_timestamp

List of all members.

Public Member Functions

virtual Itemcreate (Session *session, LEX_STRING name, List< Item > *item_list)
virtual Itemcreate_native (Session *session, LEX_STRING name, List< Item > *item_list)=0

Protected Member Functions

 Create_native_func ()
virtual ~Create_native_func ()

Detailed Description

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.

Definition at line 113 of file create.cc.


Constructor & Destructor Documentation

drizzled::Create_native_func::Create_native_func ( ) [inline, protected]

Constructor.

Definition at line 130 of file create.cc.

virtual drizzled::Create_native_func::~Create_native_func ( ) [inline, protected, virtual]

Destructor.

Definition at line 132 of file create.cc.


Member Function Documentation

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)
Parameters:
sessionThe current thread
nameThe function name
item_listThe list of arguments to the function, can be NULL
Returns:
An item representing the parsed function call, or 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.

Parameters:
sessionThe current thread
nameThe native function name
item_listThe function parameters, none of which are named
Returns:
An item representing the function call

Implemented in drizzled::Create_func_concat, drizzled::Create_func_concat_ws, drizzled::Create_func_export_set, drizzled::Create_func_field, drizzled::Create_func_from_unixtime, drizzled::Create_func_greatest, drizzled::Create_func_last_insert_id, drizzled::Create_func_least, drizzled::Create_func_locate, drizzled::Create_func_make_set, drizzled::Create_func_round, and drizzled::Create_func_unix_timestamp.


The documentation for this class was generated from the following file: