Drizzled Public API Documentation

drizzled::Arg_comparator Class Reference

Inheritance diagram for drizzled::Arg_comparator:
drizzled::memory::SqlAlloc

List of all members.

Public Member Functions

 Arg_comparator (Item **a1, Item **a2)
int set_compare_func (Item_bool_func2 *owner, Item_result type)
int set_compare_func (Item_bool_func2 *owner_arg)
int set_cmp_func (Item_bool_func2 *owner_arg, Item **a1, Item **a2, Item_result type)
int set_cmp_func (Item_bool_func2 *owner_arg, Item **a1, Item **a2)
int compare ()
int compare_string ()
int compare_binary_string ()
int compare_real ()
int compare_decimal ()
int compare_int_signed ()
int compare_int_signed_unsigned ()
int compare_int_unsigned_signed ()
int compare_int_unsigned ()
int compare_row ()
int compare_e_string ()
int compare_e_binary_string ()
int compare_e_real ()
int compare_e_decimal ()
int compare_e_int ()
int compare_e_int_diff_signedness ()
int compare_e_row ()
int compare_real_fixed ()
int compare_e_real_fixed ()
int compare_datetime ()
void set_datetime_cmp_func (Item **a1, Item **b1)

Static Public Member Functions

static enum enum_date_cmp_type can_compare_as_dates (Item *a, Item *b, int64_t *const_val_arg)
static void * operator new (size_t size)
static void * operator new (size_t size, Root *mem_root)
static void * operator new[] (size_t size)
static void * operator new[] (size_t size, Root *mem_root)
static void operator delete (void *, size_t)
static void operator delete (void *, Root *)
static void operator delete[] (void *, Root *)
static void operator delete[] (void *, size_t)

Public Attributes

DTCollation cmp_collation

Static Public Attributes

static arg_cmp_func comparator_matrix [5][2]

Private Types

enum  enum_date_cmp_type { CMP_DATE_DFLT = 0, CMP_DATE_WITH_DATE, CMP_DATE_WITH_STR, CMP_STR_WITH_DATE }

Private Attributes

Item ** a
Item ** b
arg_cmp_func func
Item_bool_func2owner
Arg_comparatorcomparators
double precision
Sessionsession
enum_field_types a_type
enum_field_types b_type
Itema_cache
Itemb_cache
bool is_nulls_eq
int64_t(* get_value_func )(Session *session, Item ***item_arg, Item **cache_arg, Item *warn_item, bool *is_null)

Friends

class Item_func

Detailed Description

Definition at line 58 of file cmpfunc.h.


Member Function Documentation

int drizzled::Arg_comparator::compare_binary_string ( )

Compare strings byte by byte. End spaces are also compared.

Return values:
<0*a < *b
0*b == *b
>0*a > *b

Definition at line 1134 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_e_int_diff_signedness ( )

Compare unsigned *a with signed *b or signed *a with unsigned *b.

Definition at line 1385 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_e_string ( )

Compare strings, but take into account that NULL == NULL.

Definition at line 1158 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_signed_unsigned ( )

Compare signed (*a) with unsigned (*B)

Definition at line 1325 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_unsigned ( )

Compare values as BIGINT UNSIGNED.

Definition at line 1302 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_unsigned_signed ( )

Compare unsigned (*a) with signed (*B)

Definition at line 1350 of file cmpfunc.cc.


Member Data Documentation

arg_cmp_func drizzled::Arg_comparator::comparator_matrix [static]
Initial value:
{{&Arg_comparator::compare_string,     &Arg_comparator::compare_e_string},
 {&Arg_comparator::compare_real,       &Arg_comparator::compare_e_real},
 {&Arg_comparator::compare_int_signed, &Arg_comparator::compare_e_int},
 {&Arg_comparator::compare_row,        &Arg_comparator::compare_e_row},
 {&Arg_comparator::compare_decimal,    &Arg_comparator::compare_e_decimal}}

Definition at line 124 of file cmpfunc.h.


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