MySQL 8.0.40
Source Code Documentation
dd::Abstract_table Class Referenceabstract

Abstract base class for tables and views. More...

#include <abstract_table.h>

Inheritance diagram for dd::Abstract_table:
[legend]

Public Types

enum  enum_hidden_type { HT_VISIBLE = 1 , HT_HIDDEN_SYSTEM , HT_HIDDEN_SE , HT_HIDDEN_DDL }
 Enumeration type which indicates whether the table is hidden, and if yes then which type of hidden table it is. More...
 
typedef Abstract_table_impl Impl
 
typedef Abstract_table Cache_partition
 
typedef tables::Tables DD_table
 
typedef Primary_id_key Id_key
 
typedef Item_name_key Name_key
 
typedef Se_private_id_key Aux_key
 
typedef Collection< Column * > Column_collection
 

Public Member Functions

virtual bool update_id_key (Id_key *key) const
 
virtual bool update_name_key (Name_key *key) const
 
virtual bool update_aux_key (Aux_key *) const
 
 ~Abstract_table () override=default
 
virtual Object_id schema_id () const =0
 
virtual void set_schema_id (Object_id schema_id)=0
 
virtual uint mysql_version_id () const =0
 
virtual const Propertiesoptions () const =0
 
virtual Propertiesoptions ()=0
 
virtual bool set_options (const Properties &options)=0
 
virtual bool set_options (const String_type &options_raw)=0
 
virtual ulonglong created (bool convert_time) const =0
 
virtual void set_created (ulonglong created)=0
 
virtual ulonglong last_altered (bool convert_time) const =0
 
virtual void set_last_altered (ulonglong last_altered)=0
 
virtual enum_table_type type () const =0
 
virtual enum_hidden_type hidden () const =0
 
virtual void set_hidden (enum_hidden_type hidden)=0
 
virtual Columnadd_column ()=0
 
virtual bool drop_column (const String_type &name)=0
 
virtual const Column_collectioncolumns () const =0
 
virtual Column_collectioncolumns ()=0
 
virtual const Columnget_column (const String_type &name) const =0
 
virtual Abstract_tableclone () const =0
 Allocate a new object graph and invoke the copy constructor for each object. More...
 
virtual Abstract_tableclone_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...
 
- Public Member Functions inherited from dd::Entity_object
virtual Object_id id () const =0
 The unique dictionary object id. More...
 
virtual bool is_persistent () const =0
 Is dictionary object persistent in dictionary tables ? More...
 
virtual const String_typename () const =0
 
virtual void set_name (const String_type &name)=0
 
- Public Member Functions inherited from dd::Weak_object
virtual void debug_print (String_type &outb) const =0
 
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 

Static Public Member Functions

static bool update_id_key (Id_key *key, Object_id id)
 
static bool update_name_key (Name_key *key, Object_id schema_id, const String_type &name)
 

Detailed Description

Abstract base class for tables and views.

Note
This class may be inherited along different paths for some subclasses due to the diamond shaped inheritance hierarchy; thus, direct subclasses must inherit this class virtually.

Member Typedef Documentation

◆ Aux_key

◆ Cache_partition

◆ Column_collection

◆ DD_table

◆ Id_key

◆ Impl

◆ Name_key

Member Enumeration Documentation

◆ enum_hidden_type

Enumeration type which indicates whether the table is hidden, and if yes then which type of hidden table it is.

Enumerator
HT_VISIBLE 
HT_HIDDEN_SYSTEM 
HT_HIDDEN_SE 
HT_HIDDEN_DDL 

Constructor & Destructor Documentation

◆ ~Abstract_table()

dd::Abstract_table::~Abstract_table ( )
overridedefault

Member Function Documentation

◆ add_column()

virtual Column * dd::Abstract_table::add_column ( )
pure virtual

◆ clone()

virtual Abstract_table * dd::Abstract_table::clone ( ) const
pure virtual

Allocate a new object graph and invoke the copy constructor for each object.

Returns
pointer to dynamically allocated copy

Implemented in dd::Table_impl, dd::View_impl, dd::Table, and dd::View.

◆ clone_dropped_object_placeholder()

virtual Abstract_table * dd::Abstract_table::clone_dropped_object_placeholder ( ) const
pure virtual

Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry.

Such object has the same keys as the original but has no other info and as result occupies less memory.

Implemented in dd::Table_impl, dd::View_impl, dd::Table, and dd::View.

◆ columns() [1/2]

virtual const Column_collection & dd::Abstract_table::columns ( ) const
pure virtual

◆ columns() [2/2]

virtual Column_collection * dd::Abstract_table::columns ( )
pure virtual

◆ created()

virtual ulonglong dd::Abstract_table::created ( bool  convert_time) const
pure virtual

◆ drop_column()

virtual bool dd::Abstract_table::drop_column ( const String_type name)
pure virtual

◆ get_column()

virtual const Column * dd::Abstract_table::get_column ( const String_type name) const
pure virtual

◆ hidden()

virtual enum_hidden_type dd::Abstract_table::hidden ( ) const
pure virtual

◆ last_altered()

virtual ulonglong dd::Abstract_table::last_altered ( bool  convert_time) const
pure virtual

◆ mysql_version_id()

virtual uint dd::Abstract_table::mysql_version_id ( ) const
pure virtual

◆ options() [1/2]

virtual const Properties & dd::Abstract_table::options ( ) const
pure virtual

◆ options() [2/2]

virtual Properties & dd::Abstract_table::options ( )
pure virtual

◆ schema_id()

virtual Object_id dd::Abstract_table::schema_id ( ) const
pure virtual

◆ set_created()

virtual void dd::Abstract_table::set_created ( ulonglong  created)
pure virtual

◆ set_hidden()

virtual void dd::Abstract_table::set_hidden ( enum_hidden_type  hidden)
pure virtual

◆ set_last_altered()

virtual void dd::Abstract_table::set_last_altered ( ulonglong  last_altered)
pure virtual

◆ set_options() [1/2]

virtual bool dd::Abstract_table::set_options ( const Properties options)
pure virtual

◆ set_options() [2/2]

virtual bool dd::Abstract_table::set_options ( const String_type options_raw)
pure virtual

◆ set_schema_id()

virtual void dd::Abstract_table::set_schema_id ( Object_id  schema_id)
pure virtual

◆ type()

virtual enum_table_type dd::Abstract_table::type ( ) const
pure virtual

Implemented in dd::Table_impl, and dd::View_impl.

◆ update_aux_key()

virtual bool dd::Abstract_table::update_aux_key ( Aux_key ) const
inlinevirtual

Reimplemented in dd::Table_impl, and dd::Table.

◆ update_id_key() [1/2]

virtual bool dd::Abstract_table::update_id_key ( Id_key key) const
inlinevirtual

◆ update_id_key() [2/2]

bool dd::Abstract_table::update_id_key ( Id_key key,
Object_id  id 
)
static

◆ update_name_key() [1/2]

virtual bool dd::Abstract_table::update_name_key ( Name_key key) const
inlinevirtual

◆ update_name_key() [2/2]

bool dd::Abstract_table::update_name_key ( Name_key key,
Object_id  schema_id,
const String_type name 
)
static

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