24#ifndef DD__INDEX_IMPL_INCLUDED
25#define DD__INDEX_IMPL_INCLUDED
48class Open_dictionary_tables_ctx;
Definition: collection.h:44
Definition: entity_object_impl.h:44
void set_name(const String_type &name) override
Definition: entity_object_impl.h:62
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: index_element.h:46
Definition: index_impl.h:59
Object_id id() const override
The unique dictionary object id.
Definition: index_impl.h:245
void set_name(const String_type &name) override
Definition: index_impl.h:252
Table_impl & table_impl()
Definition: index_impl.h:109
const Entity_object_impl * impl() const override
Definition: index_impl.h:242
Object_id tablespace_id() const override
Definition: index_impl.h:173
void set_generated(bool generated) override
Definition: index_impl.h:117
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: index_impl.h:246
void set_algorithm(Index::enum_index_algorithm algorithm) override
Definition: index_impl.h:201
const Table_impl & table_impl() const
Definition: index_impl.h:107
bool is_visible() const override
Definition: index_impl.h:213
Index::enum_index_type type() const override
Definition: index_impl.h:191
bool set_se_private_data(const Properties &se_private_data) override
Definition: index_impl.h:165
void set_visible(bool is_visible) override
Definition: index_impl.h:215
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: index_impl.cc:152
Properties & se_private_data() override
Definition: index_impl.h:159
const String_type & engine() const override
Definition: index_impl.h:183
bool validate() const override
Definition: index_impl.cc:113
const Table & table() const override
Definition: index_impl.cc:107
Index::enum_index_algorithm algorithm() const override
Definition: index_impl.h:199
void debug_print(String_type &outb) const override
Definition: index_impl.cc:300
bool set_se_private_data(const String_type &se_private_data_raw) override
Definition: index_impl.h:161
Object_id m_tablespace_id
Definition: index_impl.h:295
bool is_candidate_key() const override
Check if index represents candidate key.
Definition: index_impl.cc:352
const String_type & comment() const override
Definition: index_impl.h:131
void set_engine(const String_type &engine) override
Definition: index_impl.h:185
uint m_ordinal_position
Definition: index_impl.h:271
const Properties & options() const override
Definition: index_impl.h:139
bool is_algorithm_explicit() const override
Definition: index_impl.h:205
void set_secondary_engine_attribute(LEX_CSTRING a) override
Definition: index_impl.h:226
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: index_impl.cc:268
void set_hidden(bool hidden) override
Definition: index_impl.h:125
Index_element * add_element(Column *c) override
Definition: index_impl.cc:338
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: index_impl.cc:239
LEX_CSTRING secondary_engine_attribute() const override
Definition: index_impl.h:223
Properties & options() override
Definition: index_impl.h:141
Index_elements m_elements
Definition: index_impl.h:291
bool store_attributes(Raw_record *r) override
Definition: index_impl.cc:197
const Object_table & object_table() const override
Definition: index_impl.cc:416
const Properties & se_private_data() const override
Definition: index_impl.h:155
bool is_generated() const override
Definition: index_impl.h:115
const Index_elements & elements() const override
Definition: index_impl.h:236
uint ordinal_position() const override
Definition: index_impl.h:94
bool m_hidden
Definition: index_impl.h:268
void set_tablespace_id(Object_id tablespace_id) override
Definition: index_impl.h:175
LEX_CSTRING engine_attribute() const override
Definition: index_impl.h:217
bool m_is_algorithm_explicit
Definition: index_impl.h:279
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: index_impl.cc:422
Table_impl * m_table
Definition: index_impl.h:289
Properties_impl m_se_private_data
Definition: index_impl.h:275
void set_ordinal_position(uint ordinal_position) override
Definition: index_impl.h:90
static Index_impl * restore_item(Table_impl *table)
Definition: index_impl.h:257
bool m_is_visible
Definition: index_impl.h:280
String_type m_engine
Definition: index_impl.h:282
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: index_impl.cc:136
bool set_options(const String_type &options_raw) override
Definition: index_impl.h:147
String_type m_engine_attribute
Definition: index_impl.h:284
bool set_options(const Properties &options) override
Definition: index_impl.h:143
bool m_is_generated
Definition: index_impl.h:269
void set_algorithm_explicit(bool alg_expl) override
Definition: index_impl.h:209
Properties_impl m_options
Definition: index_impl.h:274
Index::enum_index_type m_type
Definition: index_impl.h:277
String_type m_comment
Definition: index_impl.h:273
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: index_impl.cc:146
void set_engine_attribute(LEX_CSTRING a) override
Definition: index_impl.h:220
void set_comment(const String_type &comment) override
Definition: index_impl.h:133
Index_impl()
Definition: index_impl.cc:75
String_type m_secondary_engine_attribute
Definition: index_impl.h:285
Entity_object_impl * impl() override
Definition: index_impl.h:241
static Index_impl * clone(const Index_impl &other, Table_impl *table)
Definition: index_impl.h:261
void set_type(Index::enum_index_type type) override
Definition: index_impl.h:193
Index::enum_index_algorithm m_algorithm
Definition: index_impl.h:278
const String_type & name() const override
Definition: index_impl.h:249
bool is_hidden() const override
Definition: index_impl.h:123
bool restore_attributes(const Raw_record &r) override
Definition: index_impl.cc:160
enum_index_algorithm
Definition: index.h:68
enum_index_type
Definition: index.h:59
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:72
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:76
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
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: table_impl.h:68
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
Definition: options.cc:57
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
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