23#ifndef DD__TABLE_IMPL_INCLUDED
24#define DD__TABLE_IMPL_INCLUDED
58class Open_dictionary_tables_ctx;
144 bool is_explicit =
false;
146 options().
get(
"explicit_tablespace", &is_explicit);
609 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:35
Definition: abstract_table_impl.h:57
void set_created(ulonglong created) override
Definition: abstract_table_impl.h:131
Object_id schema_id() const override
Definition: abstract_table_impl.h:88
void set_hidden(enum_hidden_type hidden) override
Definition: abstract_table_impl.h:152
ulonglong last_altered(bool convert_time) const override
Definition: abstract_table_impl.h:137
void set_schema_id(Object_id schema_id) override
Definition: abstract_table_impl.h:90
void set_last_altered(ulonglong last_altered) override
Definition: abstract_table_impl.h:142
Column * add_column() override
Definition: abstract_table_impl.cc:269
const Column_collection & columns() const override
Definition: abstract_table_impl.h:161
const Properties & options() const override
Definition: abstract_table_impl.h:111
uint mysql_version_id() const override
Definition: abstract_table_impl.h:99
bool drop_column(const String_type &name) override
Definition: abstract_table_impl.cc:275
bool set_options(const Properties &options) override
Definition: abstract_table_impl.h:115
const Column * get_column(Object_id column_id) const
Definition: abstract_table_impl.cc:299
enum_hidden_type hidden() const override
Definition: abstract_table_impl.h:150
ulonglong created(bool convert_time) const override
Definition: abstract_table_impl.h:127
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:102
Definition: check_constraint.h:41
Definition: collection.h:43
size_t size() const
Definition: collection.h:228
Definition: entity_object_impl.h:43
void set_name(const String_type &name) override
Definition: entity_object_impl.h:61
void set_id(Object_id id)
Definition: entity_object_impl.h:50
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:48
const String_type & name() const override
Definition: entity_object_impl.h:59
Entity_object_impl * impl() override
Definition: entity_object_impl.h:67
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:56
Definition: foreign_key.h:180
Definition: foreign_key.h:46
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:75
Definition: partition.h:50
The Properties_impl class implements the Properties interface.
Definition: properties_impl.h:76
bool insert_values(const Properties &properties) override
Insert key/value pairs from a different property object.
Definition: properties_impl.cc:103
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:73
virtual bool get(const String_type &key, String_type *value) const =0
Get the string value for a given key.
Definition: raw_record.h:45
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:230
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:128
Definition: object_keys.h:218
Definition: table_impl.h:67
void set_created(ulonglong created) override
Definition: table_impl.h:452
bool load_foreign_key_parents(Open_dictionary_tables_ctx *otx)
Definition: table_impl.cc:130
String_type m_partition_expression
Definition: table_impl.h:571
void set_schema_id(Object_id schema_id) override
Definition: table_impl.h:433
const Partition_leaf_vector & leaf_partitions() const override
Definition: table_impl.h:396
Index * add_first_index() override
Definition: table_impl.cc:730
enum_table_type type() const override
Definition: table_impl.h:78
ulonglong created(bool convert_time) const override
Definition: table_impl.h:449
bool drop_column(const String_type &name) override
Definition: table_impl.h:462
Entity_object_impl * impl() override
Definition: table_impl.h:416
enum_row_format m_row_format
Definition: table_impl.h:565
enum_subpartition_type m_subpartition_type
Definition: table_impl.h:575
Trigger * add_trigger(Trigger::enum_action_timing at, Trigger::enum_event_type et) override
Add new trigger to the table.
Definition: table_impl.cc:827
bool restore_attributes(const Raw_record &r) override
Definition: table_impl.cc:399
bool set_se_private_data(const Properties &se_private_data) override
Definition: table_impl.h:201
Foreign_key_collection m_foreign_keys
Definition: table_impl.h:583
Properties & se_private_data() override
Definition: table_impl.h:195
void set_comment(const String_type &comment) override
Definition: table_impl.h:174
uint m_last_checked_for_upgrade_version_id
Definition: table_impl.h:558
void drop_all_triggers() override
Drop all the trigger on this dd::Table object.
Definition: table_impl.cc:957
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: table_impl.cc:252
void set_partition_expression_utf8(const String_type &partition_expression_utf8) override
Definition: table_impl.h:281
void set_last_altered(ulonglong last_altered) override
Definition: table_impl.h:458
Trigger_collection * triggers() override
Get non-const pointer to Trigger_collection.
Definition: table_impl.h:501
void set_secondary_engine_attribute(LEX_CSTRING a) override
Definition: table_impl.h:231
void mark_as_checked_for_upgrade() override
Definition: table_impl.h:183
Index_collection * indexes() override
Definition: table_impl.h:348
bool store_triggers(Open_dictionary_tables_ctx *otx)
Store the trigger object in DD table.
Definition: table_impl.cc:296
bool set_se_private_data(const String_type &se_private_data_raw) override
Definition: table_impl.h:197
String_type m_subpartition_expression_utf8
Definition: table_impl.h:577
Index * add_index() override
Definition: table_impl.cc:722
void set_partition_type(enum_partition_type partition_type) override
Definition: table_impl.h:243
bool is_temporary() const override
Definition: table_impl.h:118
void debug_print(String_type &outb) const override
Definition: table_impl.cc:636
const Trigger * get_trigger(const char *name) const override
Get dd::Trigger object for the given trigger name.
Definition: table_impl.cc:842
String_type m_comment
Definition: table_impl.h:552
LEX_CSTRING engine_attribute() const override
Definition: table_impl.h:219
const Entity_object_impl * impl() const override
Definition: table_impl.h:417
bool is_explicit_tablespace() const override
Definition: table_impl.h:143
const String_type & comment() const override
Definition: table_impl.h:172
Object_id m_se_private_id
Definition: table_impl.h:549
enum_partition_type partition_type() const override
Definition: table_impl.h:239
String_type m_subpartition_expression
Definition: table_impl.h:576
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: table_impl.cc:358
bool set_options(const String_type &options_raw) override
Definition: table_impl.h:446
Trigger_impl * create_trigger()
Definition: table_impl.cc:814
Object_id schema_id() const override
Definition: table_impl.h:430
void set_default_partitioning(enum_default_partitioning default_partitioning) override
Definition: table_impl.h:255
Object_id m_tablespace_id
Definition: table_impl.h:593
bool validate() const override
Definition: table_impl.cc:110
void reorder_action_order(Trigger::enum_action_timing at, Trigger::enum_event_type et)
Definition: table_impl.cc:803
Column * get_column(const String_type &name)
Definition: table_impl.h:480
const Properties & se_private_data() const override
Definition: table_impl.h:191
Object_id collation_id() const override
Definition: table_impl.h:127
uint mysql_version_id() const override
Definition: table_impl.h:436
void set_name(const String_type &name) override
Definition: table_impl.h:427
Table_impl()
Definition: table_impl.cc:89
Object_id m_collation_id
Definition: table_impl.h:592
Object_id se_private_id() const override
Definition: table_impl.h:209
void set_hidden(enum_hidden_type hidden) override
Definition: table_impl.h:489
const String_type & engine() const override
Definition: table_impl.h:154
const Partition_collection & partitions() const override
Definition: table_impl.h:390
const String_type & partition_expression_utf8() const override
Definition: table_impl.h:277
Check_constraint_collection m_check_constraints
Definition: table_impl.h:588
Table_impl * clone() const override
Allocate a new object graph and invoke the copy constructor for each object.
Definition: table_impl.h:596
const String_type & partition_expression() const override
Definition: table_impl.h:264
Partition_collection m_partitions
Definition: table_impl.h:585
String_type m_partition_expression_utf8
Definition: table_impl.h:572
void set_collation_id(Object_id collation_id) override
Definition: table_impl.h:129
void set_subpartition_expression_utf8(const String_type &subpartition_expression_utf8) override
Definition: table_impl.h:333
Object_id id() const override
The unique dictionary object id.
Definition: table_impl.h:420
void set_subpartition_type(enum_subpartition_type subpartition_type) override
Definition: table_impl.h:294
void set_row_format(enum_row_format row_format) override
Definition: table_impl.h:164
Column * add_column() override
Definition: table_impl.h:461
const Index_collection & indexes() const override
Definition: table_impl.h:346
Object_id tablespace_id() const override
Definition: table_impl.h:137
Partition * add_partition() override
Definition: table_impl.cc:770
void set_engine(const String_type &engine) override
Definition: table_impl.h:156
void set_tablespace_id(Object_id tablespace_id) override
Definition: table_impl.h:139
bool store_attributes(Raw_record *r) override
Definition: table_impl.cc:466
bool has_trigger() const override
Check if table has any triggers.
Definition: table_impl.h:497
const Foreign_key_parent_collection & foreign_key_parents() const override
Definition: table_impl.h:380
Properties_impl m_se_private_data
Definition: table_impl.h:559
ulonglong last_altered(bool convert_time) const override
Definition: table_impl.h:455
void copy_triggers(const Table *tab_obj) override
Copy all the triggers from another dd::Table object.
Definition: table_impl.cc:908
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:858
Foreign_key_parent_collection m_foreign_key_parents
Definition: table_impl.h:584
enum_partition_type m_partition_type
Definition: table_impl.h:570
enum_default_partitioning m_default_subpartitioning
Definition: table_impl.h:578
dd::String_type m_engine_attribute
Definition: table_impl.h:562
bool m_is_temporary
Definition: table_impl.h:566
String_type m_engine
Definition: table_impl.h:551
dd::String_type m_secondary_engine_attribute
Definition: table_impl.h:563
enum_default_partitioning default_subpartitioning() const override
Definition: table_impl.h:303
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:588
const Column_collection & columns() const override
Definition: table_impl.h:465
void add_leaf_partition(Partition *p)
Definition: table_impl.h:405
void set_engine_attribute(LEX_CSTRING a) override
Definition: table_impl.h:223
Properties & options() override
Definition: table_impl.h:442
const String_type & subpartition_expression() const override
Definition: table_impl.h:316
const Trigger_collection & triggers() const override
Get const reference to Trigger_collection.
Definition: table_impl.h:499
Partition_leaf_vector * leaf_partitions() override
Definition: table_impl.h:400
Trigger_collection m_triggers
Definition: table_impl.h:587
void set_default_subpartitioning(enum_default_partitioning default_subpartitioning) override
Definition: table_impl.h:307
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:885
Index_collection m_indexes
Definition: table_impl.h:582
const String_type & subpartition_expression_utf8() const override
Definition: table_impl.h:329
const Column * get_column(Object_id column_id) const
Definition: table_impl.h:471
Partition_collection * partitions() override
Definition: table_impl.h:394
const Foreign_key_collection & foreign_keys() const override
Definition: table_impl.h:362
LEX_CSTRING secondary_engine_attribute() const override
Definition: table_impl.h:227
enum_subpartition_type subpartition_type() const override
Definition: table_impl.h:290
Foreign_key * add_foreign_key() override
Definition: table_impl.cc:750
const Properties & options() const override
Definition: table_impl.h:439
const Index * get_index(Object_id index_id) const
Definition: table_impl.h:350
Foreign_key_collection * foreign_keys() override
Definition: table_impl.h:366
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:600
Column_collection * columns() override
Definition: table_impl.h:468
virtual Foreign_key_parent * add_foreign_key_parent()
Definition: table_impl.cc:760
uint last_checked_for_upgrade_version_id() const override
Definition: table_impl.h:179
void set_partition_expression(const String_type &partition_expression) override
Definition: table_impl.h:268
void set_se_private_id(Object_id se_private_id) override
Definition: table_impl.h:211
Column * get_column(Object_id column_id)
Definition: table_impl.h:474
Check_constraint * add_check_constraint() override
Definition: table_impl.cc:976
enum_hidden_type hidden() const override
Definition: table_impl.h:486
~Table_impl() override
Definition: table_impl.cc:106
const Partition * get_partition(Object_id partition_id) const
Definition: table_impl.h:407
enum_default_partitioning default_partitioning() const override
Definition: table_impl.h:251
uint get_max_action_order(Trigger::enum_action_timing at, Trigger::enum_event_type et) const
Definition: table_impl.cc:791
Partition_leaf_vector m_leaf_partitions
Definition: table_impl.h:586
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: table_impl.cc:377
bool set_options(const Properties &options) override
Definition: table_impl.h:443
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: table_impl.cc:1004
bool update_aux_key(Aux_key *key) const override
Definition: table_impl.h:483
enum_default_partitioning m_default_partitioning
Definition: table_impl.h:573
enum_row_format row_format() const override
Definition: table_impl.h:162
Check_constraint_collection * check_constraints() override
Definition: table_impl.h:542
void set_is_temporary(bool is_temporary) override
Definition: table_impl.h:119
const Check_constraint_collection & check_constraints() const override
Definition: table_impl.h:538
const String_type & name() const override
Definition: table_impl.h:424
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: table_impl.h:421
bool reload_foreign_key_parents(THD *thd) override
Definition: table_impl.cc:230
void set_subpartition_expression(const String_type &subpartition_expression) override
Definition: table_impl.h:320
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: table_impl.cc:546
void drop_trigger(const Trigger *trigger) override
Drop the given trigger object.
Definition: table_impl.cc:961
const Column * get_column(const String_type &name) const override
Definition: table_impl.h:477
std::vector< Foreign_key_parent * > Foreign_key_parent_collection
Definition: table.h:51
std::vector< Partition * > Partition_leaf_vector
Definition: table.h:64
enum_row_format
Definition: table.h:79
enum_partition_type
Definition: table.h:89
enum_subpartition_type
Definition: table.h:105
bool update_aux_key(Aux_key *key) const override
Definition: table.h:68
enum_default_partitioning
Definition: table.h:116
Definition: trigger_impl.h:53
Class representing a Trigger in DD framework.
Definition: trigger.h:53
enum_event_type
Definition: trigger.h:59
enum_action_timing
Definition: trigger.h:61
const char * p
Definition: ctype-mb.cc:1234
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
#define MYSQL_VERSION_ID
Definition: mysql_version.h:15
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:63
unsigned long long Object_id
Definition: object_id.h:30
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:48
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:50
enum_table_type
Definition: abstract_table.h:52
Definition: options.cc:56
static int exists(node_address *name, node_list const *nodes, u_int with_uid)
Definition: node_list.cc:105
partition_type
An enum and a struct to handle partitioning and subpartitioning.
Definition: partition_element.h:32
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:85
required string key
Definition: replication_asynchronous_connection_failover.proto:59
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:73
Definition: mysql_lex_string.h:39
const char * str
Definition: mysql_lex_string.h:40
size_t length
Definition: mysql_lex_string.h:41