24#ifndef DD__TABLE_IMPL_INCLUDED
25#define DD__TABLE_IMPL_INCLUDED
59class Open_dictionary_tables_ctx;
145 bool is_explicit =
false;
147 options().
get(
"explicit_tablespace", &is_explicit);
610 placeholder->
set_id(
id());
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Definition: abstract_table_impl.h:58
void set_created(ulonglong created) override
Definition: abstract_table_impl.h:132
Object_id schema_id() const override
Definition: abstract_table_impl.h:89
void set_hidden(enum_hidden_type hidden) override
Definition: abstract_table_impl.h:153
ulonglong last_altered(bool convert_time) const override
Definition: abstract_table_impl.h:138
void set_schema_id(Object_id schema_id) override
Definition: abstract_table_impl.h:91
void set_last_altered(ulonglong last_altered) override
Definition: abstract_table_impl.h:143
Column * add_column() override
Definition: abstract_table_impl.cc:270
const Column_collection & columns() const override
Definition: abstract_table_impl.h:162
const Properties & options() const override
Definition: abstract_table_impl.h:112
uint mysql_version_id() const override
Definition: abstract_table_impl.h:100
bool drop_column(const String_type &name) override
Definition: abstract_table_impl.cc:276
bool set_options(const Properties &options) override
Definition: abstract_table_impl.h:116
const Column * get_column(Object_id column_id) const
Definition: abstract_table_impl.cc:300
enum_hidden_type hidden() const override
Definition: abstract_table_impl.h:151
ulonglong created(bool convert_time) const override
Definition: abstract_table_impl.h:128
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:103
Definition: check_constraint.h:42
Definition: collection.h:44
size_t size() const
Definition: collection.h:229
Definition: entity_object_impl.h:44
void set_name(const String_type &name) override
Definition: entity_object_impl.h:62
void set_id(Object_id id)
Definition: entity_object_impl.h:51
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:49
const String_type & name() const override
Definition: entity_object_impl.h:60
Entity_object_impl * impl() override
Definition: entity_object_impl.h:68
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:57
Definition: foreign_key.h:181
Definition: foreign_key.h:47
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:76
Definition: partition.h:51
The Properties_impl class implements the Properties interface.
Definition: properties_impl.h:77
bool insert_values(const Properties &properties) override
Insert key/value pairs from a different property object.
Definition: properties_impl.cc:104
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:74
virtual bool get(const String_type &key, String_type *value) const =0
Get the string value for a given key.
Definition: raw_record.h:46
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:231
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:129
Definition: object_keys.h:219
Definition: table_impl.h:68
void set_created(ulonglong created) override
Definition: table_impl.h:453
bool load_foreign_key_parents(Open_dictionary_tables_ctx *otx)
Definition: table_impl.cc:131
String_type m_partition_expression
Definition: table_impl.h:572
void set_schema_id(Object_id schema_id) override
Definition: table_impl.h:434
const Partition_leaf_vector & leaf_partitions() const override
Definition: table_impl.h:397
Index * add_first_index() override
Definition: table_impl.cc:731
enum_table_type type() const override
Definition: table_impl.h:79
ulonglong created(bool convert_time) const override
Definition: table_impl.h:450
bool drop_column(const String_type &name) override
Definition: table_impl.h:463
Entity_object_impl * impl() override
Definition: table_impl.h:417
enum_row_format m_row_format
Definition: table_impl.h:566
enum_subpartition_type m_subpartition_type
Definition: table_impl.h:576
Trigger * add_trigger(Trigger::enum_action_timing at, Trigger::enum_event_type et) override
Add new trigger to the table.
Definition: table_impl.cc:828
bool restore_attributes(const Raw_record &r) override
Definition: table_impl.cc:400
bool set_se_private_data(const Properties &se_private_data) override
Definition: table_impl.h:202
Foreign_key_collection m_foreign_keys
Definition: table_impl.h:584
Properties & se_private_data() override
Definition: table_impl.h:196
void set_comment(const String_type &comment) override
Definition: table_impl.h:175
uint m_last_checked_for_upgrade_version_id
Definition: table_impl.h:559
void drop_all_triggers() override
Drop all the trigger on this dd::Table object.
Definition: table_impl.cc:958
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: table_impl.cc:253
void set_partition_expression_utf8(const String_type &partition_expression_utf8) override
Definition: table_impl.h:282
void set_last_altered(ulonglong last_altered) override
Definition: table_impl.h:459
Trigger_collection * triggers() override
Get non-const pointer to Trigger_collection.
Definition: table_impl.h:502
void set_secondary_engine_attribute(LEX_CSTRING a) override
Definition: table_impl.h:232
void mark_as_checked_for_upgrade() override
Definition: table_impl.h:184
Index_collection * indexes() override
Definition: table_impl.h:349
bool store_triggers(Open_dictionary_tables_ctx *otx)
Store the trigger object in DD table.
Definition: table_impl.cc:297
bool set_se_private_data(const String_type &se_private_data_raw) override
Definition: table_impl.h:198
String_type m_subpartition_expression_utf8
Definition: table_impl.h:578
Index * add_index() override
Definition: table_impl.cc:723
void set_partition_type(enum_partition_type partition_type) override
Definition: table_impl.h:244
bool is_temporary() const override
Definition: table_impl.h:119
void debug_print(String_type &outb) const override
Definition: table_impl.cc:637
const Trigger * get_trigger(const char *name) const override
Get dd::Trigger object for the given trigger name.
Definition: table_impl.cc:843
String_type m_comment
Definition: table_impl.h:553
LEX_CSTRING engine_attribute() const override
Definition: table_impl.h:220
const Entity_object_impl * impl() const override
Definition: table_impl.h:418
bool is_explicit_tablespace() const override
Definition: table_impl.h:144
const String_type & comment() const override
Definition: table_impl.h:173
Object_id m_se_private_id
Definition: table_impl.h:550
enum_partition_type partition_type() const override
Definition: table_impl.h:240
String_type m_subpartition_expression
Definition: table_impl.h:577
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: table_impl.cc:359
bool set_options(const String_type &options_raw) override
Definition: table_impl.h:447
Trigger_impl * create_trigger()
Definition: table_impl.cc:815
Object_id schema_id() const override
Definition: table_impl.h:431
void set_default_partitioning(enum_default_partitioning default_partitioning) override
Definition: table_impl.h:256
Object_id m_tablespace_id
Definition: table_impl.h:594
bool validate() const override
Definition: table_impl.cc:111
void reorder_action_order(Trigger::enum_action_timing at, Trigger::enum_event_type et)
Definition: table_impl.cc:804
Column * get_column(const String_type &name)
Definition: table_impl.h:481
const Properties & se_private_data() const override
Definition: table_impl.h:192
Object_id collation_id() const override
Definition: table_impl.h:128
uint mysql_version_id() const override
Definition: table_impl.h:437
void set_name(const String_type &name) override
Definition: table_impl.h:428
Table_impl()
Definition: table_impl.cc:90
Object_id m_collation_id
Definition: table_impl.h:593
Object_id se_private_id() const override
Definition: table_impl.h:210
void set_hidden(enum_hidden_type hidden) override
Definition: table_impl.h:490
const String_type & engine() const override
Definition: table_impl.h:155
const Partition_collection & partitions() const override
Definition: table_impl.h:391
const String_type & partition_expression_utf8() const override
Definition: table_impl.h:278
Check_constraint_collection m_check_constraints
Definition: table_impl.h:589
Table_impl * clone() const override
Allocate a new object graph and invoke the copy constructor for each object.
Definition: table_impl.h:597
const String_type & partition_expression() const override
Definition: table_impl.h:265
Partition_collection m_partitions
Definition: table_impl.h:586
String_type m_partition_expression_utf8
Definition: table_impl.h:573
void set_collation_id(Object_id collation_id) override
Definition: table_impl.h:130
void set_subpartition_expression_utf8(const String_type &subpartition_expression_utf8) override
Definition: table_impl.h:334
Object_id id() const override
The unique dictionary object id.
Definition: table_impl.h:421
void set_subpartition_type(enum_subpartition_type subpartition_type) override
Definition: table_impl.h:295
void set_row_format(enum_row_format row_format) override
Definition: table_impl.h:165
Column * add_column() override
Definition: table_impl.h:462
const Index_collection & indexes() const override
Definition: table_impl.h:347
Object_id tablespace_id() const override
Definition: table_impl.h:138
Partition * add_partition() override
Definition: table_impl.cc:771
void set_engine(const String_type &engine) override
Definition: table_impl.h:157
void set_tablespace_id(Object_id tablespace_id) override
Definition: table_impl.h:140
bool store_attributes(Raw_record *r) override
Definition: table_impl.cc:467
bool has_trigger() const override
Check if table has any triggers.
Definition: table_impl.h:498
const Foreign_key_parent_collection & foreign_key_parents() const override
Definition: table_impl.h:381
Properties_impl m_se_private_data
Definition: table_impl.h:560
ulonglong last_altered(bool convert_time) const override
Definition: table_impl.h:456
void copy_triggers(const Table *tab_obj) override
Copy all the triggers from another dd::Table object.
Definition: table_impl.cc:909
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.
Definition: table_impl.cc:859
Foreign_key_parent_collection m_foreign_key_parents
Definition: table_impl.h:585
enum_partition_type m_partition_type
Definition: table_impl.h:571
enum_default_partitioning m_default_subpartitioning
Definition: table_impl.h:579
dd::String_type m_engine_attribute
Definition: table_impl.h:563
bool m_is_temporary
Definition: table_impl.h:567
String_type m_engine
Definition: table_impl.h:552
dd::String_type m_secondary_engine_attribute
Definition: table_impl.h:564
enum_default_partitioning default_subpartitioning() const override
Definition: table_impl.h:304
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 provide...
Definition: table_impl.cc:589
const Column_collection & columns() const override
Definition: table_impl.h:466
void add_leaf_partition(Partition *p)
Definition: table_impl.h:406
void set_engine_attribute(LEX_CSTRING a) override
Definition: table_impl.h:224
Properties & options() override
Definition: table_impl.h:443
const String_type & subpartition_expression() const override
Definition: table_impl.h:317
const Trigger_collection & triggers() const override
Get const reference to Trigger_collection.
Definition: table_impl.h:500
Partition_leaf_vector * leaf_partitions() override
Definition: table_impl.h:401
Trigger_collection m_triggers
Definition: table_impl.h:588
void set_default_subpartitioning(enum_default_partitioning default_subpartitioning) override
Definition: table_impl.h:308
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.
Definition: table_impl.cc:886
Index_collection m_indexes
Definition: table_impl.h:583
const String_type & subpartition_expression_utf8() const override
Definition: table_impl.h:330
const Column * get_column(Object_id column_id) const
Definition: table_impl.h:472
Partition_collection * partitions() override
Definition: table_impl.h:395
const Foreign_key_collection & foreign_keys() const override
Definition: table_impl.h:363
LEX_CSTRING secondary_engine_attribute() const override
Definition: table_impl.h:228
enum_subpartition_type subpartition_type() const override
Definition: table_impl.h:291
Foreign_key * add_foreign_key() override
Definition: table_impl.cc:751
const Properties & options() const override
Definition: table_impl.h:440
const Index * get_index(Object_id index_id) const
Definition: table_impl.h:351
Foreign_key_collection * foreign_keys() override
Definition: table_impl.h:367
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_clie...
Definition: table_impl.h:601
Column_collection * columns() override
Definition: table_impl.h:469
virtual Foreign_key_parent * add_foreign_key_parent()
Definition: table_impl.cc:761
uint last_checked_for_upgrade_version_id() const override
Definition: table_impl.h:180
void set_partition_expression(const String_type &partition_expression) override
Definition: table_impl.h:269
void set_se_private_id(Object_id se_private_id) override
Definition: table_impl.h:212
Column * get_column(Object_id column_id)
Definition: table_impl.h:475
Check_constraint * add_check_constraint() override
Definition: table_impl.cc:977
enum_hidden_type hidden() const override
Definition: table_impl.h:487
~Table_impl() override
Definition: table_impl.cc:107
const Partition * get_partition(Object_id partition_id) const
Definition: table_impl.h:408
enum_default_partitioning default_partitioning() const override
Definition: table_impl.h:252
uint get_max_action_order(Trigger::enum_action_timing at, Trigger::enum_event_type et) const
Definition: table_impl.cc:792
Partition_leaf_vector m_leaf_partitions
Definition: table_impl.h:587
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: table_impl.cc:378
bool set_options(const Properties &options) override
Definition: table_impl.h:444
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: table_impl.cc:1005
bool update_aux_key(Aux_key *key) const override
Definition: table_impl.h:484
enum_default_partitioning m_default_partitioning
Definition: table_impl.h:574
enum_row_format row_format() const override
Definition: table_impl.h:163
Check_constraint_collection * check_constraints() override
Definition: table_impl.h:543
void set_is_temporary(bool is_temporary) override
Definition: table_impl.h:120
const Check_constraint_collection & check_constraints() const override
Definition: table_impl.h:539
const String_type & name() const override
Definition: table_impl.h:425
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: table_impl.h:422
bool reload_foreign_key_parents(THD *thd) override
Definition: table_impl.cc:231
void set_subpartition_expression(const String_type &subpartition_expression) override
Definition: table_impl.h:321
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: table_impl.cc:547
void drop_trigger(const Trigger *trigger) override
Drop the given trigger object.
Definition: table_impl.cc:962
const Column * get_column(const String_type &name) const override
Definition: table_impl.h:478
std::vector< Foreign_key_parent * > Foreign_key_parent_collection
Definition: table.h:52
std::vector< Partition * > Partition_leaf_vector
Definition: table.h:65
enum_row_format
Definition: table.h:80
enum_partition_type
Definition: table.h:90
enum_subpartition_type
Definition: table.h:106
bool update_aux_key(Aux_key *key) const override
Definition: table.h:69
enum_default_partitioning
Definition: table.h:117
Definition: trigger_impl.h:54
Class representing a Trigger in DD framework.
Definition: trigger.h:54
enum_event_type
Definition: trigger.h:60
enum_action_timing
Definition: trigger.h:62
const char * p
Definition: ctype-mb.cc:1225
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
#define MYSQL_VERSION_ID
Definition: mysql_version.h:15
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:64
unsigned long long Object_id
Definition: object_id.h:31
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:49
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
enum_table_type
Definition: abstract_table.h:53
Definition: options.cc:57
static int exists(node_address *name, node_list const *nodes, u_int with_uid)
Definition: node_list.cc:106
partition_type
An enum and a struct to handle partitioning and subpartitioning.
Definition: partition_element.h:33
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
required string key
Definition: replication_asynchronous_connection_failover.proto:60
This header provides Rapidjson Type Aliases.
MYSQL_LEX_CSTRING lex_cstring_handle(const STDSTRINGLIKE_TYPE &s)
Return a LEX_CSTRING handle to a std::string like (meaning something which has the c_str() and length...
Definition: strfunc.h:77
Definition: mysql_lex_string.h:40
const char * str
Definition: mysql_lex_string.h:41
size_t length
Definition: mysql_lex_string.h:42