| 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.
 1.7.6.1
 1.7.6.1