My Project
|
Public Types | |
enum | leaf_color { BLACK, RED } |
enum | Type { IMPOSSIBLE, ALWAYS, MAYBE, MAYBE_KEY, KEY_RANGE } |
enum | { MAX_SEL_ARGS = 16000 } |
Public Member Functions | |
SEL_ARG (SEL_ARG &) | |
SEL_ARG (Field *, const uchar *, const uchar *) | |
SEL_ARG (Field *field, uint8 part, uchar *min_value, uchar *max_value, uint8 min_flag, uint8 max_flag, uint8 maybe_flag) | |
SEL_ARG (enum Type type_arg) | |
bool | is_same (const SEL_ARG *arg) const |
bool | all_same (const SEL_ARG *arg) const |
void | merge_flags (SEL_ARG *arg) |
void | maybe_smaller () |
bool | is_null_interval () |
int | cmp_min_to_min (const SEL_ARG *arg) const |
int | cmp_min_to_max (const SEL_ARG *arg) const |
int | cmp_max_to_max (const SEL_ARG *arg) const |
int | cmp_max_to_min (const SEL_ARG *arg) const |
SEL_ARG * | clone_and (SEL_ARG *arg) |
SEL_ARG * | clone_first (SEL_ARG *arg) |
SEL_ARG * | clone_last (SEL_ARG *arg) |
SEL_ARG * | clone (RANGE_OPT_PARAM *param, SEL_ARG *new_parent, SEL_ARG **next) |
bool | copy_min (SEL_ARG *arg) |
bool | copy_max (SEL_ARG *arg) |
void | copy_min_to_min (SEL_ARG *arg) |
void | copy_min_to_max (SEL_ARG *arg) |
void | copy_max_to_min (SEL_ARG *arg) |
int | store_min (uint length, uchar **min_key, uint min_key_flag) |
int | store_max (uint length, uchar **max_key, uint max_key_flag) |
int | store_min_key (KEY_PART *key, uchar **range_key, uint *range_key_flag, uint last_part) |
int | store_max_key (KEY_PART *key, uchar **range_key, uint *range_key_flag, uint last_part) |
SEL_ARG * | insert (SEL_ARG *key) |
SEL_ARG * | tree_delete (SEL_ARG *key) |
SEL_ARG * | find_range (SEL_ARG *key) |
SEL_ARG * | rb_insert (SEL_ARG *leaf) |
void | test_use_count (SEL_ARG *root) |
SEL_ARG * | first () |
const SEL_ARG * | first () const |
SEL_ARG * | last () |
void | make_root () |
bool | simple_key () |
void | increment_use_count (long count) |
void | free_tree () |
SEL_ARG ** | parent_ptr () |
bool | is_singlepoint () const |
SEL_ARG * | clone_tree (RANGE_OPT_PARAM *param) |
Public Attributes | |
uint8 | min_flag |
uint8 | max_flag |
uint8 | maybe_flag |
uint8 | part |
uint8 | maybe_null |
uint16 | elements |
ulong | use_count |
Field * | field |
uchar * | min_value |
uchar * | max_value |
SEL_ARG * | left |
SEL_ARG * | right |
SEL_ARG * | next |
SEL_ARG * | prev |
SEL_ARG * | parent |
SEL_ARG * | next_key_part |
enum SEL_ARG::leaf_color | color |
enum SEL_ARG::Type | type |
Friends | |
SEL_ARG * | rb_delete_fixup (SEL_ARG *root, SEL_ARG *key, SEL_ARG *par) |
int | test_rb_tree (SEL_ARG *element, SEL_ARG *parent) |
enum SEL_ARG::Type |
Starting an effort to document this field:
IMPOSSIBLE: if the range predicate for this index is always false.
ALWAYS: if the range predicate for this index is always true.
KEY_RANGE: if there is a range predicate that can be used on this index.
bool SEL_ARG::all_same | ( | const SEL_ARG * | arg | ) | const [inline] |
returns true if all the predicates in the keypart tree are equal
SEL_ARG * SEL_ARG::first | ( | ) |
bool SEL_ARG::is_same | ( | const SEL_ARG * | arg | ) | const [inline] |
returns true if a range predicate is equal. Use all_same() to check for equality of all the predicates on this keypart.