MySQL 8.4.0
Source Code Documentation
dd::Index Class Referenceabstract

#include <index.h>

Inheritance diagram for dd::Index:
[legend]

Public Types

enum  enum_index_type {
  IT_PRIMARY = 1 , IT_UNIQUE , IT_MULTIPLE , IT_FULLTEXT ,
  IT_SPATIAL
}
 
enum  enum_index_algorithm {
  IA_SE_SPECIFIC = 1 , IA_BTREE , IA_RTREE , IA_HASH ,
  IA_FULLTEXT
}
 
typedef Collection< Index_element * > Index_elements
 
typedef Index_impl Impl
 
typedef tables::Indexes DD_table
 

Public Member Functions

 ~Index () override=default
 
const Indexindex () const
 Dummy method to be able to use Partition_index and Index interchangeably in templates. More...
 
Indexindex ()
 
virtual const Tabletable () const =0
 
virtual Tabletable ()=0
 
virtual bool is_generated () const =0
 
virtual void set_generated (bool generated)=0
 
virtual bool is_hidden () const =0
 
virtual void set_hidden (bool hidden)=0
 
virtual const String_typecomment () const =0
 
virtual void set_comment (const String_type &comment)=0
 
virtual const Propertiesoptions () const =0
 
virtual Propertiesoptions ()=0
 
virtual bool set_options (const Properties &options)=0
 
virtual bool set_options (const String_type &options_raw)=0
 
virtual const Propertiesse_private_data () const =0
 
virtual Propertiesse_private_data ()=0
 
virtual bool set_se_private_data (const String_type &se_private_data_raw)=0
 
virtual bool set_se_private_data (const Properties &se_private_data)=0
 
virtual Object_id tablespace_id () const =0
 
virtual void set_tablespace_id (Object_id tablespace_id)=0
 
virtual const String_typeengine () const =0
 
virtual void set_engine (const String_type &engine)=0
 
virtual enum_index_type type () const =0
 
virtual void set_type (enum_index_type type)=0
 
virtual enum_index_algorithm algorithm () const =0
 
virtual void set_algorithm (enum_index_algorithm algorithm)=0
 
virtual bool is_algorithm_explicit () const =0
 
virtual void set_algorithm_explicit (bool alg_expl)=0
 
virtual bool is_visible () const =0
 
virtual void set_visible (bool is_visible)=0
 
virtual LEX_CSTRING engine_attribute () const =0
 
virtual void set_engine_attribute (LEX_CSTRING)=0
 
virtual LEX_CSTRING secondary_engine_attribute () const =0
 
virtual void set_secondary_engine_attribute (LEX_CSTRING)=0
 
virtual Index_elementadd_element (Column *c)=0
 
virtual const Index_elementselements () const =0
 
virtual void set_ordinal_position (uint ordinal_position)=0
 
virtual uint ordinal_position () const =0
 
virtual void serialize (Sdi_wcontext *wctx, Sdi_writer *w) const =0
 Converts *this into json. More...
 
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 provided. More...
 
virtual bool is_candidate_key () const =0
 Check if index represents candidate key. More...
 
- Public Member Functions inherited from dd::Entity_object
virtual Object_id id () const =0
 The unique dictionary object id. More...
 
virtual bool is_persistent () const =0
 Is dictionary object persistent in dictionary tables ? More...
 
virtual const String_typename () const =0
 
virtual void set_name (const String_type &name)=0
 
- Public Member Functions inherited from dd::Weak_object
virtual void debug_print (String_type &outb) const =0
 
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 

Member Typedef Documentation

◆ DD_table

◆ Impl

◆ Index_elements

Member Enumeration Documentation

◆ enum_index_algorithm

Enumerator
IA_SE_SPECIFIC 
IA_BTREE 
IA_RTREE 
IA_HASH 
IA_FULLTEXT 

◆ enum_index_type

Enumerator
IT_PRIMARY 
IT_UNIQUE 
IT_MULTIPLE 
IT_FULLTEXT 
IT_SPATIAL 

Constructor & Destructor Documentation

◆ ~Index()

dd::Index::~Index ( )
overridedefault

Member Function Documentation

◆ add_element()

virtual Index_element * dd::Index::add_element ( Column c)
pure virtual

Implemented in dd::Index_impl.

◆ algorithm()

virtual enum_index_algorithm dd::Index::algorithm ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ comment()

virtual const String_type & dd::Index::comment ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ deserialize()

virtual bool dd::Index::deserialize ( Sdi_rcontext rctx,
const RJ_Value val 
)
pure virtual

Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provided.

Cross-references encountered within this object are tracked in sdictx, so that they can be updated when the entire object graph has been established.

Parameters
rctxstores book-keeping information for the deserialization process
valsubobject of rapidjson DOM containing json representation of this object

Implemented in dd::Index_impl.

◆ elements()

virtual const Index_elements & dd::Index::elements ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ engine()

virtual const String_type & dd::Index::engine ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ engine_attribute()

virtual LEX_CSTRING dd::Index::engine_attribute ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ index() [1/2]

Index & dd::Index::index ( )
inline

◆ index() [2/2]

const Index & dd::Index::index ( ) const
inline

Dummy method to be able to use Partition_index and Index interchangeably in templates.

◆ is_algorithm_explicit()

virtual bool dd::Index::is_algorithm_explicit ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ is_candidate_key()

virtual bool dd::Index::is_candidate_key ( ) const
pure virtual

Check if index represents candidate key.

Implemented in dd::Index_impl.

◆ is_generated()

virtual bool dd::Index::is_generated ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ is_hidden()

virtual bool dd::Index::is_hidden ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ is_visible()

virtual bool dd::Index::is_visible ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ options() [1/2]

virtual const Properties & dd::Index::options ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ options() [2/2]

virtual Properties & dd::Index::options ( )
pure virtual

Implemented in dd::Index_impl.

◆ ordinal_position()

virtual uint dd::Index::ordinal_position ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ se_private_data() [1/2]

virtual const Properties & dd::Index::se_private_data ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ se_private_data() [2/2]

virtual Properties & dd::Index::se_private_data ( )
pure virtual

Implemented in dd::Index_impl.

◆ secondary_engine_attribute()

virtual LEX_CSTRING dd::Index::secondary_engine_attribute ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ serialize()

virtual void dd::Index::serialize ( Sdi_wcontext wctx,
Sdi_writer w 
) const
pure virtual

Converts *this into json.

Converts all member variables that are to be included in the sdi into json by transforming them appropriately and passing them to the rapidjson writer provided.

Parameters
wctxopaque context for data needed by serialization
wrapidjson writer which will perform conversion to json

Implemented in dd::Index_impl.

◆ set_algorithm()

virtual void dd::Index::set_algorithm ( enum_index_algorithm  algorithm)
pure virtual

Implemented in dd::Index_impl.

◆ set_algorithm_explicit()

virtual void dd::Index::set_algorithm_explicit ( bool  alg_expl)
pure virtual

Implemented in dd::Index_impl.

◆ set_comment()

virtual void dd::Index::set_comment ( const String_type comment)
pure virtual

Implemented in dd::Index_impl.

◆ set_engine()

virtual void dd::Index::set_engine ( const String_type engine)
pure virtual

Implemented in dd::Index_impl.

◆ set_engine_attribute()

virtual void dd::Index::set_engine_attribute ( LEX_CSTRING  )
pure virtual

Implemented in dd::Index_impl.

◆ set_generated()

virtual void dd::Index::set_generated ( bool  generated)
pure virtual

Implemented in dd::Index_impl.

◆ set_hidden()

virtual void dd::Index::set_hidden ( bool  hidden)
pure virtual

Implemented in dd::Index_impl.

◆ set_options() [1/2]

virtual bool dd::Index::set_options ( const Properties options)
pure virtual

Implemented in dd::Index_impl.

◆ set_options() [2/2]

virtual bool dd::Index::set_options ( const String_type options_raw)
pure virtual

Implemented in dd::Index_impl.

◆ set_ordinal_position()

virtual void dd::Index::set_ordinal_position ( uint  ordinal_position)
pure virtual

Implemented in dd::Index_impl.

◆ set_se_private_data() [1/2]

virtual bool dd::Index::set_se_private_data ( const Properties se_private_data)
pure virtual

Implemented in dd::Index_impl.

◆ set_se_private_data() [2/2]

virtual bool dd::Index::set_se_private_data ( const String_type se_private_data_raw)
pure virtual

Implemented in dd::Index_impl.

◆ set_secondary_engine_attribute()

virtual void dd::Index::set_secondary_engine_attribute ( LEX_CSTRING  )
pure virtual

Implemented in dd::Index_impl.

◆ set_tablespace_id()

virtual void dd::Index::set_tablespace_id ( Object_id  tablespace_id)
pure virtual

Implemented in dd::Index_impl.

◆ set_type()

virtual void dd::Index::set_type ( enum_index_type  type)
pure virtual

Implemented in dd::Index_impl.

◆ set_visible()

virtual void dd::Index::set_visible ( bool  is_visible)
pure virtual

Implemented in dd::Index_impl.

◆ table() [1/2]

virtual const Table & dd::Index::table ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ table() [2/2]

virtual Table & dd::Index::table ( )
pure virtual

Implemented in dd::Index_impl.

◆ tablespace_id()

virtual Object_id dd::Index::tablespace_id ( ) const
pure virtual

Implemented in dd::Index_impl.

◆ type()

virtual enum_index_type dd::Index::type ( ) const
pure virtual

Implemented in dd::Index_impl.


The documentation for this class was generated from the following file: