Drizzled Public API Documentation

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

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 &root)
static void * operator new (size_t size, Root *root)
static void * operator new[] (size_t size)
static void * operator new[] (size_t size, Root &root)
static void * operator new[] (size_t size, Root *root)
static void operator delete (void *)
static void operator delete (void *, Root &)
static void operator delete (void *, Root *)
static void operator delete[] (void *)
static void operator delete[] (void *, Root &)
static void operator delete[] (void *, Root *)

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 51 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 1130 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 1381 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_e_string ( )

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

Definition at line 1154 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_signed_unsigned ( )

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

Definition at line 1321 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_unsigned ( )

Compare values as BIGINT UNSIGNED.

Definition at line 1298 of file cmpfunc.cc.

int drizzled::Arg_comparator::compare_int_unsigned_signed ( )

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

Definition at line 1346 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 117 of file cmpfunc.h.


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