MySQL 8.4.0
Source Code Documentation
dd::View_impl Class Reference

#include <view_impl.h>

Inheritance diagram for dd::View_impl:
[legend]

Public Member Functions

 View_impl ()
 
 ~View_impl () override=default
 
bool validate () const override
 
bool restore_children (Open_dictionary_tables_ctx *otx) override
 
bool store_children (Open_dictionary_tables_ctx *otx) override
 
bool drop_children (Open_dictionary_tables_ctx *otx) const override
 
void remove_children () override
 Clear View columns, View_tables and View_routines collections. More...
 
bool restore_attributes (const Raw_record &r) override
 
bool store_attributes (Raw_record *r) override
 
void debug_print (String_type &outb) const override
 
enum_table_type type () const override
 
void set_system_view (bool system_view) override
 
Object_id client_collation_id () const override
 
void set_client_collation_id (Object_id client_collation_id) override
 
Object_id connection_collation_id () const override
 
void set_connection_collation_id (Object_id connection_collation_id) override
 
const String_typedefinition () const override
 
void set_definition (const String_type &definition) override
 
const String_typedefinition_utf8 () const override
 
void set_definition_utf8 (const String_type &definition_utf8) override
 
enum_check_option check_option () const override
 
void set_check_option (enum_check_option check_option) override
 
bool is_updatable () const override
 
void set_updatable (bool updatable) override
 
enum_algorithm algorithm () const override
 
void set_algorithm (enum_algorithm algorithm) override
 
enum_security_type security_type () const override
 
void set_security_type (enum_security_type security_type) override
 
const String_typedefiner_user () const override
 
const String_typedefiner_host () const override
 
void set_definer (const String_type &username, const String_type &hostname) override
 
const Propertiescolumn_names () const override
 
Propertiescolumn_names () override
 
View_tableadd_table () override
 
const View_tablestables () const override
 
View_routineadd_routine () override
 
const View_routinesroutines () const override
 
Entity_object_implimpl () override
 
const Entity_object_implimpl () const override
 
Object_id id () const override
 The unique dictionary object id. More...
 
bool is_persistent () const override
 Is dictionary object persistent in dictionary tables ? More...
 
const String_typename () const override
 
void set_name (const String_type &name) override
 
Object_id schema_id () const override
 
void set_schema_id (Object_id schema_id) override
 
uint mysql_version_id () const override
 
const Propertiesoptions () const override
 
Propertiesoptions () override
 
bool set_options (const Properties &options) override
 
bool set_options (const String_type &options_raw) override
 
ulonglong created (bool convert_time) const override
 
void set_created (ulonglong created) override
 
ulonglong last_altered (bool convert_time) const override
 
void set_last_altered (ulonglong last_altered) override
 
Columnadd_column () override
 
bool drop_column (const String_type &name) override
 
const Column_collectioncolumns () const override
 
Column_collectioncolumns () override
 
const Columnget_column (const String_type &name) const override
 
Columnget_column (const String_type &name)
 
enum_hidden_type hidden () const override
 
void set_hidden (enum_hidden_type hidden) override
 
- Public Member Functions inherited from dd::Abstract_table_impl
const Object_tableobject_table () const override
 
const Columnget_column (Object_id column_id) const
 
Columnget_column (Object_id column_id)
 
Columnget_column (const String_type &name)
 
- Public Member Functions inherited from dd::Entity_object_impl
 Entity_object_impl ()
 
void set_id (Object_id id)
 
Object_keycreate_primary_key () const override
 
bool has_new_primary_key () const override
 Indicates that object is guaranteed to have primary key value which doesn't exist in database (e.g. More...
 
- Public Member Functions inherited from dd::Weak_object
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 
- Public Member Functions inherited from dd::Weak_object_impl_< use_pfs >
 Weak_object_impl_ ()=default
 
 ~Weak_object_impl_ () override=default
 
void * operator new (size_t size, const std::nothrow_t &nt) noexcept
 
void operator delete (void *ptr, const std::nothrow_t &nt) noexcept
 
void * operator new (size_t size) noexcept
 
void operator delete (void *ptr) noexcept
 
virtual bool store (Open_dictionary_tables_ctx *otx)
 Store the DD object into DD table. More...
 
bool drop (Open_dictionary_tables_ctx *otx) const
 Drop the DD object from DD table. More...
 
- Public Member Functions inherited from dd::Abstract_table
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
 
- Public Member Functions inherited from dd::View
 ~View () override=default
 
bool is_system_view () const
 

Static Public Member Functions

static void register_tables (Open_dictionary_tables_ctx *otx)
 
- Static Public Member Functions inherited from dd::Abstract_table_impl
static void register_tables (Open_dictionary_tables_ctx *otx)
 
- Static Public Member Functions inherited from dd::Abstract_table
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)
 

Private Member Functions

 View_impl (const View_impl &src)
 
View_implclone () const override
 Allocate a new object graph and invoke the copy constructor for each object. More...
 
View_implclone_dropped_object_placeholder () const override
 Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry. More...
 

Private Attributes

enum_table_type m_type
 
bool m_is_updatable
 
enum_check_option m_check_option
 
enum_algorithm m_algorithm
 
enum_security_type m_security_type
 
String_type m_definition
 
String_type m_definition_utf8
 
String_type m_definer_user
 
String_type m_definer_host
 
Properties_impl m_column_names
 
View_tables m_tables
 
View_routines m_routines
 
Object_id m_client_collation_id
 
Object_id m_connection_collation_id
 

Additional Inherited Members

- Public Types inherited from dd::Abstract_table
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 Types inherited from dd::View
enum  enum_check_option { CO_NONE = 1 , CO_LOCAL , CO_CASCADED }
 
enum  enum_algorithm { VA_UNDEFINED = 1 , VA_TEMPORARY_TABLE , VA_MERGE }
 
enum  enum_security_type { ST_DEFAULT = 1 , ST_INVOKER , ST_DEFINER }
 
typedef Collection< View_table * > View_tables
 
typedef Collection< View_routine * > View_routines
 
typedef View_impl Impl
 
- Protected Member Functions inherited from dd::Abstract_table_impl
void serialize (Sdi_wcontext *wctx, Sdi_writer *w) const
 
bool deserialize (Sdi_rcontext *rctx, const RJ_Value &val)
 
 Abstract_table_impl ()
 
 ~Abstract_table_impl () override=default
 
 Abstract_table_impl (const Abstract_table_impl &src)
 
- Protected Member Functions inherited from dd::Entity_object_impl
void set_primary_key_value (const Raw_new_record &r) override
 
void fix_has_new_primary_key () override
 
void restore_id (const Raw_record &r, int field_idx)
 
void restore_name (const Raw_record &r, int field_idx)
 
bool store_id (Raw_record *r, int field_idx)
 
bool store_name (Raw_record *r, int field_idx)
 
bool store_name (Raw_record *r, int field_idx, bool is_null)
 
void serialize (Sdi_wcontext *wctx, Sdi_writer *w) const
 
bool deserialize (Sdi_rcontext *rctx, const RJ_Value &val)
 
 Entity_object_impl (const Entity_object_impl &src)
 
- Protected Member Functions inherited from dd::Weak_object_impl_< use_pfs >
bool check_parent_consistency (Entity_object_impl *parent, Object_id parent_id) const
 

Constructor & Destructor Documentation

◆ View_impl() [1/2]

dd::View_impl::View_impl ( )

◆ ~View_impl()

dd::View_impl::~View_impl ( )
overridedefault

◆ View_impl() [2/2]

dd::View_impl::View_impl ( const View_impl src)
private

Member Function Documentation

◆ add_column()

Column * dd::View_impl::add_column ( )
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ add_routine()

View_routine * dd::View_impl::add_routine ( )
overridevirtual

Implements dd::View.

◆ add_table()

View_table * dd::View_impl::add_table ( )
overridevirtual

Implements dd::View.

◆ algorithm()

enum_algorithm dd::View_impl::algorithm ( ) const
inlineoverridevirtual

Implements dd::View.

◆ check_option()

enum_check_option dd::View_impl::check_option ( ) const
inlineoverridevirtual

Implements dd::View.

◆ client_collation_id()

Object_id dd::View_impl::client_collation_id ( ) const
inlineoverridevirtual

Implements dd::View.

◆ clone()

View_impl * dd::View_impl::clone ( ) const
inlineoverrideprivatevirtual

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

Returns
pointer to dynamically allocated copy

Implements dd::View.

◆ clone_dropped_object_placeholder()

View_impl * dd::View_impl::clone_dropped_object_placeholder ( ) const
inlineoverrideprivatevirtual

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.

Implements dd::View.

◆ column_names() [1/2]

const Properties & dd::View_impl::column_names ( ) const
inlineoverridevirtual

Implements dd::View.

◆ column_names() [2/2]

Properties & dd::View_impl::column_names ( )
inlineoverridevirtual

Implements dd::View.

◆ columns() [1/2]

const Column_collection & dd::View_impl::columns ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ columns() [2/2]

Column_collection * dd::View_impl::columns ( )
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ connection_collation_id()

Object_id dd::View_impl::connection_collation_id ( ) const
inlineoverridevirtual

Implements dd::View.

◆ created()

ulonglong dd::View_impl::created ( bool  convert_time) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ debug_print()

void dd::View_impl::debug_print ( String_type outb) const
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ definer_host()

const String_type & dd::View_impl::definer_host ( ) const
inlineoverridevirtual

Implements dd::View.

◆ definer_user()

const String_type & dd::View_impl::definer_user ( ) const
inlineoverridevirtual

Implements dd::View.

◆ definition()

const String_type & dd::View_impl::definition ( ) const
inlineoverridevirtual

Implements dd::View.

◆ definition_utf8()

const String_type & dd::View_impl::definition_utf8 ( ) const
inlineoverridevirtual

Implements dd::View.

◆ drop_children()

bool dd::View_impl::drop_children ( Open_dictionary_tables_ctx otx) const
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ drop_column()

bool dd::View_impl::drop_column ( const String_type name)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ get_column() [1/2]

Column * dd::View_impl::get_column ( const String_type name)
inline

◆ get_column() [2/2]

const Column * dd::View_impl::get_column ( const String_type name) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ hidden()

enum_hidden_type dd::View_impl::hidden ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ id()

Object_id dd::View_impl::id ( ) const
inlineoverridevirtual

The unique dictionary object id.

Reimplemented from dd::Abstract_table_impl.

◆ impl() [1/2]

const Entity_object_impl * dd::View_impl::impl ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ impl() [2/2]

Entity_object_impl * dd::View_impl::impl ( )
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ is_persistent()

bool dd::View_impl::is_persistent ( ) const
inlineoverridevirtual

Is dictionary object persistent in dictionary tables ?

Reimplemented from dd::Abstract_table_impl.

◆ is_updatable()

bool dd::View_impl::is_updatable ( ) const
inlineoverridevirtual

Implements dd::View.

◆ last_altered()

ulonglong dd::View_impl::last_altered ( bool  convert_time) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ mysql_version_id()

uint dd::View_impl::mysql_version_id ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ name()

const String_type & dd::View_impl::name ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ options() [1/2]

const Properties & dd::View_impl::options ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ options() [2/2]

Properties & dd::View_impl::options ( )
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ register_tables()

void dd::View_impl::register_tables ( Open_dictionary_tables_ctx otx)
static

◆ remove_children()

void dd::View_impl::remove_children ( )
overridevirtual

Clear View columns, View_tables and View_routines collections.

Implements dd::View.

◆ restore_attributes()

bool dd::View_impl::restore_attributes ( const Raw_record r)
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ restore_children()

bool dd::View_impl::restore_children ( Open_dictionary_tables_ctx otx)
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ routines()

const View_routines & dd::View_impl::routines ( ) const
inlineoverridevirtual

Implements dd::View.

◆ schema_id()

Object_id dd::View_impl::schema_id ( ) const
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ security_type()

enum_security_type dd::View_impl::security_type ( ) const
inlineoverridevirtual

Implements dd::View.

◆ set_algorithm()

void dd::View_impl::set_algorithm ( enum_algorithm  algorithm)
inlineoverridevirtual

Implements dd::View.

◆ set_check_option()

void dd::View_impl::set_check_option ( enum_check_option  check_option)
inlineoverridevirtual

Implements dd::View.

◆ set_client_collation_id()

void dd::View_impl::set_client_collation_id ( Object_id  client_collation_id)
inlineoverridevirtual

Implements dd::View.

◆ set_connection_collation_id()

void dd::View_impl::set_connection_collation_id ( Object_id  connection_collation_id)
inlineoverridevirtual

Implements dd::View.

◆ set_created()

void dd::View_impl::set_created ( ulonglong  created)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_definer()

void dd::View_impl::set_definer ( const String_type username,
const String_type hostname 
)
inlineoverridevirtual

Implements dd::View.

◆ set_definition()

void dd::View_impl::set_definition ( const String_type definition)
inlineoverridevirtual

Implements dd::View.

◆ set_definition_utf8()

void dd::View_impl::set_definition_utf8 ( const String_type definition_utf8)
inlineoverridevirtual

Implements dd::View.

◆ set_hidden()

void dd::View_impl::set_hidden ( enum_hidden_type  hidden)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_last_altered()

void dd::View_impl::set_last_altered ( ulonglong  last_altered)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_name()

void dd::View_impl::set_name ( const String_type name)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_options() [1/2]

bool dd::View_impl::set_options ( const Properties options)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_options() [2/2]

bool dd::View_impl::set_options ( const String_type options_raw)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_schema_id()

void dd::View_impl::set_schema_id ( Object_id  schema_id)
inlineoverridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ set_security_type()

void dd::View_impl::set_security_type ( enum_security_type  security_type)
inlineoverridevirtual

Implements dd::View.

◆ set_system_view()

void dd::View_impl::set_system_view ( bool  system_view)
inlineoverridevirtual

Implements dd::View.

◆ set_updatable()

void dd::View_impl::set_updatable ( bool  updatable)
inlineoverridevirtual

Implements dd::View.

◆ store_attributes()

bool dd::View_impl::store_attributes ( Raw_record r)
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ store_children()

bool dd::View_impl::store_children ( Open_dictionary_tables_ctx otx)
overridevirtual

Reimplemented from dd::Abstract_table_impl.

◆ tables()

const View_tables & dd::View_impl::tables ( ) const
inlineoverridevirtual

Implements dd::View.

◆ type()

enum_table_type dd::View_impl::type ( ) const
inlineoverridevirtual

Implements dd::Abstract_table.

◆ validate()

bool dd::View_impl::validate ( ) const
overridevirtual

Reimplemented from dd::Abstract_table_impl.

Member Data Documentation

◆ m_algorithm

enum_algorithm dd::View_impl::m_algorithm
private

◆ m_check_option

enum_check_option dd::View_impl::m_check_option
private

◆ m_client_collation_id

Object_id dd::View_impl::m_client_collation_id
private

◆ m_column_names

Properties_impl dd::View_impl::m_column_names
private

◆ m_connection_collation_id

Object_id dd::View_impl::m_connection_collation_id
private

◆ m_definer_host

String_type dd::View_impl::m_definer_host
private

◆ m_definer_user

String_type dd::View_impl::m_definer_user
private

◆ m_definition

String_type dd::View_impl::m_definition
private

◆ m_definition_utf8

String_type dd::View_impl::m_definition_utf8
private

◆ m_is_updatable

bool dd::View_impl::m_is_updatable
private

◆ m_routines

View_routines dd::View_impl::m_routines
private

◆ m_security_type

enum_security_type dd::View_impl::m_security_type
private

◆ m_tables

View_tables dd::View_impl::m_tables
private

◆ m_type

enum_table_type dd::View_impl::m_type
private

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