MySQL 9.1.0
Source Code Documentation
dd::Function Class Referenceabstract

#include <function.h>

Inheritance diagram for dd::Function:
[legend]

Public Types

typedef Function_impl Impl
 
- Public Types inherited from dd::Routine
enum  enum_routine_type { RT_FUNCTION = 1 , RT_PROCEDURE }
 
enum  enum_sql_data_access { SDA_CONTAINS_SQL = 1 , SDA_NO_SQL , SDA_READS_SQL_DATA , SDA_MODIFIES_SQL_DATA }
 
typedef Routine_impl Impl
 
typedef Routine Cache_partition
 
typedef tables::Routines DD_table
 
typedef Primary_id_key Id_key
 
typedef Routine_name_key Name_key
 
typedef Void_key Aux_key
 
typedef Collection< Parameter * > Parameter_collection
 

Public Member Functions

bool update_name_key (Name_key *key) const override
 
 ~Function () override=default
 
virtual enum_column_types result_data_type () const =0
 
virtual void set_result_data_type (enum_column_types type)=0
 
virtual void set_result_data_type_null (bool is_null)=0
 
virtual bool is_result_data_type_null () const =0
 
virtual const String_typeresult_data_type_utf8 () const =0
 
virtual void set_result_data_type_utf8 (const String_type &result_data_type_utf8)=0
 
virtual bool result_is_zerofill () const =0
 
virtual void set_result_zerofill (bool zerofill)=0
 
virtual bool result_is_unsigned () const =0
 
virtual void set_result_unsigned (bool unsigned_flag)=0
 
virtual size_t result_char_length () const =0
 
virtual void set_result_char_length (size_t char_length)=0
 
virtual uint result_numeric_precision () const =0
 
virtual void set_result_numeric_precision (uint numeric_precision)=0
 
virtual uint result_numeric_scale () const =0
 
virtual void set_result_numeric_scale (uint numeric_scale)=0
 
virtual void set_result_numeric_scale_null (bool is_null)=0
 
virtual bool is_result_numeric_scale_null () const =0
 
virtual uint result_datetime_precision () const =0
 
virtual void set_result_datetime_precision (uint datetime_precision)=0
 
virtual Object_id result_collation_id () const =0
 
virtual void set_result_collation_id (Object_id collation_id)=0
 
Functionclone () const override=0
 Allocate a new object graph and invoke the copy constructor for each object. More...
 
Functionclone_dropped_object_placeholder () const override=0
 Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry. More...
 
- Public Member Functions inherited from dd::Routine
virtual bool update_id_key (Id_key *key) const
 
virtual bool update_routine_name_key (Name_key *key, Object_id schema_id, const String_type &name) const =0
 
virtual bool update_aux_key (Aux_key *) const
 
 ~Routine () override=default
 
virtual Object_id schema_id () const =0
 
virtual void set_schema_id (Object_id schema_id)=0
 
virtual enum_routine_type type () const =0
 
virtual const String_typedefinition () const =0
 
virtual void set_definition (const String_type &definition)=0
 
virtual const String_typedefinition_utf8 () const =0
 
virtual void set_definition_utf8 (const String_type &definition_utf8)=0
 
virtual const String_typeparameter_str () const =0
 
virtual void set_parameter_str (const String_type &parameter_str)=0
 
virtual bool is_deterministic () const =0
 
virtual void set_deterministic (bool deterministic)=0
 
virtual enum_sql_data_access sql_data_access () const =0
 
virtual void set_sql_data_access (enum_sql_data_access sda)=0
 
virtual const String_typeexternal_language () const =0
 
virtual void set_external_language (const String_type &el)=0
 
virtual View::enum_security_type security_type () const =0
 
virtual void set_security_type (View::enum_security_type st)=0
 
virtual ulonglong sql_mode () const =0
 
virtual void set_sql_mode (ulonglong sm)=0
 
virtual const String_typedefiner_user () const =0
 
virtual const String_typedefiner_host () const =0
 
virtual void set_definer (const String_type &username, const String_type &hostname)=0
 
virtual Object_id client_collation_id () const =0
 
virtual void set_client_collation_id (Object_id client_collation_id)=0
 
virtual Object_id connection_collation_id () const =0
 
virtual void set_connection_collation_id (Object_id connection_collation_id)=0
 
virtual Object_id schema_collation_id () const =0
 
virtual void set_schema_collation_id (Object_id schema_collation_id)=0
 
virtual ulonglong created (bool convert_time) const =0
 
virtual void set_created (ulonglong created)=0
 
virtual ulonglong last_altered (bool convert_time) const =0
 
virtual void set_last_altered (ulonglong last_altered)=0
 
virtual const String_typecomment () const =0
 
virtual void set_comment (const String_type &comment)=0
 
virtual Parameteradd_parameter ()=0
 
virtual const Parameter_collectionparameters () const =0
 
- Public Member Functions inherited from dd::Entity_object
virtual Object_id id () const =0
 The unique dictionary object id. More...
 
virtual bool is_persistent () const =0
 Is dictionary object persistent in dictionary tables ? More...
 
virtual const String_typename () const =0
 
virtual void set_name (const String_type &name)=0
 
- Public Member Functions inherited from dd::Weak_object
virtual void debug_print (String_type &outb) const =0
 
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 

Static Public Member Functions

static bool update_name_key (Name_key *key, Object_id schema_id, const String_type &name)
 
static void create_mdl_key (const String_type &schema_name, const String_type &name, MDL_key *key)
 
- Static Public Member Functions inherited from dd::Routine
static bool update_id_key (Id_key *key, Object_id id)
 
static void create_mdl_key (enum_routine_type type, const String_type &schema_name, const String_type &name, MDL_key *key)
 
static const CHARSET_INFOname_collation ()
 

Member Typedef Documentation

◆ Impl

Constructor & Destructor Documentation

◆ ~Function()

dd::Function::~Function ( )
overridedefault

Member Function Documentation

◆ clone()

Function * dd::Function::clone ( ) const
overridepure virtual

Allocate a new object graph and invoke the copy constructor for each object.

Only used in unit testing.

Returns
pointer to dynamically allocated copy

Implements dd::Routine.

Implemented in dd::Function_impl.

◆ clone_dropped_object_placeholder()

Function * dd::Function::clone_dropped_object_placeholder ( ) const
overridepure virtual

Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry.

Such object has the same keys as the original but has no other info and as result occupies less memory.

Implements dd::Routine.

Implemented in dd::Function_impl.

◆ create_mdl_key()

static void dd::Function::create_mdl_key ( const String_type schema_name,
const String_type name,
MDL_key key 
)
inlinestatic

◆ is_result_data_type_null()

virtual bool dd::Function::is_result_data_type_null ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ is_result_numeric_scale_null()

virtual bool dd::Function::is_result_numeric_scale_null ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_char_length()

virtual size_t dd::Function::result_char_length ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_collation_id()

virtual Object_id dd::Function::result_collation_id ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_data_type()

virtual enum_column_types dd::Function::result_data_type ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_data_type_utf8()

virtual const String_type & dd::Function::result_data_type_utf8 ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_datetime_precision()

virtual uint dd::Function::result_datetime_precision ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_is_unsigned()

virtual bool dd::Function::result_is_unsigned ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_is_zerofill()

virtual bool dd::Function::result_is_zerofill ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_numeric_precision()

virtual uint dd::Function::result_numeric_precision ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ result_numeric_scale()

virtual uint dd::Function::result_numeric_scale ( ) const
pure virtual

Implemented in dd::Function_impl.

◆ set_result_char_length()

virtual void dd::Function::set_result_char_length ( size_t  char_length)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_collation_id()

virtual void dd::Function::set_result_collation_id ( Object_id  collation_id)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_data_type()

virtual void dd::Function::set_result_data_type ( enum_column_types  type)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_data_type_null()

virtual void dd::Function::set_result_data_type_null ( bool  is_null)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_data_type_utf8()

virtual void dd::Function::set_result_data_type_utf8 ( const String_type result_data_type_utf8)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_datetime_precision()

virtual void dd::Function::set_result_datetime_precision ( uint  datetime_precision)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_numeric_precision()

virtual void dd::Function::set_result_numeric_precision ( uint  numeric_precision)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_numeric_scale()

virtual void dd::Function::set_result_numeric_scale ( uint  numeric_scale)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_numeric_scale_null()

virtual void dd::Function::set_result_numeric_scale_null ( bool  is_null)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_unsigned()

virtual void dd::Function::set_result_unsigned ( bool  unsigned_flag)
pure virtual

Implemented in dd::Function_impl.

◆ set_result_zerofill()

virtual void dd::Function::set_result_zerofill ( bool  zerofill)
pure virtual

Implemented in dd::Function_impl.

◆ update_name_key() [1/2]

bool dd::Function::update_name_key ( Name_key key) const
inlineoverridevirtual

Reimplemented from dd::Routine.

◆ update_name_key() [2/2]

bool dd::Function::update_name_key ( Name_key key,
Object_id  schema_id,
const String_type name 
)
static

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