Drizzled Public API Documentation

drizzled::optimizer::KeyUse Class Reference

Public Member Functions

 KeyUse (Table *in_table, Item *in_val, table_map in_used_tables, uint32_t in_key, uint32_t in_keypart, uint32_t in_optimize, key_part_map in_keypart_map, ha_rows in_ref_table_rows, bool in_null_rejecting, bool *in_cond_guard)
TablegetTable ()
ItemgetVal ()
table_map getUsedTables () const
uint32_t getKey () const
uint32_t getKeypart () const
uint32_t getOptimizeFlags () const
key_part_map getKeypartMap () const
ha_rows getTableRows () const
void setTableRows (ha_rows input)
bool isNullRejected () const
bool * getConditionalGuard ()

Private Attributes

Tabletable
Itemval
table_map used_tables
uint32_t key
uint32_t keypart
uint32_t optimize
key_part_map keypart_map
ha_rows ref_table_rows
bool null_rejecting
bool * cond_guard

Detailed Description

Definition at line 27 of file key_use.h.

Member Data Documentation

bool* drizzled::optimizer::KeyUse::cond_guard
private

!NULL - This KeyUse was created from an equality that was wrapped into an Item_func_trig_cond. This means the equality (and validity of this KeyUse element) can be turned on and off. The on/off state is indicted by the pointed value: *cond_guard == true <=> equality condition is on *cond_guard == false <=> equality condition is off

NULL - Otherwise (the source equality can't be turned off)

Definition at line 157 of file key_use.h.

bool drizzled::optimizer::KeyUse::null_rejecting
private

If true, the comparison this value was created from will not be satisfied if val has NULL 'value'.

Definition at line 145 of file key_use.h.

uint32_t drizzled::optimizer::KeyUse::optimize
private

0, or KEY_OPTIMIZE_*

Definition at line 135 of file key_use.h.

Table* drizzled::optimizer::KeyUse::table
private

Pointer to the table this key belongs to

Definition at line 125 of file key_use.h.

Item* drizzled::optimizer::KeyUse::val
private

or value if no field

Definition at line 127 of file key_use.h.


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