MySQL 8.3.0
Source Code Documentation
sdi_impl.h File Reference

Internal (private) header file for the (de)serialization code. More...

#include "my_rapidjson_size_t.h"
#include <assert.h>
#include <rapidjson/document.h>
#include <rapidjson/prettywriter.h>
#include <memory>
#include "base64.h"
#include "prealloced_array.h"
#include "sql/dd/object_id.h"
#include "sql/dd/string_type.h"

Go to the source code of this file.

Classes

struct  dd_vector< T, PREALLOC >
 

Namespaces

namespace  dd
 The version of the current data dictionary table definitions.
 

Typedefs

typedef dd::String_type binary_t
 
typedef dd_vector< char, 32 > Byte_buffer
 

Functions

Properties * dd::parse_properties (const String_type &str)
 Factory function for creating a Property object from String_type. More...
 
char * dd::buf_handle (Sdi_wcontext *wctx, size_t sz)
 Return a non-owning pointer to a char buffer which can be used for e.g. More...
 
const String_type & dd::lookup_schema_name (Sdi_wcontext *wctx)
 Returns const reference to string holding schema name to use in SDI. More...
 
const String_type & dd::lookup_tablespace_name (Sdi_wcontext *wctx, dd::Object_id id)
 Look up the tablespace name for a tablespace id. More...
 
void dd::track_object (Sdi_rcontext *rctx, Column *column_object)
 Register Column objects being deserialized so that it will be possible to resolve references to it after deserialization has finished. More...
 
void dd::track_object (Sdi_rcontext *rctx, Index *index_object)
 Register Index objects being deserialized so that it will be possible to resolve references to it after deserialization has finished. More...
 
Index * dd::get_by_opx (Sdi_rcontext *rctx, const Index *, uint opx)
 Return an non-owning raw pointer to the deserialized Index object with ordinal position index opx (ordinal position opx+1). More...
 
Column * dd::get_by_opx (Sdi_rcontext *rctx, const Column *, uint opx)
 Return an non-owning raw pointer to the deserialized Column object with ordinal position index opx (ordinal position opx+1). More...
 
char * dd::buf_handle (Sdi_rcontext *rctx, size_t sz)
 Return a non-owning pointer to a char buffer which can be used for e.g. More...
 
bool dd::lookup_schema_ref (Sdi_rcontext *rctx, const String_type &name, Object_id *idp)
 Return the the Object_id of a schema name in the current data dictionary. More...
 
bool dd::lookup_tablespace_ref (Sdi_rcontext *rctx, const String_type &name, Object_id *idp)
 Return the the Object_id of a tablespace name in the current data dictionary. More...
 
template<typename W >
void write_value (W *w, bool a)
 
template<typename GV >
bool read_value (bool *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, int a)
 
template<typename GV >
bool read_value (int *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, uint a)
 
template<typename GV >
bool read_value (uint *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, ulong a)
 
template<typename GV >
bool read_value (ulong *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, ulonglong a)
 
template<typename GV >
bool read_value (ulonglong *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, const dd::String_type &a)
 
template<typename GV >
bool read_value (dd::String_type *ap, const GV &gv)
 
template<typename W >
void write_value (W *w, dd::String_type *a)
 
template<typename W , typename T >
void write (W *w, const T &t, const char *key, size_t key_sz)
 
template<typename T , typename GV >
bool read (T *ap, const GV &gv, const char *key)
 
template<typename W , typename ENUM_T >
void write_enum (W *w, ENUM_T enum_val, const char *key, size_t keysz)
 
template<typename ENUM_T , typename GV >
bool read_enum (ENUM_T *ep, const GV &gv, const char *key)
 
template<typename W >
void write_binary (dd::Sdi_wcontext *wctx, W *w, const binary_t &b, const char *key, size_t keysz)
 
template<typename GV >
bool read_binary (dd::Sdi_rcontext *rctx, binary_t *b, const GV &gv, const char *key)
 
template<typename W , typename PP >
void write_properties (W *w, const PP &p, const char *key, size_t keysz)
 
template<typename PP , typename GV >
bool read_properties (PP *p, const GV &gv, const char *key)
 
template<typename W , typename PP >
void write_opx_reference (W *w, const PP &p, const char *key, size_t keysz)
 
template<typename PP , typename GV >
bool read_opx_reference (dd::Sdi_rcontext *rctx, PP *p, const GV &gv, const char *key)
 
template<typename GV >
bool deserialize_schema_ref (dd::Sdi_rcontext *rctx, dd::Object_id *p, const GV &gv, const char *key)
 
template<typename W >
void serialize_tablespace_ref (dd::Sdi_wcontext *wctx, W *w, dd::Object_id tablespace_id, const char *key, size_t keysz)
 
template<typename GV >
bool deserialize_tablespace_ref (dd::Sdi_rcontext *rctx, dd::Object_id *p, const GV &gv, const char *key)
 
template<typename W , typename C >
void serialize_each (dd::Sdi_wcontext *wctx, W *w, const dd::Collection< C * > &cp, const char *key, size_t keysz)
 
template<typename ADD_BINDER , typename GV >
bool deserialize_each (dd::Sdi_rcontext *rctx, ADD_BINDER add_binder, const GV &obj_gv, const char *key)
 

Detailed Description

Internal (private) header file for the (de)serialization code.

This file is made up of 5 parts:

Internal Sdi_context Functions Prealloced_array Typedefs Value Function Overloads Key-related Function Templates Function Templates for Composite Types

Function Documentation

◆ write_value()

template<typename W >
void write_value ( W *  w,
dd::String_type a 
)