#include <sargable_param.h>
Public Member Functions | |
SargableParam (Field *in_field, Item **in_arg_value, uint32_t in_num_values) | |
SargableParam (const SargableParam &rhs) | |
SargableParam & | operator= (const SargableParam &rhs) |
Field * | getField () |
uint32_t | getNumValues () const |
bool | isConstItem (uint32_t index) |
Private Attributes | |
Field * | field |
Item ** | arg_value |
uint32_t | num_values |
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.
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.