MySQL 8.0.29
Source Code Documentation
cmp_item_json Class Referencefinal

#include <item_cmpfunc.h>

Inheritance diagram for cmp_item_json:

Public Member Functions

 cmp_item_json (unique_ptr_destroy_only< Json_wrapper > wrapper, unique_ptr_destroy_only< Json_scalar_holder > holder)
 Construct a cmp_item_json object. More...
 ~cmp_item_json () override
int compare (const cmp_item *ci) const override
void store_value (Item *item) override
int cmp (Item *arg) override
cmp_itemmake_same () override
- Public Member Functions inherited from cmp_item
 cmp_item ()=default
virtual ~cmp_item ()=default
virtual void store_value_by_template (cmp_item *, Item *item)

Private Attributes

unique_ptr_destroy_only< Json_wrapperm_value
 Cached JSON value to look up. More...
unique_ptr_destroy_only< Json_scalar_holderm_holder
 Cache for the value above. More...
String m_str_value
 String buffer. More...

Additional Inherited Members

- Static Public Member Functions inherited from cmp_item
static cmp_itemget_comparator (Item_result result_type, const Item *item, const CHARSET_INFO *cs)
 Find the appropriate comparator for the given type. More...
- Protected Member Functions inherited from cmp_item_scalar
void set_null_value (bool nv)
- Protected Attributes inherited from cmp_item_scalar
bool m_null_value
 If stored value is NULL. More...

Constructor & Destructor Documentation

◆ cmp_item_json()

cmp_item_json::cmp_item_json ( unique_ptr_destroy_only< Json_wrapper wrapper,
unique_ptr_destroy_only< Json_scalar_holder holder 

Construct a cmp_item_json object.

wrappera Json_wrapper for holding the JSON value in the comparison
holderpre-alloced memory for creating JSON scalar values without using the heap

◆ ~cmp_item_json()

cmp_item_json::~cmp_item_json ( )

Member Function Documentation

◆ cmp()

int cmp_item_json::cmp ( Item item)
result (true, false or UNKNOWN) of "stored argument's value <> item's value"

Implements cmp_item.

◆ compare()

int cmp_item_json::compare ( const cmp_item ci) const

Implements cmp_item.

◆ make_same()

cmp_item * cmp_item_json::make_same ( )

Implements cmp_item.

◆ store_value()

void cmp_item_json::store_value ( Item item)

Implements cmp_item.

Member Data Documentation

◆ m_holder

unique_ptr_destroy_only<Json_scalar_holder> cmp_item_json::m_holder

Cache for the value above.

◆ m_str_value

String cmp_item_json::m_str_value

String buffer.

◆ m_value

unique_ptr_destroy_only<Json_wrapper> cmp_item_json::m_value

Cached JSON value to look up.

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