MySQL 9.0.0
Source Code Documentation
anonymous_namespace{json_dom.cc} Namespace Reference

Classes

class  Cmp_json
 
class  Eq_json
 
struct  Json_child_equal
 Functor which compares a child DOM of a JSON array or JSON object for equality. More...
 
struct  Json_seek_params
 Input and output parameters to seek_no_dup_elimination that remain constant in recursive calls. More...
 
class  Rapid_json_handler
 This class implements rapidjson's Handler concept to make our own handler which will construct our DOM from the parsing of the JSON text. More...
 
class  Wrapper_hash_key
 Helper class for building a hash key. More...
 
class  Wrapper_sort_key
 Wrapper around a sort key buffer. More...
 

Enumerations

enum class  enum_json_opaque_type { J_OPAQUE_BLOB = static_cast<int>(enum_json_type::J_ERROR) + 1 , J_OPAQUE_BIT }
 Extended type ids so that JSON_TYPE() can give useful type names to certain sub-types of J_OPAQUE. More...
 

Functions

size_t opaque_index (enum_field_types field_type)
 Compute an index into json_type_string_map to be applied to certain sub-types of J_OPAQUE. More...
 

Variables

constexpr uchar JSON_KEY_NULL = '\x00'
 
constexpr uchar JSON_KEY_NUMBER_NEG = '\x01'
 
constexpr uchar JSON_KEY_NUMBER_ZERO = '\x02'
 
constexpr uchar JSON_KEY_NUMBER_POS = '\x03'
 
constexpr uchar JSON_KEY_STRING = '\x04'
 
constexpr uchar JSON_KEY_OBJECT = '\x05'
 
constexpr uchar JSON_KEY_ARRAY = '\x06'
 
constexpr uchar JSON_KEY_FALSE = '\x07'
 
constexpr uchar JSON_KEY_TRUE = '\x08'
 
constexpr uchar JSON_KEY_DATE = '\x09'
 
constexpr uchar JSON_KEY_TIME = '\x0A'
 
constexpr uchar JSON_KEY_DATETIME = '\x0B'
 
constexpr uchar JSON_KEY_OPAQUE = '\x0C'
 
constexpr std::array json_type_string_map
 Maps the enumeration value of type enum_json_type into a string. More...
 

Enumeration Type Documentation

◆ enum_json_opaque_type

enum class anonymous_namespace{json_dom.cc}::enum_json_opaque_type
strong

Extended type ids so that JSON_TYPE() can give useful type names to certain sub-types of J_OPAQUE.

Enumerator
J_OPAQUE_BLOB 
J_OPAQUE_BIT 

Function Documentation

◆ opaque_index()

size_t anonymous_namespace{json_dom.cc}::opaque_index ( enum_field_types  field_type)

Compute an index into json_type_string_map to be applied to certain sub-types of J_OPAQUE.

Parameters
field_typeThe refined field type of the opaque value.
Returns
An index into json_type_string_map.

Variable Documentation

◆ JSON_KEY_ARRAY

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_ARRAY = '\x06'
constexpr

◆ JSON_KEY_DATE

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_DATE = '\x09'
constexpr

◆ JSON_KEY_DATETIME

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_DATETIME = '\x0B'
constexpr

◆ JSON_KEY_FALSE

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_FALSE = '\x07'
constexpr

◆ JSON_KEY_NULL

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_NULL = '\x00'
constexpr

◆ JSON_KEY_NUMBER_NEG

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_NUMBER_NEG = '\x01'
constexpr

◆ JSON_KEY_NUMBER_POS

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_NUMBER_POS = '\x03'
constexpr

◆ JSON_KEY_NUMBER_ZERO

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_NUMBER_ZERO = '\x02'
constexpr

◆ JSON_KEY_OBJECT

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_OBJECT = '\x05'
constexpr

◆ JSON_KEY_OPAQUE

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_OPAQUE = '\x0C'
constexpr

◆ JSON_KEY_STRING

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_STRING = '\x04'
constexpr

◆ JSON_KEY_TIME

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_TIME = '\x0A'
constexpr

◆ JSON_KEY_TRUE

constexpr uchar anonymous_namespace{json_dom.cc}::JSON_KEY_TRUE = '\x08'
constexpr

◆ json_type_string_map

constexpr std::array anonymous_namespace{json_dom.cc}::json_type_string_map
constexpr
Initial value:
= {
"NULL"sv,
"DECIMAL"sv,
"INTEGER"sv,
"UNSIGNED INTEGER"sv,
"DOUBLE"sv,
"STRING"sv,
"OBJECT"sv,
"ARRAY"sv,
"BOOLEAN"sv,
"DATE"sv,
"TIME"sv,
"DATETIME"sv,
"TIMESTAMP"sv,
"OPAQUE"sv,
"ERROR"sv,
"BLOB"sv,
"BIT"sv,
}

Maps the enumeration value of type enum_json_type into a string.

For example:

json_type_string_map[J_OBJECT] == "OBJECT"