23#ifndef DD__INDEX_IMPL_INCLUDED
24#define DD__INDEX_IMPL_INCLUDED
47class Open_dictionary_tables_ctx;
Definition: collection.h:43
Definition: entity_object_impl.h:43
void set_name(const String_type &name) override
Definition: entity_object_impl.h:61
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: index_element.h:44
Definition: index_impl.h:58
Object_id id() const override
The unique dictionary object id.
Definition: index_impl.h:244
void set_name(const String_type &name) override
Definition: index_impl.h:251
Table_impl & table_impl()
Definition: index_impl.h:108
const Entity_object_impl * impl() const override
Definition: index_impl.h:241
Object_id tablespace_id() const override
Definition: index_impl.h:172
void set_generated(bool generated) override
Definition: index_impl.h:116
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: index_impl.h:245
void set_algorithm(Index::enum_index_algorithm algorithm) override
Definition: index_impl.h:200
const Table_impl & table_impl() const
Definition: index_impl.h:106
bool is_visible() const override
Definition: index_impl.h:212
Index::enum_index_type type() const override
Definition: index_impl.h:190
bool set_se_private_data(const Properties &se_private_data) override
Definition: index_impl.h:164
void set_visible(bool is_visible) override
Definition: index_impl.h:214
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: index_impl.cc:150
Properties & se_private_data() override
Definition: index_impl.h:158
const String_type & engine() const override
Definition: index_impl.h:182
bool validate() const override
Definition: index_impl.cc:111
const Table & table() const override
Definition: index_impl.cc:105
Index::enum_index_algorithm algorithm() const override
Definition: index_impl.h:198
void debug_print(String_type &outb) const override
Definition: index_impl.cc:298
bool set_se_private_data(const String_type &se_private_data_raw) override
Definition: index_impl.h:160
Object_id m_tablespace_id
Definition: index_impl.h:294
bool is_candidate_key() const override
Check if index represents candidate key.
Definition: index_impl.cc:350
const String_type & comment() const override
Definition: index_impl.h:130
void set_engine(const String_type &engine) override
Definition: index_impl.h:184
uint m_ordinal_position
Definition: index_impl.h:270
const Properties & options() const override
Definition: index_impl.h:138
bool is_algorithm_explicit() const override
Definition: index_impl.h:204
void set_secondary_engine_attribute(LEX_CSTRING a) override
Definition: index_impl.h:225
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:266
void set_hidden(bool hidden) override
Definition: index_impl.h:124
Index_element * add_element(Column *c) override
Definition: index_impl.cc:336
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: index_impl.cc:237
LEX_CSTRING secondary_engine_attribute() const override
Definition: index_impl.h:222
Properties & options() override
Definition: index_impl.h:140
Index_elements m_elements
Definition: index_impl.h:290
bool store_attributes(Raw_record *r) override
Definition: index_impl.cc:195
const Object_table & object_table() const override
Definition: index_impl.cc:411
const Properties & se_private_data() const override
Definition: index_impl.h:154
bool is_generated() const override
Definition: index_impl.h:114
const Index_elements & elements() const override
Definition: index_impl.h:235
uint ordinal_position() const override
Definition: index_impl.h:93
bool m_hidden
Definition: index_impl.h:267
void set_tablespace_id(Object_id tablespace_id) override
Definition: index_impl.h:174
LEX_CSTRING engine_attribute() const override
Definition: index_impl.h:216
bool m_is_algorithm_explicit
Definition: index_impl.h:278
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: index_impl.cc:417
Table_impl * m_table
Definition: index_impl.h:288
Properties_impl m_se_private_data
Definition: index_impl.h:274
void set_ordinal_position(uint ordinal_position) override
Definition: index_impl.h:89
static Index_impl * restore_item(Table_impl *table)
Definition: index_impl.h:256
bool m_is_visible
Definition: index_impl.h:279
String_type m_engine
Definition: index_impl.h:281
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: index_impl.cc:134
bool set_options(const String_type &options_raw) override
Definition: index_impl.h:146
String_type m_engine_attribute
Definition: index_impl.h:283
bool set_options(const Properties &options) override
Definition: index_impl.h:142
bool m_is_generated
Definition: index_impl.h:268
void set_algorithm_explicit(bool alg_expl) override
Definition: index_impl.h:208
Properties_impl m_options
Definition: index_impl.h:273
Index::enum_index_type m_type
Definition: index_impl.h:276
String_type m_comment
Definition: index_impl.h:272
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: index_impl.cc:144
void set_engine_attribute(LEX_CSTRING a) override
Definition: index_impl.h:219
void set_comment(const String_type &comment) override
Definition: index_impl.h:132
Index_impl()
Definition: index_impl.cc:73
String_type m_secondary_engine_attribute
Definition: index_impl.h:284
Entity_object_impl * impl() override
Definition: index_impl.h:240
static Index_impl * clone(const Index_impl &other, Table_impl *table)
Definition: index_impl.h:260
void set_type(Index::enum_index_type type) override
Definition: index_impl.h:192
Index::enum_index_algorithm m_algorithm
Definition: index_impl.h:277
const String_type & name() const override
Definition: index_impl.h:248
bool is_hidden() const override
Definition: index_impl.h:122
bool restore_attributes(const Raw_record &r) override
Definition: index_impl.cc:158
enum_index_algorithm
Definition: index.h:65
enum_index_type
Definition: index.h:58
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:71
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:75
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
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: table_impl.h:67
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
Definition: options.cc:48
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:85
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:72
Definition: mysql_lex_string.h:39
const char * str
Definition: mysql_lex_string.h:40
size_t length
Definition: mysql_lex_string.h:41
unsigned int uint
Definition: uca9-dump.cc:74