24#ifndef DD__INDEX_INCLUDED
25#define DD__INDEX_INCLUDED
Definition: collection.h:44
Base class for dictionary objects which has single column integer primary key.
Definition: entity_object.h:48
Definition: index_element.h:46
Definition: index_impl.h:59
virtual const Properties & se_private_data() const =0
virtual const String_type & engine() const =0
virtual const Table & table() const =0
virtual bool deserialize(Sdi_rcontext *rctx, const RJ_Value &val)=0
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provide...
virtual const String_type & comment() const =0
virtual bool set_se_private_data(const String_type &se_private_data_raw)=0
virtual void set_type(enum_index_type type)=0
virtual bool set_options(const String_type &options_raw)=0
virtual void set_secondary_engine_attribute(LEX_CSTRING)=0
enum_index_algorithm
Definition: index.h:68
@ IA_FULLTEXT
Definition: index.h:73
@ IA_HASH
Definition: index.h:72
@ IA_SE_SPECIFIC
Definition: index.h:69
@ IA_RTREE
Definition: index.h:71
@ IA_BTREE
Definition: index.h:70
virtual bool is_hidden() const =0
virtual bool set_options(const Properties &options)=0
virtual void set_comment(const String_type &comment)=0
virtual Table & table()=0
virtual enum_index_type type() const =0
virtual const Index_elements & elements() const =0
const Index & index() const
Dummy method to be able to use Partition_index and Index interchangeably in templates.
Definition: index.h:83
Index & index()
Definition: index.h:85
virtual void set_engine_attribute(LEX_CSTRING)=0
virtual void set_algorithm(enum_index_algorithm algorithm)=0
virtual Object_id tablespace_id() const =0
virtual LEX_CSTRING engine_attribute() const =0
virtual void set_hidden(bool hidden)=0
virtual Index_element * add_element(Column *c)=0
virtual LEX_CSTRING secondary_engine_attribute() const =0
tables::Indexes DD_table
Definition: index.h:55
~Index() override=default
virtual void set_tablespace_id(Object_id tablespace_id)=0
virtual uint ordinal_position() const =0
virtual enum_index_algorithm algorithm() const =0
virtual bool is_candidate_key() const =0
Check if index represents candidate key.
virtual bool is_algorithm_explicit() const =0
Index_impl Impl
Definition: index.h:54
virtual void set_algorithm_explicit(bool alg_expl)=0
enum_index_type
Definition: index.h:59
@ IT_FULLTEXT
Definition: index.h:63
@ IT_MULTIPLE
Definition: index.h:62
@ IT_UNIQUE
Definition: index.h:61
@ IT_PRIMARY
Definition: index.h:60
@ IT_SPATIAL
Definition: index.h:64
virtual bool is_generated() const =0
virtual void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const =0
Converts *this into json.
virtual void set_ordinal_position(uint ordinal_position)=0
virtual Properties & se_private_data()=0
virtual bool set_se_private_data(const Properties &se_private_data)=0
virtual void set_generated(bool generated)=0
virtual Properties & options()=0
virtual void set_visible(bool is_visible)=0
virtual void set_engine(const String_type &engine)=0
virtual bool is_visible() const =0
virtual const Properties & options() const =0
Collection< Index_element * > Index_elements
Definition: index.h:53
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:74
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
Some integer typedefs for easier portability.
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
This header provides Rapidjson Type Aliases.
Definition: mysql_lex_string.h:40