23#ifndef DD__ABSTRACT_TABLE_INCLUDED
24#define DD__ABSTRACT_TABLE_INCLUDED
35class Abstract_table_impl;
40class Se_private_id_key;
Definition: abstract_table_impl.h:57
Abstract base class for tables and views.
Definition: abstract_table.h:68
virtual const Properties & options() const =0
virtual Column_collection * columns()=0
virtual uint mysql_version_id() const =0
Abstract_table_impl Impl
Definition: abstract_table.h:70
virtual Column * add_column()=0
virtual bool set_options(const Properties &options)=0
Collection< Column * > Column_collection
Definition: abstract_table.h:76
virtual Abstract_table * clone_dropped_object_placeholder() const =0
Allocate a new object which can serve as a placeholder for the original object in the Dictionary_clie...
virtual bool update_name_key(Name_key *key) const
Definition: abstract_table.h:85
Se_private_id_key Aux_key
Definition: abstract_table.h:75
virtual bool update_id_key(Id_key *key) const
Definition: abstract_table.h:79
virtual void set_created(ulonglong created)=0
virtual bool set_options(const String_type &options_raw)=0
~Abstract_table() override=default
virtual void set_schema_id(Object_id schema_id)=0
virtual ulonglong created(bool convert_time) const =0
virtual enum_table_type type() const =0
virtual const Column * get_column(const String_type &name) const =0
Primary_id_key Id_key
Definition: abstract_table.h:73
virtual ulonglong last_altered(bool convert_time) const =0
Item_name_key Name_key
Definition: abstract_table.h:74
tables::Tables DD_table
Definition: abstract_table.h:72
virtual Abstract_table * clone() const =0
Allocate a new object graph and invoke the copy constructor for each object.
virtual enum_hidden_type hidden() const =0
virtual bool update_aux_key(Aux_key *) const
Definition: abstract_table.h:92
Abstract_table Cache_partition
Definition: abstract_table.h:71
virtual const Column_collection & columns() const =0
virtual bool drop_column(const String_type &name)=0
virtual Object_id schema_id() const =0
enum_hidden_type
Enumeration type which indicates whether the table is hidden, and if yes then which type of hidden ta...
Definition: abstract_table.h:102
@ HT_HIDDEN_SYSTEM
Definition: abstract_table.h:106
@ HT_HIDDEN_SE
Definition: abstract_table.h:111
@ HT_HIDDEN_DDL
Definition: abstract_table.h:115
@ HT_VISIBLE
Definition: abstract_table.h:104
virtual void set_hidden(enum_hidden_type hidden)=0
virtual Properties & options()=0
virtual void set_last_altered(ulonglong last_altered)=0
Definition: collection.h:43
Base class for dictionary objects which has single column integer primary key.
Definition: entity_object.h:47
virtual const String_type & name() const =0
Definition: object_keys.h:165
Definition: object_keys.h:76
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:73
Definition: object_keys.h:218
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
unsigned long long Object_id
Definition: object_id.h:30
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:50
enum_table_type
Definition: abstract_table.h:52
Definition: options.cc:56
required string key
Definition: replication_asynchronous_connection_failover.proto:59