MySQL  8.0.21
Source Code Documentation

Exposes SDI-related functionality to the rest of the dictionary code. More...

#include <functional>
#include "my_compiler.h"
#include "sql/dd/sdi_fwd.h"
#include "sql/dd/string_type.h"

Go to the source code of this file.

Namespaces

 dd
 The version of the current data dictionary table definitions.
 
 dd::sdi
 

Typedefs

typedef String_type dd::Sdi_type
 
using dd::SdiCompatibilityChecker = std::function< bool(const RJ_Document &)>
 Type alias for std::function wrapping a callable to check if SDI, as an RJ_Document, is compatible. More...
 

Functions

Sdi_type dd::serialize (const Schema &schema)
 Serialize a Schema object. More...
 
Sdi_type dd::serialize (THD *thd, const Table &table, const String_type &schema_name)
 Serialize a Table object. More...
 
Sdi_type dd::serialize (const Tablespace &tablespace)
 Serialize a Tablespace object. More...
 
bool dd::CheckDefaultCompatibility (const RJ_Document &doc)
 Default checker which implements the traditional (strict) compatibility check: MYSQL_VERSION less than or equal, dd_version equal, and sdi_version equal. More...
 
bool dd::deserialize (THD *thd, const Sdi_type &sdi, Table *dst_table, SdiCompatibilityChecker comp_checker, String_type *deser_schema_name)
 Deserialize a dd::Table object. More...
 
bool dd::deserialize (THD *thd, const Sdi_type &sdi, Table *table, String_type *deser_schema_name=nullptr)
 Deserialize a dd::Table object. More...
 
bool dd::deserialize (THD *thd, const Sdi_type &sdi, Tablespace *dst_tablespace, SdiCompatibilityChecker comp_checker)
 Deserialize a dd::Tablespace object. More...
 
bool dd::deserialize (THD *thd, const Sdi_type &sdi, Tablespace *tablespace)
 Deserialize a dd::Tablespace object. More...
 
template<class DDT >
bool dd::sdi::store (THD *thd, const DDT *ddo)
 Generic noop for all types that don't have a specific overload. More...
 
bool dd::sdi::store (THD *thd, const Table *t)
 Stores the SDI for a table. More...
 
bool dd::sdi::store (THD *thd, const Tablespace *ts)
 Stores the SDI for a table space. More...
 
template<class DDT >
bool dd::sdi::drop (THD *thd, const DDT *)
 Generic noop for all types that don't have a specific overload. More...
 
bool dd::sdi::drop (THD *thd, const Table *t)
 Remove SDI for a table. More...
 
template<class DDT >
bool dd::sdi::drop_after_update (THD *thd, const DDT *old_ddo, const DDT *new_ddo)
 Hook for SDI cleanup after updating DD object. More...
 
bool dd::sdi::drop_after_update (THD *thd, const Table *old_t, const Table *new_t)
 Table cleanup hook. More...
 

Variables

constexpr const std::uint64_t dd::SDI_VERSION = 80019
 The version of the current SDI Json format. More...
 

Detailed Description

Exposes SDI-related functionality to the rest of the dictionary code.