MySQL 9.4.0
Source Code Documentation
json_hash.h File Reference
#include <assert.h>
#include <stddef.h>
#include <iterator>
#include <map>
#include <memory>
#include <new>
#include <string>
#include <string_view>
#include <type_traits>
#include <utility>
#include <vector>
#include "extra/xxhash/my_xxhash.h"
#include "sql-common/json_dom.h"

Go to the source code of this file.

Classes

class  Json_wrapper_hasher
 Helper class for building a hash key. More...
 
class  Json_wrapper_crc_hasher
 Helper class for building a hash key. More...
 
class  Json_wrapper_xxh_hasher
 

Functions

bool calculate_etag_for_json (const Json_wrapper &wr, Json_wrapper_hasher &hash_key, const JsonSerializationErrorHandler &error_handler, const std::unordered_set< std::string > *json_arrayagg_keys=nullptr, std::string *path=nullptr)
 
void XXH128_hash_hex (XXH128_hash_t h, String *s)
 
XXH128_hash_t add_xxh128_hash (XXH128_hash_t l, XXH128_hash_t r)
 

Variables

constexpr uint HEX_ENC_ETAG_SIZE = 16
 

Function Documentation

◆ add_xxh128_hash()

XXH128_hash_t add_xxh128_hash ( XXH128_hash_t  l,
XXH128_hash_t  r 
)

◆ calculate_etag_for_json()

bool calculate_etag_for_json ( const Json_wrapper wr,
Json_wrapper_hasher hash_key,
const JsonSerializationErrorHandler error_handler,
const std::unordered_set< std::string > *  json_arrayagg_keys = nullptr,
std::string *  path = nullptr 
)

◆ XXH128_hash_hex()

void XXH128_hash_hex ( XXH128_hash_t  h,
String s 
)

Variable Documentation

◆ HEX_ENC_ETAG_SIZE

constexpr uint HEX_ENC_ETAG_SIZE = 16
constexpr