MySQL 8.4.2
Source Code Documentation
dd::Routine_impl Class Reference

#include <routine_impl.h>

Inheritance diagram for dd::Routine_impl:
[legend]

Public Member Functions

 Routine_impl ()
 
 ~Routine_impl () override
 
const Object_tableobject_table () const override
 
bool validate () const override
 
bool restore_children (Open_dictionary_tables_ctx *otx) override
 
bool store_children (Open_dictionary_tables_ctx *otx) override
 
bool drop_children (Open_dictionary_tables_ctx *otx) const override
 
bool restore_attributes (const Raw_record &r) override
 
bool store_attributes (Raw_record *r) override
 
void debug_print (String_type &outb) const override
 
Object_id schema_id () const override
 
void set_schema_id (Object_id schema_id) override
 
enum_routine_type type () const override
 
virtual void set_type (enum_routine_type routine_type)
 
const String_typedefinition () const override
 
void set_definition (const String_type &definition) override
 
const String_typedefinition_utf8 () const override
 
void set_definition_utf8 (const String_type &definition_utf8) override
 
const String_typeparameter_str () const override
 
void set_parameter_str (const String_type &parameter_str) override
 
bool is_deterministic () const override
 
void set_deterministic (bool deterministic) override
 
enum_sql_data_access sql_data_access () const override
 
void set_sql_data_access (enum_sql_data_access sda) override
 
const String_typeexternal_language () const override
 
void set_external_language (const String_type &el) override
 
View::enum_security_type security_type () const override
 
void set_security_type (View::enum_security_type security_type) override
 
ulonglong sql_mode () const override
 
void set_sql_mode (ulonglong sm) override
 
const String_typedefiner_user () const override
 
const String_typedefiner_host () const override
 
void set_definer (const String_type &username, const String_type &hostname) override
 
Object_id client_collation_id () const override
 
void set_client_collation_id (Object_id client_collation_id) override
 
Object_id connection_collation_id () const override
 
void set_connection_collation_id (Object_id connection_collation_id) override
 
Object_id schema_collation_id () const override
 
void set_schema_collation_id (Object_id schema_collation_id) override
 
ulonglong created (bool convert_time) const override
 
void set_created (ulonglong created) override
 
ulonglong last_altered (bool convert_time) const override
 
void set_last_altered (ulonglong last_altered) override
 
const String_typecomment () const override
 
void set_comment (const String_type &comment) override
 
Parameteradd_parameter () override
 
const Parameter_collectionparameters () const override
 
Entity_object_implimpl () override
 
const Entity_object_implimpl () const override
 
Object_id id () const override
 The unique dictionary object id. More...
 
bool is_persistent () const override
 Is dictionary object persistent in dictionary tables ? More...
 
const String_typename () const override
 
void set_name (const String_type &name) override
 
- Public Member Functions inherited from dd::Entity_object_impl
 Entity_object_impl ()
 
void set_id (Object_id id)
 
Object_keycreate_primary_key () const override
 
bool has_new_primary_key () const override
 Indicates that object is guaranteed to have primary key value which doesn't exist in database (e.g. More...
 
- Public Member Functions inherited from dd::Weak_object
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 
- Public Member Functions inherited from dd::Weak_object_impl_< use_pfs >
 Weak_object_impl_ ()=default
 
 ~Weak_object_impl_ () override=default
 
void * operator new (size_t size, const std::nothrow_t &nt) noexcept
 
void operator delete (void *ptr, const std::nothrow_t &nt) noexcept
 
void * operator new (size_t size) noexcept
 
void operator delete (void *ptr) noexcept
 
virtual bool store (Open_dictionary_tables_ctx *otx)
 Store the DD object into DD table. More...
 
bool drop (Open_dictionary_tables_ctx *otx) const
 Drop the DD object from DD table. More...
 
- Public Member Functions inherited from dd::Routine
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 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...
 

Static Public Member Functions

static void register_tables (Open_dictionary_tables_ctx *otx)
 
- 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 ()
 

Protected Member Functions

 Routine_impl (const Routine_impl &src)
 
- Protected Member Functions inherited from dd::Entity_object_impl
void set_primary_key_value (const Raw_new_record &r) override
 
void fix_has_new_primary_key () override
 
void restore_id (const Raw_record &r, int field_idx)
 
void restore_name (const Raw_record &r, int field_idx)
 
bool store_id (Raw_record *r, int field_idx)
 
bool store_name (Raw_record *r, int field_idx)
 
bool store_name (Raw_record *r, int field_idx, bool is_null)
 
void serialize (Sdi_wcontext *wctx, Sdi_writer *w) const
 
bool deserialize (Sdi_rcontext *rctx, const RJ_Value &val)
 
 Entity_object_impl (const Entity_object_impl &src)
 
- Protected Member Functions inherited from dd::Weak_object_impl_< use_pfs >
bool check_parent_consistency (Entity_object_impl *parent, Object_id parent_id) const
 

Private Attributes

enum_routine_type m_routine_type
 
enum_sql_data_access m_sql_data_access
 
View::enum_security_type m_security_type
 
bool m_is_deterministic
 
ulonglong m_sql_mode
 
ulonglong m_created
 
ulonglong m_last_altered
 
String_type m_definition
 
String_type m_definition_utf8
 
String_type m_parameter_str
 
String_type m_definer_user
 
String_type m_definer_host
 
String_type m_comment
 
String_type m_external_language
 
Parameter_collection m_parameters
 
Object_id m_schema_id
 
Object_id m_client_collation_id
 
Object_id m_connection_collation_id
 
Object_id m_schema_collation_id
 

Additional Inherited Members

- 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
 

Constructor & Destructor Documentation

◆ Routine_impl() [1/2]

dd::Routine_impl::Routine_impl ( )

◆ ~Routine_impl()

dd::Routine_impl::~Routine_impl ( )
overridedefault

◆ Routine_impl() [2/2]

dd::Routine_impl::Routine_impl ( const Routine_impl src)
protected

Member Function Documentation

◆ add_parameter()

Parameter * dd::Routine_impl::add_parameter ( )
overridevirtual

Implements dd::Routine.

◆ client_collation_id()

Object_id dd::Routine_impl::client_collation_id ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ comment()

const String_type & dd::Routine_impl::comment ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ connection_collation_id()

Object_id dd::Routine_impl::connection_collation_id ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ created()

ulonglong dd::Routine_impl::created ( bool  convert_time) const
inlineoverridevirtual

Implements dd::Routine.

◆ debug_print()

void dd::Routine_impl::debug_print ( String_type outb) const
overridevirtual

Implements dd::Weak_object.

◆ definer_host()

const String_type & dd::Routine_impl::definer_host ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ definer_user()

const String_type & dd::Routine_impl::definer_user ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ definition()

const String_type & dd::Routine_impl::definition ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ definition_utf8()

const String_type & dd::Routine_impl::definition_utf8 ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ drop_children()

bool dd::Routine_impl::drop_children ( Open_dictionary_tables_ctx otx) const
overridevirtual

Reimplemented from dd::Weak_object_impl_< use_pfs >.

◆ external_language()

const String_type & dd::Routine_impl::external_language ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ id()

Object_id dd::Routine_impl::id ( ) const
inlineoverridevirtual

The unique dictionary object id.

Reimplemented from dd::Entity_object_impl.

◆ impl() [1/2]

const Entity_object_impl * dd::Routine_impl::impl ( ) const
inlineoverridevirtual

Reimplemented from dd::Entity_object_impl.

◆ impl() [2/2]

Entity_object_impl * dd::Routine_impl::impl ( )
inlineoverridevirtual

Reimplemented from dd::Entity_object_impl.

◆ is_deterministic()

bool dd::Routine_impl::is_deterministic ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ is_persistent()

bool dd::Routine_impl::is_persistent ( ) const
inlineoverridevirtual

Is dictionary object persistent in dictionary tables ?

Reimplemented from dd::Entity_object_impl.

◆ last_altered()

ulonglong dd::Routine_impl::last_altered ( bool  convert_time) const
inlineoverridevirtual

Implements dd::Routine.

◆ name()

const String_type & dd::Routine_impl::name ( ) const
inlineoverridevirtual

Reimplemented from dd::Entity_object_impl.

◆ object_table()

const Object_table & dd::Routine_impl::object_table ( ) const
overridevirtual

◆ parameter_str()

const String_type & dd::Routine_impl::parameter_str ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ parameters()

const Parameter_collection & dd::Routine_impl::parameters ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ register_tables()

void dd::Routine_impl::register_tables ( Open_dictionary_tables_ctx otx)
static

◆ restore_attributes()

bool dd::Routine_impl::restore_attributes ( const Raw_record r)
overridevirtual

◆ restore_children()

bool dd::Routine_impl::restore_children ( Open_dictionary_tables_ctx otx)
overridevirtual

Reimplemented from dd::Weak_object_impl_< use_pfs >.

◆ schema_collation_id()

Object_id dd::Routine_impl::schema_collation_id ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ schema_id()

Object_id dd::Routine_impl::schema_id ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ security_type()

View::enum_security_type dd::Routine_impl::security_type ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ set_client_collation_id()

void dd::Routine_impl::set_client_collation_id ( Object_id  client_collation_id)
inlineoverridevirtual

Implements dd::Routine.

◆ set_comment()

void dd::Routine_impl::set_comment ( const String_type comment)
inlineoverridevirtual

Implements dd::Routine.

◆ set_connection_collation_id()

void dd::Routine_impl::set_connection_collation_id ( Object_id  connection_collation_id)
inlineoverridevirtual

Implements dd::Routine.

◆ set_created()

void dd::Routine_impl::set_created ( ulonglong  created)
inlineoverridevirtual

Implements dd::Routine.

◆ set_definer()

void dd::Routine_impl::set_definer ( const String_type username,
const String_type hostname 
)
inlineoverridevirtual

Implements dd::Routine.

◆ set_definition()

void dd::Routine_impl::set_definition ( const String_type definition)
inlineoverridevirtual

Implements dd::Routine.

◆ set_definition_utf8()

void dd::Routine_impl::set_definition_utf8 ( const String_type definition_utf8)
inlineoverridevirtual

Implements dd::Routine.

◆ set_deterministic()

void dd::Routine_impl::set_deterministic ( bool  deterministic)
inlineoverridevirtual

Implements dd::Routine.

◆ set_external_language()

void dd::Routine_impl::set_external_language ( const String_type el)
inlineoverridevirtual

Implements dd::Routine.

◆ set_last_altered()

void dd::Routine_impl::set_last_altered ( ulonglong  last_altered)
inlineoverridevirtual

Implements dd::Routine.

◆ set_name()

void dd::Routine_impl::set_name ( const String_type name)
inlineoverridevirtual

Reimplemented from dd::Entity_object_impl.

◆ set_parameter_str()

void dd::Routine_impl::set_parameter_str ( const String_type parameter_str)
inlineoverridevirtual

Implements dd::Routine.

◆ set_schema_collation_id()

void dd::Routine_impl::set_schema_collation_id ( Object_id  schema_collation_id)
inlineoverridevirtual

Implements dd::Routine.

◆ set_schema_id()

void dd::Routine_impl::set_schema_id ( Object_id  schema_id)
inlineoverridevirtual

Implements dd::Routine.

◆ set_security_type()

void dd::Routine_impl::set_security_type ( View::enum_security_type  security_type)
inlineoverridevirtual

Implements dd::Routine.

◆ set_sql_data_access()

void dd::Routine_impl::set_sql_data_access ( enum_sql_data_access  sda)
inlineoverridevirtual

Implements dd::Routine.

◆ set_sql_mode()

void dd::Routine_impl::set_sql_mode ( ulonglong  sm)
inlineoverridevirtual

Implements dd::Routine.

◆ set_type()

virtual void dd::Routine_impl::set_type ( enum_routine_type  routine_type)
inlinevirtual

◆ sql_data_access()

enum_sql_data_access dd::Routine_impl::sql_data_access ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ sql_mode()

ulonglong dd::Routine_impl::sql_mode ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ store_attributes()

bool dd::Routine_impl::store_attributes ( Raw_record r)
overridevirtual

◆ store_children()

bool dd::Routine_impl::store_children ( Open_dictionary_tables_ctx otx)
overridevirtual

Reimplemented from dd::Weak_object_impl_< use_pfs >.

◆ type()

enum_routine_type dd::Routine_impl::type ( ) const
inlineoverridevirtual

Implements dd::Routine.

◆ validate()

bool dd::Routine_impl::validate ( ) const
overridevirtual

Member Data Documentation

◆ m_client_collation_id

Object_id dd::Routine_impl::m_client_collation_id
private

◆ m_comment

String_type dd::Routine_impl::m_comment
private

◆ m_connection_collation_id

Object_id dd::Routine_impl::m_connection_collation_id
private

◆ m_created

ulonglong dd::Routine_impl::m_created
private

◆ m_definer_host

String_type dd::Routine_impl::m_definer_host
private

◆ m_definer_user

String_type dd::Routine_impl::m_definer_user
private

◆ m_definition

String_type dd::Routine_impl::m_definition
private

◆ m_definition_utf8

String_type dd::Routine_impl::m_definition_utf8
private

◆ m_external_language

String_type dd::Routine_impl::m_external_language
private

◆ m_is_deterministic

bool dd::Routine_impl::m_is_deterministic
private

◆ m_last_altered

ulonglong dd::Routine_impl::m_last_altered
private

◆ m_parameter_str

String_type dd::Routine_impl::m_parameter_str
private

◆ m_parameters

Parameter_collection dd::Routine_impl::m_parameters
private

◆ m_routine_type

enum_routine_type dd::Routine_impl::m_routine_type
private

◆ m_schema_collation_id

Object_id dd::Routine_impl::m_schema_collation_id
private

◆ m_schema_id

Object_id dd::Routine_impl::m_schema_id
private

◆ m_security_type

View::enum_security_type dd::Routine_impl::m_security_type
private

◆ m_sql_data_access

enum_sql_data_access dd::Routine_impl::m_sql_data_access
private

◆ m_sql_mode

ulonglong dd::Routine_impl::m_sql_mode
private

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