MySQL  8.0.20
Source Code Documentation
Cached_item Class Referenceabstract

This is used for segregating rows in groups (e.g. More...

#include <item.h>

Inheritance diagram for Cached_item:
Cached_item_decimal Cached_item_int Cached_item_json Cached_item_real Cached_item_str Cached_item_temporal

Public Member Functions

 Cached_item (Item *i)
 
virtual bool cmp ()=0
 If cached value is different from item's, returns true and updates cached value with item's. More...
 
virtual ~Cached_item ()
 
Itemget_item ()
 
virtual void copy_to_Item_cache (Item_cache *i_c)
 

Public Attributes

bool null_value
 

Protected Attributes

Itemitem
 The item whose value to cache. More...
 

Detailed Description

This is used for segregating rows in groups (e.g.

GROUP BY, windows), to detect boundaries of groups. It caches a value, which is representative of the group, and can compare it to another row, and update its value when entering a new group.

Constructor & Destructor Documentation

◆ Cached_item()

Cached_item::Cached_item ( Item i)
inline

◆ ~Cached_item()

Cached_item::~Cached_item ( )
virtual

Member Function Documentation

◆ cmp()

virtual bool Cached_item::cmp ( )
pure virtual

If cached value is different from item's, returns true and updates cached value with item's.

Implemented in Cached_item_decimal, Cached_item_temporal, Cached_item_int, Cached_item_real, Cached_item_json, and Cached_item_str.

◆ copy_to_Item_cache()

virtual void Cached_item::copy_to_Item_cache ( Item_cache i_c)
inlinevirtual

◆ get_item()

Item* Cached_item::get_item ( )
inline

Member Data Documentation

◆ item

Item* Cached_item::item
protected

The item whose value to cache.

◆ null_value

bool Cached_item::null_value

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