24#ifndef DD__FUNCTION_INCLUDED
25#define DD__FUNCTION_INCLUDED
virtual const String_type & name() const =0
Definition: function_impl.h:52
Definition: function.h:39
virtual void set_result_datetime_precision(uint datetime_precision)=0
virtual void set_result_collation_id(Object_id collation_id)=0
static void create_mdl_key(const String_type &schema_name, const String_type &name, MDL_key *key)
Definition: function.h:140
virtual enum_column_types result_data_type() const =0
virtual const String_type & result_data_type_utf8() const =0
virtual void set_result_zerofill(bool zerofill)=0
virtual bool is_result_data_type_null() const =0
virtual void set_result_unsigned(bool unsigned_flag)=0
virtual bool result_is_unsigned() const =0
virtual size_t result_char_length() const =0
virtual Object_id result_collation_id() const =0
virtual void set_result_char_length(size_t char_length)=0
virtual void set_result_numeric_precision(uint numeric_precision)=0
Function * clone() const override=0
Allocate a new object graph and invoke the copy constructor for each object.
virtual uint result_numeric_precision() const =0
virtual void set_result_numeric_scale_null(bool is_null)=0
Function * clone_dropped_object_placeholder() const override=0
Allocate a new object which can serve as a placeholder for the original object in the Dictionary_clie...
virtual uint result_datetime_precision() const =0
~Function() override=default
virtual bool is_result_numeric_scale_null() const =0
virtual void set_result_data_type(enum_column_types type)=0
virtual void set_result_data_type_utf8(const String_type &result_data_type_utf8)=0
virtual bool result_is_zerofill() const =0
bool update_name_key(Name_key *key) const override
Definition: function.h:43
Function_impl Impl
Definition: function.h:41
virtual void set_result_numeric_scale(uint numeric_scale)=0
virtual void set_result_data_type_null(bool is_null)=0
virtual uint result_numeric_scale() const =0
Definition: object_keys.h:435
Abstract base class for functions and procedures.
Definition: routine.h:61
virtual bool update_routine_name_key(Name_key *key, Object_id schema_id, const String_type &name) const =0
virtual Object_id schema_id() const =0
virtual enum_routine_type type() const =0
Routine_name_key Name_key
Definition: routine.h:67
@ RT_FUNCTION
Definition: routine.h:88
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:290
Some integer typedefs for easier portability.
constexpr value_type zerofill
Definition: classic_protocol_constants.h:274
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
unsigned long long Object_id
Definition: object_id.h:31
enum_column_types
Definition: column.h:53
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
required string key
Definition: replication_asynchronous_connection_failover.proto:60
Metadata lock object key.
Definition: mdl.h:365