Drizzled Public API Documentation

drizzled::optimizer::SargableParam Class Reference

#include <sargable_param.h>

Public Member Functions

 SargableParam (Field *in_field, Item **in_arg_value, uint32_t in_num_values)
 
 SargableParam (const SargableParam &rhs)
 
SargableParamoperator= (const SargableParam &rhs)
 
FieldgetField ()
 
uint32_t getNumValues () const
 
bool isConstItem (uint32_t index)
 

Private Attributes

Fieldfield
 
Item ** arg_value
 
uint32_t num_values
 

Detailed Description

SARG stands for search argument. A sargable predicate is one of the form (or which can be put in to the form) "column comparison-operator value". SARGS are expressed as a boolean expression of such predicates in disjunctive normal form. For more information, consult the original paper in which this term was introduced: Access Path Selection in a Relational Database Management System by Selinger et al

This class is used to collect info on potentially sargable predicates in order to check whether they become sargable after reading const tables. We form a bitmap of indexes that can be used for sargable predicates. Only such indexes are involved in range analysis.

Definition at line 40 of file sargable_param.h.

Member Data Documentation

Item** drizzled::optimizer::SargableParam::arg_value
private

Values of potential keys for lookups.

Definition at line 103 of file sargable_param.h.

Field* drizzled::optimizer::SargableParam::field
private

Field agsinst which to check sargability.

Definition at line 98 of file sargable_param.h.

uint32_t drizzled::optimizer::SargableParam::num_values
private

Number of values in the arg_value array.

Definition at line 108 of file sargable_param.h.


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