MySQL 8.0.39
Source Code Documentation
|
#include <table_impl.h>
Public Member Functions | |
Table_impl () | |
~Table_impl () override | |
enum_table_type | type () const override |
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 |
bool | restore_attributes (const Raw_record &r) override |
bool | store_attributes (Raw_record *r) override |
void | serialize (Sdi_wcontext *wctx, Sdi_writer *w) const override |
Converts *this into json. More... | |
bool | deserialize (Sdi_rcontext *rctx, const RJ_Value &val) override |
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provided. More... | |
void | debug_print (String_type &outb) const override |
bool | is_temporary () const override |
void | set_is_temporary (bool is_temporary) override |
Object_id | collation_id () const override |
void | set_collation_id (Object_id collation_id) override |
Object_id | tablespace_id () const override |
void | set_tablespace_id (Object_id tablespace_id) override |
bool | is_explicit_tablespace () const override |
const String_type & | engine () const override |
void | set_engine (const String_type &engine) override |
enum_row_format | row_format () const override |
void | set_row_format (enum_row_format row_format) override |
const String_type & | comment () const override |
void | set_comment (const String_type &comment) override |
uint | last_checked_for_upgrade_version_id () const override |
void | mark_as_checked_for_upgrade () override |
const Properties & | se_private_data () const override |
Properties & | se_private_data () override |
bool | set_se_private_data (const String_type &se_private_data_raw) override |
bool | set_se_private_data (const Properties &se_private_data) override |
Object_id | se_private_id () const override |
void | set_se_private_id (Object_id se_private_id) override |
LEX_CSTRING | engine_attribute () const override |
void | set_engine_attribute (LEX_CSTRING a) override |
LEX_CSTRING | secondary_engine_attribute () const override |
void | set_secondary_engine_attribute (LEX_CSTRING a) override |
enum_partition_type | partition_type () const override |
void | set_partition_type (enum_partition_type partition_type) override |
enum_default_partitioning | default_partitioning () const override |
void | set_default_partitioning (enum_default_partitioning default_partitioning) override |
const String_type & | partition_expression () const override |
void | set_partition_expression (const String_type &partition_expression) override |
const String_type & | partition_expression_utf8 () const override |
void | set_partition_expression_utf8 (const String_type &partition_expression_utf8) override |
enum_subpartition_type | subpartition_type () const override |
void | set_subpartition_type (enum_subpartition_type subpartition_type) override |
enum_default_partitioning | default_subpartitioning () const override |
void | set_default_subpartitioning (enum_default_partitioning default_subpartitioning) override |
const String_type & | subpartition_expression () const override |
void | set_subpartition_expression (const String_type &subpartition_expression) override |
const String_type & | subpartition_expression_utf8 () const override |
void | set_subpartition_expression_utf8 (const String_type &subpartition_expression_utf8) override |
Index * | add_index () override |
Index * | add_first_index () override |
const Index_collection & | indexes () const override |
Index_collection * | indexes () override |
const Index * | get_index (Object_id index_id) const |
Index * | get_index (Object_id index_id) |
Foreign_key * | add_foreign_key () override |
const Foreign_key_collection & | foreign_keys () const override |
Foreign_key_collection * | foreign_keys () override |
virtual Foreign_key_parent * | add_foreign_key_parent () |
bool | reload_foreign_key_parents (THD *thd) override |
const Foreign_key_parent_collection & | foreign_key_parents () const override |
Partition * | add_partition () override |
const Partition_collection & | partitions () const override |
Partition_collection * | partitions () override |
const Partition_leaf_vector & | leaf_partitions () const override |
Partition_leaf_vector * | leaf_partitions () override |
void | add_leaf_partition (Partition *p) |
const Partition * | get_partition (Object_id partition_id) const |
Partition * | get_partition (Object_id partition_id) |
Partition * | get_partition (const String_type &name) |
Entity_object_impl * | impl () override |
const Entity_object_impl * | impl () 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_type & | name () 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 Properties & | options () const override |
Properties & | options () 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 |
Column * | add_column () override |
bool | drop_column (const String_type &name) override |
const Column_collection & | columns () const override |
Column_collection * | columns () override |
const Column * | get_column (Object_id column_id) const |
Column * | get_column (Object_id column_id) |
const Column * | get_column (const String_type &name) const override |
Column * | get_column (const String_type &name) |
bool | update_aux_key (Aux_key *key) const override |
enum_hidden_type | hidden () const override |
void | set_hidden (enum_hidden_type hidden) override |
bool | has_trigger () const override |
Check if table has any triggers. More... | |
const Trigger_collection & | triggers () const override |
Get const reference to Trigger_collection. More... | |
Trigger_collection * | triggers () override |
Get non-const pointer to Trigger_collection. More... | |
void | copy_triggers (const Table *tab_obj) override |
Copy all the triggers from another dd::Table object. More... | |
Trigger * | add_trigger (Trigger::enum_action_timing at, Trigger::enum_event_type et) override |
Add new trigger to the table. More... | |
const Trigger * | get_trigger (const char *name) const override |
Get dd::Trigger object for the given trigger name. More... | |
Trigger * | add_trigger_following (const Trigger *trigger, Trigger::enum_action_timing at, Trigger::enum_event_type et) override |
Add new trigger just after the trigger specified in argument. More... | |
Trigger * | add_trigger_preceding (const Trigger *trigger, Trigger::enum_action_timing at, Trigger::enum_event_type et) override |
Add new trigger just before the trigger specified in argument. More... | |
void | drop_trigger (const Trigger *trigger) override |
Drop the given trigger object. More... | |
void | drop_all_triggers () override |
Drop all the trigger on this dd::Table object. More... | |
Check_constraint * | add_check_constraint () override |
const Check_constraint_collection & | check_constraints () const override |
Check_constraint_collection * | check_constraints () override |
Public Member Functions inherited from dd::Abstract_table_impl | |
const Object_table & | object_table () const override |
const Column * | get_column (Object_id column_id) const |
Column * | get_column (Object_id column_id) |
Column * | get_column (const String_type &name) |
Public Member Functions inherited from dd::Entity_object_impl | |
Entity_object_impl () | |
void | set_id (Object_id id) |
Object_key * | create_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 |
~Abstract_table () override=default | |
Public Member Functions inherited from dd::Table | |
bool | update_aux_key (Aux_key *key) const override |
~Table () override=default | |
const Table & | table () const |
Dummy method to be able to use Partition and Table interchangeably in templates. More... | |
Table & | table () |
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) |
Static Public Member Functions inherited from dd::Table | |
static bool | update_aux_key (Aux_key *key, const String_type &engine, Object_id se_private_id) |
Private Member Functions | |
bool | store_triggers (Open_dictionary_tables_ctx *otx) |
Store the trigger object in DD table. More... | |
bool | load_foreign_key_parents (Open_dictionary_tables_ctx *otx) |
uint | get_max_action_order (Trigger::enum_action_timing at, Trigger::enum_event_type et) const |
void | reorder_action_order (Trigger::enum_action_timing at, Trigger::enum_event_type et) |
Trigger_impl * | create_trigger () |
Table_impl (const Table_impl &src) | |
Table_impl * | clone () const override |
Allocate a new object graph and invoke the copy constructor for each object. More... | |
Table_impl * | clone_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... | |
dd::Table_impl::Table_impl | ( | ) |
|
override |
|
private |
|
overridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
overridevirtual |
Implements dd::Table.
|
virtual |
|
inline |
|
overridevirtual |
Add new trigger to the table.
at | - Action timing of the trigger to be added. |
et | - Event type of the trigger to be added. |
Implements dd::Table.
|
overridevirtual |
Add new trigger just after the trigger specified in argument.
trigger | - dd::Trigger object after which the new trigger should be created. |
at | - Action timing of the trigger to be added. |
et | - Event type of the trigger to be added. |
Implements dd::Table.
|
overridevirtual |
Add new trigger just before the trigger specified in argument.
trigger | - dd::Trigger object before which the new trigger should be created. |
at | - Action timing of the trigger to be added. |
et | - Event type of the trigger to be added. |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverrideprivatevirtual |
Allocate a new object graph and invoke the copy constructor for each object.
Implements dd::Table.
|
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::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
overridevirtual |
Copy all the triggers from another dd::Table object.
tab_obj | Pointer to Table from which the triggers are copied. |
Implements dd::Table.
|
private |
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
overridevirtual |
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provided.
Cross-references encountered within this object are tracked in sdictx, so that they can be updated when the entire object graph has been established.
rctx | stores book-keeping information for the deserialization process |
val | subobject of rapidjson DOM containing json representation of this object |
Implements dd::Table.
|
overridevirtual |
Drop all the trigger on this dd::Table object.
The method returns void, as we just remove the trigger from dd::Collection (dd::Table_impl::m_triggers) in memory. The trigger will be removed from mysql.triggers DD table when the dd::Table object is stored/updated.
Implements dd::Table.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
overridevirtual |
Drop the given trigger object.
The method returns void, as we just remove the trigger from dd::Collection (dd::Table_impl::m_triggers) in memory. The trigger will be removed from mysql.triggers DD table when the dd::Table object is stored/updated.
trigger | - dd::Trigger object to be dropped. |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inline |
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
private |
Partition * dd::Table_impl::get_partition | ( | const String_type & | name | ) |
|
overridevirtual |
Get dd::Trigger object for the given trigger name.
Implements dd::Table.
|
inlineoverridevirtual |
Check if table has any triggers.
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
The unique dictionary object id.
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Is dictionary object persistent in dictionary tables ?
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
private |
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
static |
|
private |
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
overridevirtual |
Converts *this into json.
Converts all member variables that are to be included in the sdi into json by transforming them appropriately and passing them to the rapidjson writer provided.
wctx | opaque context for data needed by serialization |
w | rapidjson writer which will perform conversion to json |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
private |
Store the trigger object in DD table.
otx | current Open_dictionary_tables_ctx |
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Table.
|
inlineoverridevirtual |
Get const reference to Trigger_collection.
Implements dd::Table.
|
inlineoverridevirtual |
Get non-const pointer to Trigger_collection.
Implements dd::Table.
|
inlineoverridevirtual |
Implements dd::Abstract_table.
|
inlineoverridevirtual |
Reimplemented from dd::Abstract_table.
|
overridevirtual |
Reimplemented from dd::Abstract_table_impl.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |