24#ifndef DD__TABLE_INCLUDED
25#define DD__TABLE_INCLUDED
40class Check_constraint;
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
This class represents a trigger object.
Definition: trigger.h:75
Abstract base class for tables and views.
Definition: abstract_table.h:69
Se_private_id_key Aux_key
Definition: abstract_table.h:76
Definition: check_constraint.h:42
Definition: collection.h:44
virtual const String_type & name() const =0
Definition: foreign_key.h:47
Definition: partition.h:51
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:74
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:231
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:129
Definition: object_keys.h:219
Definition: table_impl.h:68
virtual const Trigger * get_trigger(const char *name) const =0
Get dd::Trigger object for the given trigger name.
virtual const Partition_leaf_vector & leaf_partitions() const =0
virtual bool is_temporary() const =0
virtual Index_collection * indexes()=0
virtual const Index_collection & indexes() const =0
virtual Partition * add_partition()=0
virtual void copy_triggers(const Table *tab_obj)=0
Copy all the triggers from another dd::Table object.
virtual Index * add_first_index()=0
Collection< Trigger * > Trigger_collection
Definition: table.h:54
Table * 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 LEX_CSTRING engine_attribute() const =0
Collection< Check_constraint * > Check_constraint_collection
Definition: table.h:55
virtual Check_constraint_collection * check_constraints()=0
virtual void set_se_private_id(Object_id se_private_id)=0
virtual const Partition_collection & partitions() const =0
virtual enum_partition_type partition_type() const =0
virtual Partition_collection * partitions()=0
virtual Trigger * add_trigger_following(const Trigger *trigger, Trigger::enum_action_timing at, Trigger::enum_event_type et)=0
Add new trigger just after the trigger specified in argument.
virtual LEX_CSTRING secondary_engine_attribute() const =0
virtual void set_secondary_engine_attribute(LEX_CSTRING attrs)=0
std::vector< Foreign_key_parent * > Foreign_key_parent_collection
Definition: table.h:52
virtual Object_id tablespace_id() const =0
~Table() override=default
virtual const Check_constraint_collection & check_constraints() const =0
virtual void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const =0
Converts *this into json.
std::vector< Partition * > Partition_leaf_vector
Definition: table.h:65
virtual void set_collation_id(Object_id collation_id)=0
virtual void set_subpartition_type(enum_subpartition_type subpartition_type)=0
virtual void mark_as_checked_for_upgrade()=0
virtual bool set_se_private_data(const String_type &se_private_data_raw)=0
Collection< Index * > Index_collection
Definition: table.h:50
virtual const Foreign_key_parent_collection & foreign_key_parents() const =0
virtual void set_default_subpartitioning(enum_default_partitioning default_subpartitioning)=0
virtual bool has_trigger() const =0
Check if table has any triggers.
virtual Object_id collation_id() const =0
virtual void set_subpartition_expression(const String_type &subpartition_expression)=0
enum_row_format
Definition: table.h:80
@ RF_COMPRESSED
Definition: table.h:83
@ RF_FIXED
Definition: table.h:81
@ RF_REDUNDANT
Definition: table.h:84
@ RF_DYNAMIC
Definition: table.h:82
@ RF_COMPACT
Definition: table.h:85
@ RF_PAGED
Definition: table.h:86
virtual const Trigger_collection & triggers() const =0
Get const reference to Trigger_collection.
virtual Partition_leaf_vector * leaf_partitions()=0
virtual void set_is_temporary(bool is_temporary)=0
virtual const Properties & se_private_data() const =0
virtual void set_engine(const String_type &engine)=0
virtual void set_subpartition_expression_utf8(const String_type &subpartition_expression)=0
virtual enum_subpartition_type subpartition_type() const =0
virtual bool deserialize(Sdi_rcontext *rctx, const RJ_Value &val)=0
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provide...
virtual Index * add_index()=0
virtual bool reload_foreign_key_parents(THD *thd)=0
virtual Trigger_collection * triggers()=0
Get non-const pointer to Trigger_collection.
virtual void set_engine_attribute(LEX_CSTRING attrs)=0
virtual void drop_trigger(const Trigger *trigger)=0
Drop the given trigger object.
virtual void set_partition_type(enum_partition_type partition_type)=0
virtual void set_partition_expression_utf8(const String_type &partition_expression)=0
virtual void set_default_partitioning(enum_default_partitioning default_partitioning)=0
virtual enum_row_format row_format() const =0
virtual const String_type & partition_expression() const =0
virtual const String_type & comment() const =0
virtual uint last_checked_for_upgrade_version_id() const =0
virtual bool set_se_private_data(const Properties &se_private_data)=0
virtual const String_type & subpartition_expression_utf8() const =0
virtual bool is_explicit_tablespace() const =0
Collection< Foreign_key * > Foreign_key_collection
Definition: table.h:51
Table * clone() const override=0
Allocate a new object graph and invoke the copy constructor for each object.
virtual const String_type & engine() const =0
virtual Properties & se_private_data()=0
Table & table()
Definition: table.h:234
virtual Trigger * add_trigger_preceding(const Trigger *trigger, Trigger::enum_action_timing at, Trigger::enum_event_type et)=0
Add new trigger just before the trigger specified in argument.
virtual void set_partition_expression(const String_type &partition_expression)=0
Collection< Partition * > Partition_collection
Definition: table.h:53
virtual enum_default_partitioning default_partitioning() const =0
enum_partition_type
Definition: table.h:90
@ PT_NONE
Definition: table.h:91
@ PT_LINEAR_HASH
Definition: table.h:95
@ PT_LINEAR_KEY_55
Definition: table.h:97
@ PT_RANGE
Definition: table.h:98
@ PT_KEY_55
Definition: table.h:94
@ PT_KEY_51
Definition: table.h:93
@ PT_AUTO_LINEAR
Definition: table.h:103
@ PT_RANGE_COLUMNS
Definition: table.h:100
@ PT_LIST
Definition: table.h:99
@ PT_LINEAR_KEY_51
Definition: table.h:96
@ PT_HASH
Definition: table.h:92
@ PT_LIST_COLUMNS
Definition: table.h:101
@ PT_AUTO
Definition: table.h:102
enum_subpartition_type
Definition: table.h:106
@ ST_NONE
Definition: table.h:107
@ ST_LINEAR_KEY_51
Definition: table.h:112
@ ST_LINEAR_HASH
Definition: table.h:111
@ ST_KEY_55
Definition: table.h:110
@ ST_HASH
Definition: table.h:108
@ ST_LINEAR_KEY_55
Definition: table.h:113
@ ST_KEY_51
Definition: table.h:109
virtual void set_row_format(enum_row_format row_format)=0
virtual const Foreign_key_collection & foreign_keys() const =0
Table_impl Impl
Definition: table.h:49
virtual Trigger * add_trigger(Trigger::enum_action_timing at, Trigger::enum_event_type et)=0
Add new trigger to the table.
virtual void set_comment(const String_type &comment)=0
virtual Foreign_key_collection * foreign_keys()=0
virtual void set_tablespace_id(Object_id tablespace_id)=0
virtual const String_type & partition_expression_utf8() const =0
virtual void drop_all_triggers()=0
Drop all the trigger on this dd::Table object.
virtual Object_id se_private_id() const =0
bool update_aux_key(Aux_key *key) const override
Definition: table.h:69
virtual Foreign_key * add_foreign_key()=0
virtual Check_constraint * add_check_constraint()=0
enum_default_partitioning
Definition: table.h:117
@ DP_NO
Definition: table.h:117
@ DP_NONE
Definition: table.h:117
@ DP_NUMBER
Definition: table.h:117
@ DP_YES
Definition: table.h:117
virtual enum_default_partitioning default_subpartitioning() const =0
const Table & table() const
Dummy method to be able to use Partition and Table interchangeably in templates.
Definition: table.h:233
virtual const String_type & subpartition_expression() const =0
Class representing a Trigger in DD framework.
Definition: trigger.h:54
enum_event_type
Definition: trigger.h:60
enum_action_timing
Definition: trigger.h:62
#define MYSQL_VERSION_ID
Definition: mysql_version.h:15
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:64
unsigned long long Object_id
Definition: object_id.h:31
bool is_checked_for_upgrade(const Table &t)
Definition: table.h:464
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:49
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
partition_type
An enum and a struct to handle partitioning and subpartitioning.
Definition: partition_element.h:33
required string key
Definition: replication_asynchronous_connection_failover.proto:60
This header provides Rapidjson Type Aliases.
Definition: mysql_lex_string.h:40