MySQL  8.0.20
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:
dd::Entity_object dd::Weak_object dd::Abstract_table_impl dd::Table dd::View dd::Table_impl dd::View_impl dd::Table_impl dd::View_impl

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
virtual ~Abstract_table ()
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 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 contructor for each object. 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 ()
 Weak_object (const Weak_object &)=default
virtual ~Weak_object ()

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.

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.


Constructor & Destructor Documentation

◆ ~Abstract_table()

virtual dd::Abstract_table::~Abstract_table ( )

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 contructor for each object.

pointer to dynamically allocated copy

Implemented in dd::Table_impl, dd::Table, dd::View_impl, 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

◆ 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

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

◆ 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::View_impl, and dd::Table_impl.

◆ update_aux_key()

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

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

◆ update_id_key() [2/2]

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

◆ update_name_key() [1/2]

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

◆ update_name_key() [2/2]

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

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