MySQL 8.3.0
Source Code Documentation
cmp_item_json Class Referencefinal

#include <item_cmpfunc.h>

Inheritance diagram for cmp_item_json:
[legend]

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 bool allocate_value_comparators (MEM_ROOT *mem_root, cmp_item *tmpl, Item *arg)
 Allocate comparator objects for each value object, based on the template comparator objects. More...
 
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_itemnew_comparator (THD *thd, Item_result result_type, Item *item, const CHARSET_INFO *cs)
 Create an 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.

Parameters
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 ( )
overridedefault

Member Function Documentation

◆ cmp()

int cmp_item_json::cmp ( Item item)
overridevirtual
Returns
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
overridevirtual

Implements cmp_item.

◆ make_same()

cmp_item * cmp_item_json::make_same ( )
overridevirtual

Implements cmp_item.

◆ store_value()

void cmp_item_json::store_value ( Item item)
overridevirtual

Implements cmp_item.

Member Data Documentation

◆ m_holder

unique_ptr_destroy_only<Json_scalar_holder> cmp_item_json::m_holder
private

Cache for the value above.

◆ m_str_value

String cmp_item_json::m_str_value
private

String buffer.

◆ m_value

unique_ptr_destroy_only<Json_wrapper> cmp_item_json::m_value
private

Cached JSON value to look up.


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