MySQL 8.0.40
Source Code Documentation
cmp_item_row Class Reference

#include <item_cmpfunc.h>

Inheritance diagram for cmp_item_row:
[legend]

Public Member Functions

 cmp_item_row (THD *thd, Item *item)
 
 ~cmp_item_row () override
 
 cmp_item_row (cmp_item_row &&other)
 
bool allocate_value_comparators (MEM_ROOT *mem_root, cmp_item *tmpl, Item *arg) override
 Allocate comparator objects for each value object, based on the template comparator objects. More...
 
void store_value (Item *item) override
 
int cmp (Item *arg) override
 
int compare (const cmp_item *arg) const override
 
cmp_itemmake_same () override
 
void store_value_by_template (cmp_item *tmpl, Item *) override
 
- Public Member Functions inherited from cmp_item
 cmp_item ()=default
 
virtual ~cmp_item ()=default
 

Private Member Functions

 cmp_item_row ()
 
bool allocate_template_comparators (THD *thd, Item *item)
 Allocate comparator objects for the LHS argument to IN, used as template for the value comparators. More...
 

Private Attributes

cmp_item ** comparators {nullptr}
 
uint n
 

Friends

class Mem_root_array_YY< cmp_item_row >
 

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...
 

Constructor & Destructor Documentation

◆ cmp_item_row() [1/3]

cmp_item_row::cmp_item_row ( )
inlineprivate

◆ cmp_item_row() [2/3]

cmp_item_row::cmp_item_row ( THD thd,
Item item 
)
inline

◆ ~cmp_item_row()

cmp_item_row::~cmp_item_row ( )
override

◆ cmp_item_row() [3/3]

cmp_item_row::cmp_item_row ( cmp_item_row &&  other)
inline

Member Function Documentation

◆ allocate_template_comparators()

bool cmp_item_row::allocate_template_comparators ( THD thd,
Item item 
)
private

Allocate comparator objects for the LHS argument to IN, used as template for the value comparators.

Parameters
thdSession handle
itemItem to allocate comparator objects for, left-hand IN operand
Returns
false if success, true if error.

◆ allocate_value_comparators()

bool cmp_item_row::allocate_value_comparators ( MEM_ROOT mem_root,
cmp_item tmpl,
Item arg 
)
overridevirtual

Allocate comparator objects for each value object, based on the template comparator objects.

Only implemented for derived class cmp_item_row.

Parameters
mem_rootmem_root for allocation.
tmplThe template item object.
argThe value item.
Returns
false if success, true if error.

Reimplemented from cmp_item.

◆ cmp()

int cmp_item_row::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_row::compare ( const cmp_item arg) const
overridevirtual

Implements cmp_item.

◆ make_same()

cmp_item * cmp_item_row::make_same ( )
overridevirtual

Implements cmp_item.

◆ store_value()

void cmp_item_row::store_value ( Item item)
overridevirtual

Implements cmp_item.

◆ store_value_by_template()

void cmp_item_row::store_value_by_template ( cmp_item tmpl,
Item item 
)
overridevirtual

Reimplemented from cmp_item.

Friends And Related Function Documentation

◆ Mem_root_array_YY< cmp_item_row >

friend class Mem_root_array_YY< cmp_item_row >
friend

Member Data Documentation

◆ comparators

cmp_item** cmp_item_row::comparators {nullptr}
private

◆ n

uint cmp_item_row::n
private

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