My Project
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
Item_type_holder Class Reference
Inheritance diagram for Item_type_holder:
Item

List of all members.

Public Member Functions

 Item_type_holder (THD *, Item *)
Item_result result_type () const
enum_field_types field_type () const
enum Type type () const
double val_real ()
longlong val_int ()
my_decimalval_decimal (my_decimal *)
Stringval_str (String *)
bool get_date (MYSQL_TIME *ltime, uint fuzzydate)
bool get_time (MYSQL_TIME *ltime)
bool join_types (THD *thd, Item *)
Fieldmake_field_by_type (TABLE *table)
Field::geometry_type get_geometry_type () const

Static Public Member Functions

static uint32 display_length (Item *item)
static enum_field_types get_real_type (Item *)

Protected Member Functions

void get_full_info (Item *item)

Protected Attributes

TYPELIB * enum_set_typelib
enum_field_types fld_type
Field::geometry_type geometry_type
int prev_decimal_int_part

Member Function Documentation

uint32 Item_type_holder::display_length ( Item item) [static]

Calculate lenth for merging result for given Item type.

Parameters:
itemItem for length detection
Returns:
length
void Item_type_holder::get_full_info ( Item item) [protected]

Get full information from Item about enum/set fields to be able to create them later.

Parameters:
itemItem for information collection
enum_field_types Item_type_holder::get_real_type ( Item item) [static]

Find real field type of item.

Returns:
type of field which should be created to store item value
bool Item_type_holder::join_types ( THD *  thd,
Item item 
)

Find field type which can carry current Item_type_holder type and type of given Item.

Parameters:
thdthread handler
itemgiven item to join its parameters with this item ones
Return values:
TRUEerror - types are incompatible
FALSEOK

Make temporary table field according collected information about type of UNION result.

Parameters:
tabletemporary table for which we create fields
Returns:
created field
Item_result Item_type_holder::result_type ( ) const [virtual]

Return expression type of Item_type_holder.

Returns:
Item_result (type of internal MySQL expression result)

Reimplemented from Item.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines