24#ifndef DD__ROUTINE_INCLUDED
25#define DD__ROUTINE_INCLUDED
44class Routine_name_key;
Definition: collection.h:44
Base class for dictionary objects which has single column integer primary key.
Definition: entity_object.h:48
virtual const String_type & name() const =0
Definition: parameter.h:45
Definition: object_keys.h:77
Definition: routine_impl.h:52
Definition: object_keys.h:434
Abstract base class for functions and procedures.
Definition: routine.h:61
virtual void set_last_altered(ulonglong last_altered)=0
virtual bool update_aux_key(Aux_key *) const
Definition: routine.h:85
virtual Parameter * add_parameter()=0
virtual void set_parameter_str(const String_type ¶meter_str)=0
virtual void set_comment(const String_type &comment)=0
virtual void set_security_type(View::enum_security_type st)=0
virtual void set_sql_mode(ulonglong sm)=0
virtual bool update_routine_name_key(Name_key *key, Object_id schema_id, const String_type &name) const =0
virtual Object_id schema_collation_id() const =0
Primary_id_key Id_key
Definition: routine.h:66
virtual Object_id schema_id() const =0
virtual void set_schema_collation_id(Object_id schema_collation_id)=0
virtual enum_routine_type type() const =0
virtual const String_type & parameter_str() const =0
virtual View::enum_security_type security_type() const =0
virtual enum_sql_data_access sql_data_access() const =0
virtual const String_type & comment() const =0
virtual ulonglong last_altered(bool convert_time) const =0
virtual void set_sql_data_access(enum_sql_data_access sda)=0
Void_key Aux_key
Definition: routine.h:68
static const CHARSET_INFO * name_collation()
Definition: routine_impl.cc:313
virtual Object_id connection_collation_id() const =0
virtual void set_definer(const String_type &username, const String_type &hostname)=0
virtual const String_type & definition_utf8() const =0
Routine_name_key Name_key
Definition: routine.h:67
virtual void set_client_collation_id(Object_id client_collation_id)=0
virtual void set_deterministic(bool deterministic)=0
virtual ulonglong sql_mode() const =0
virtual bool update_id_key(Id_key *key) const
Definition: routine.h:72
enum_sql_data_access
Definition: routine.h:90
@ SDA_READS_SQL_DATA
Definition: routine.h:93
@ SDA_NO_SQL
Definition: routine.h:92
@ SDA_MODIFIES_SQL_DATA
Definition: routine.h:94
@ SDA_CONTAINS_SQL
Definition: routine.h:91
virtual bool is_deterministic() const =0
virtual void set_schema_id(Object_id schema_id)=0
virtual void set_created(ulonglong created)=0
Collection< Parameter * > Parameter_collection
Definition: routine.h:69
enum_routine_type
Definition: routine.h:88
@ RT_PROCEDURE
Definition: routine.h:88
@ RT_FUNCTION
Definition: routine.h:88
virtual Object_id client_collation_id() const =0
~Routine() override=default
tables::Routines DD_table
Definition: routine.h:65
virtual ulonglong created(bool convert_time) const =0
virtual bool update_name_key(Name_key *key) const
Definition: routine.h:78
Routine_impl Impl
Definition: routine.h:63
virtual const Parameter_collection & parameters() const =0
virtual void set_definition(const String_type &definition)=0
virtual Routine * clone() const =0
Allocate a new object graph and invoke the copy constructor for each object.
static void create_mdl_key(enum_routine_type type, const String_type &schema_name, const String_type &name, MDL_key *key)
Definition: routine_impl.cc:284
virtual void set_definition_utf8(const String_type &definition_utf8)=0
virtual Routine * clone_dropped_object_placeholder() const =0
Allocate a new object which can serve as a placeholder for the original object in the Dictionary_clie...
Routine Cache_partition
Definition: routine.h:64
virtual void set_connection_collation_id(Object_id connection_collation_id)=0
virtual const String_type & definition() const =0
virtual const String_type & definer_user() const =0
virtual const String_type & definer_host() const =0
enum_security_type
Definition: view.h:62
Definition: object_keys.h:54
Definition: routines.h:43
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
unsigned long long Object_id
Definition: object_id.h:31
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
required string key
Definition: replication_asynchronous_connection_failover.proto:60
Definition: m_ctype.h:385
Metadata lock object key.
Definition: mdl.h:365