MySQL 8.4.0
Source Code Documentation
dd::Routine Class Referenceabstract

Abstract base class for functions and procedures. More...

#include <routine.h>

Inheritance diagram for dd::Routine:
[legend]

Public Types

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

virtual bool update_id_key (Id_key *key) const
 
virtual bool update_name_key (Name_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
 
virtual Routineclone () const =0
 Allocate a new object graph and invoke the copy constructor for each object. More...
 
virtual Routineclone_dropped_object_placeholder () const =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::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_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 ()
 

Detailed Description

Abstract base class for functions and procedures.

Note
This class may be inherited along different paths for some subclasses due to the diamond shaped inheritance hierarchy; thus, direct subclasses must inherit this class virtually.

Member Typedef Documentation

◆ Aux_key

◆ Cache_partition

◆ DD_table

◆ Id_key

◆ Impl

◆ Name_key

◆ Parameter_collection

Member Enumeration Documentation

◆ enum_routine_type

Enumerator
RT_FUNCTION 
RT_PROCEDURE 

◆ enum_sql_data_access

Enumerator
SDA_CONTAINS_SQL 
SDA_NO_SQL 
SDA_READS_SQL_DATA 
SDA_MODIFIES_SQL_DATA 

Constructor & Destructor Documentation

◆ ~Routine()

dd::Routine::~Routine ( )
overridedefault

Member Function Documentation

◆ add_parameter()

virtual Parameter * dd::Routine::add_parameter ( )
pure virtual

◆ client_collation_id()

virtual Object_id dd::Routine::client_collation_id ( ) const
pure virtual

◆ clone()

virtual Routine * dd::Routine::clone ( ) const
pure 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

Implemented in dd::Function_impl, dd::Procedure_impl, dd::Function, and dd::Procedure.

◆ clone_dropped_object_placeholder()

virtual Routine * dd::Routine::clone_dropped_object_placeholder ( ) const
pure 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.

Implemented in dd::Function_impl, dd::Procedure_impl, dd::Function, and dd::Procedure.

◆ comment()

virtual const String_type & dd::Routine::comment ( ) const
pure virtual

◆ connection_collation_id()

virtual Object_id dd::Routine::connection_collation_id ( ) const
pure virtual

◆ create_mdl_key()

void dd::Routine::create_mdl_key ( enum_routine_type  type,
const String_type schema_name,
const String_type name,
MDL_key key 
)
static

◆ created()

virtual ulonglong dd::Routine::created ( bool  convert_time) const
pure virtual

◆ definer_host()

virtual const String_type & dd::Routine::definer_host ( ) const
pure virtual

◆ definer_user()

virtual const String_type & dd::Routine::definer_user ( ) const
pure virtual

◆ definition()

virtual const String_type & dd::Routine::definition ( ) const
pure virtual

◆ definition_utf8()

virtual const String_type & dd::Routine::definition_utf8 ( ) const
pure virtual

◆ external_language()

virtual const String_type & dd::Routine::external_language ( ) const
pure virtual

◆ is_deterministic()

virtual bool dd::Routine::is_deterministic ( ) const
pure virtual

◆ last_altered()

virtual ulonglong dd::Routine::last_altered ( bool  convert_time) const
pure virtual

◆ name_collation()

const CHARSET_INFO * dd::Routine::name_collation ( )
static

◆ parameter_str()

virtual const String_type & dd::Routine::parameter_str ( ) const
pure virtual

◆ parameters()

virtual const Parameter_collection & dd::Routine::parameters ( ) const
pure virtual

◆ schema_collation_id()

virtual Object_id dd::Routine::schema_collation_id ( ) const
pure virtual

◆ schema_id()

virtual Object_id dd::Routine::schema_id ( ) const
pure virtual

◆ security_type()

virtual View::enum_security_type dd::Routine::security_type ( ) const
pure virtual

◆ set_client_collation_id()

virtual void dd::Routine::set_client_collation_id ( Object_id  client_collation_id)
pure virtual

◆ set_comment()

virtual void dd::Routine::set_comment ( const String_type comment)
pure virtual

◆ set_connection_collation_id()

virtual void dd::Routine::set_connection_collation_id ( Object_id  connection_collation_id)
pure virtual

◆ set_created()

virtual void dd::Routine::set_created ( ulonglong  created)
pure virtual

◆ set_definer()

virtual void dd::Routine::set_definer ( const String_type username,
const String_type hostname 
)
pure virtual

◆ set_definition()

virtual void dd::Routine::set_definition ( const String_type definition)
pure virtual

◆ set_definition_utf8()

virtual void dd::Routine::set_definition_utf8 ( const String_type definition_utf8)
pure virtual

◆ set_deterministic()

virtual void dd::Routine::set_deterministic ( bool  deterministic)
pure virtual

◆ set_external_language()

virtual void dd::Routine::set_external_language ( const String_type el)
pure virtual

◆ set_last_altered()

virtual void dd::Routine::set_last_altered ( ulonglong  last_altered)
pure virtual

◆ set_parameter_str()

virtual void dd::Routine::set_parameter_str ( const String_type parameter_str)
pure virtual

◆ set_schema_collation_id()

virtual void dd::Routine::set_schema_collation_id ( Object_id  schema_collation_id)
pure virtual

◆ set_schema_id()

virtual void dd::Routine::set_schema_id ( Object_id  schema_id)
pure virtual

◆ set_security_type()

virtual void dd::Routine::set_security_type ( View::enum_security_type  st)
pure virtual

◆ set_sql_data_access()

virtual void dd::Routine::set_sql_data_access ( enum_sql_data_access  sda)
pure virtual

◆ set_sql_mode()

virtual void dd::Routine::set_sql_mode ( ulonglong  sm)
pure virtual

◆ sql_data_access()

virtual enum_sql_data_access dd::Routine::sql_data_access ( ) const
pure virtual

◆ sql_mode()

virtual ulonglong dd::Routine::sql_mode ( ) const
pure virtual

◆ type()

virtual enum_routine_type dd::Routine::type ( ) const
pure virtual

◆ update_aux_key()

virtual bool dd::Routine::update_aux_key ( Aux_key ) const
inlinevirtual

◆ update_id_key() [1/2]

virtual bool dd::Routine::update_id_key ( Id_key key) const
inlinevirtual

◆ update_id_key() [2/2]

bool dd::Routine::update_id_key ( Id_key key,
Object_id  id 
)
static

◆ update_name_key()

virtual bool dd::Routine::update_name_key ( Name_key key) const
inlinevirtual

◆ update_routine_name_key()

virtual bool dd::Routine::update_routine_name_key ( Name_key key,
Object_id  schema_id,
const String_type name 
) const
pure virtual

Implemented in dd::Function_impl, and dd::Procedure_impl.


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