#include <field.h>
Inheritance diagram for Field:


Public Types | |
| NONE | |
| DATE | |
| SHIELD | |
| NOEMPTY | |
| CASEUP | |
| PNR | |
| BGNR | |
| PGNR | |
| YES | |
| NO | |
| REL | |
| CHECK | |
| EMPTY | |
| UNKNOWN_FIELD | |
| CASEDN | |
| NEXT_NUMBER | |
| INTERVAL_FIELD | |
| BIT_FIELD | |
| TIMESTAMP_OLD_FIELD | |
| CAPITALIZE | |
| BLOB_FIELD | |
| TIMESTAMP_DN_FIELD | |
| TIMESTAMP_UN_FIELD | |
| TIMESTAMP_DNUN_FIELD | |
| GEOM_GEOMETRY = 0 | |
| GEOM_POINT = 1 | |
| GEOM_LINESTRING = 2 | |
| GEOM_POLYGON = 3 | |
| GEOM_MULTIPOINT = 4 | |
| GEOM_MULTILINESTRING = 5 | |
| GEOM_MULTIPOLYGON = 6 | |
| GEOM_GEOMETRYCOLLECTION = 7 | |
| itRAW | |
| itMBR | |
| enum | utype { NONE, DATE, SHIELD, NOEMPTY, CASEUP, PNR, BGNR, PGNR, YES, NO, REL, CHECK, EMPTY, UNKNOWN_FIELD, CASEDN, NEXT_NUMBER, INTERVAL_FIELD, BIT_FIELD, TIMESTAMP_OLD_FIELD, CAPITALIZE, BLOB_FIELD, TIMESTAMP_DN_FIELD, TIMESTAMP_UN_FIELD, TIMESTAMP_DNUN_FIELD } |
| enum | geometry_type { GEOM_GEOMETRY = 0, GEOM_POINT = 1, GEOM_LINESTRING = 2, GEOM_POLYGON = 3, GEOM_MULTIPOINT = 4, GEOM_MULTILINESTRING = 5, GEOM_MULTIPOLYGON = 6, GEOM_GEOMETRYCOLLECTION = 7 } |
| enum | imagetype { itRAW, itMBR } |
Public Member Functions | |
| Field (char *ptr_arg, uint32 length_arg, uchar *null_ptr_arg, uchar null_bit_arg, utype unireg_check_arg, const char *field_name_arg) | |
| virtual | ~Field () |
| virtual int | store (const char *to, uint length, CHARSET_INFO *cs)=0 |
| virtual int | store (double nr)=0 |
| virtual int | store (longlong nr, bool unsigned_val)=0 |
| virtual int | store_decimal (const my_decimal *d)=0 |
| virtual int | store_time (TIME *ltime, timestamp_type t_type) |
| virtual double | val_real (void)=0 |
| virtual longlong | val_int (void)=0 |
| virtual my_decimal * | val_decimal (my_decimal *) |
| String * | val_str (String *str) |
| virtual String * | val_str (String *, String *)=0 |
| String * | val_int_as_str (String *val_buffer, my_bool unsigned_flag) |
| virtual bool | str_needs_quotes () |
| virtual Item_result | result_type () const =0 |
| virtual Item_result | cmp_type () const |
| virtual Item_result | cast_to_int_type () const |
| virtual bool | eq (Field *field) |
| virtual bool | eq_def (Field *field) |
| virtual uint32 | pack_length () const |
| virtual uint32 | pack_length_in_rec () const |
| virtual uint32 | data_length (const char *from) |
| virtual uint32 | sort_length () const |
| virtual void | reset (void) |
| virtual void | reset_fields () |
| virtual void | set_default () |
| virtual bool | binary () const |
| virtual bool | zero_pack () const |
| virtual enum ha_base_keytype | key_type () const |
| virtual uint32 | key_length () const |
| virtual enum_field_types | type () const =0 |
| virtual enum_field_types | real_type () const |
| int | cmp (const char *str) |
| virtual int | cmp_max (const char *a, const char *b, uint max_len) |
| virtual int | cmp (const char *, const char *)=0 |
| virtual int | cmp_binary (const char *a, const char *b, uint32 max_length=~0L) |
| virtual int | cmp_offset (uint row_offset) |
| virtual int | cmp_binary_offset (uint row_offset) |
| virtual int | key_cmp (const byte *a, const byte *b) |
| virtual int | key_cmp (const byte *str, uint length) |
| virtual uint | decimals () const |
| virtual void | sql_type (String &str) const =0 |
| virtual uint | size_of () const =0 |
| bool | is_null (uint row_offset=0) |
| bool | is_real_null (uint row_offset=0) |
| bool | is_null_in_record (const uchar *record) |
| bool | is_null_in_record_with_offset (my_ptrdiff_t offset) |
| void | set_null (int row_offset=0) |
| void | set_notnull (int row_offset=0) |
| bool | maybe_null (void) |
| bool | real_maybe_null (void) |
| virtual void | make_field (Send_field *) |
| virtual void | sort_string (char *buff, uint length)=0 |
| virtual bool | optimize_range (uint idx, uint part) |
| virtual bool | can_be_compared_as_longlong () const |
| virtual void | free () |
| virtual Field * | new_field (MEM_ROOT *root, struct st_table *new_table, bool keep_type) |
| virtual Field * | new_key_field (MEM_ROOT *root, struct st_table *new_table, char *new_ptr, uchar *new_null_ptr, uint new_null_bit) |
| Field * | clone (MEM_ROOT *mem_root, struct st_table *new_table) |
| void | move_field (char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg) |
| void | move_field (char *ptr_arg) |
| virtual void | move_field_offset (my_ptrdiff_t ptr_diff) |
| void | get_image (char *buff, uint length, CHARSET_INFO *cs) |
| void | set_image (char *buff, uint length, CHARSET_INFO *cs) |
| virtual void | get_key_image (char *buff, uint length, imagetype type) |
| virtual void | set_key_image (char *buff, uint length) |
| longlong | val_int_offset (uint row_offset) |
| longlong | val_int (char *new_ptr) |
| String * | val_str (String *str, char *new_ptr) |
| virtual bool | send_binary (Protocol *protocol) |
| virtual char * | pack (char *to, const char *from, uint max_length=~(uint) 0) |
| virtual const char * | unpack (char *to, const char *from) |
| virtual char * | pack_key (char *to, const char *from, uint max_length) |
| virtual char * | pack_key_from_key_image (char *to, const char *from, uint max_length) |
| virtual const char * | unpack_key (char *to, const char *from, uint max_length) |
| virtual uint | packed_col_length (const char *to, uint length) |
| virtual uint | max_packed_col_length (uint max_length) |
| virtual int | pack_cmp (const char *a, const char *b, uint key_length_arg, my_bool insert_or_update) |
| virtual int | pack_cmp (const char *b, uint key_length_arg, my_bool insert_or_update) |
| uint | offset () |
| void | copy_from_tmp (int offset) |
| uint | fill_cache_field (struct st_cache_field *copy) |
| virtual bool | get_date (TIME *ltime, uint fuzzydate) |
| virtual bool | get_time (TIME *ltime) |
| virtual CHARSET_INFO * | charset (void) const |
| virtual CHARSET_INFO * | sort_charset (void) const |
| virtual bool | has_charset (void) const |
| virtual void | set_charset (CHARSET_INFO *charset) |
| bool | set_warning (MYSQL_ERROR::enum_warning_level, unsigned int code, int cuted_increment) |
| bool | check_int (const char *str, int length, const char *int_end, CHARSET_INFO *cs) |
| void | set_datetime_warning (MYSQL_ERROR::enum_warning_level, uint code, const char *str, uint str_len, timestamp_type ts_type, int cuted_increment) |
| void | set_datetime_warning (MYSQL_ERROR::enum_warning_level, uint code, longlong nr, timestamp_type ts_type, int cuted_increment) |
| void | set_datetime_warning (MYSQL_ERROR::enum_warning_level, const uint code, double nr, timestamp_type ts_type) |
| bool | check_overflow (int op_result) |
| int | warn_if_overflow (int op_result) |
| void | init (TABLE *table_arg) |
| virtual uint32 | max_length ()=0 |
| virtual uint | is_equal (create_field *new_field) |
| longlong | convert_decimal2longlong (const my_decimal *val, bool unsigned_flag, int *err) |
| uint32 | char_length () const |
| virtual void | hash (ulong *nr, ulong *nr2) |
Static Public Member Functions | |
| static void * | operator new (size_t size) |
| static void | operator delete (void *ptr_arg, size_t size) |
| static bool | type_can_have_key_part (enum_field_types) |
| static enum_field_types | field_type_merge (enum_field_types, enum_field_types) |
| static Item_result | result_merge_type (enum_field_types) |
Public Attributes | |
| char * | ptr |
| uchar * | null_ptr |
| st_table * | table |
| st_table * | orig_table |
| const char ** | table_name |
| const char * | field_name |
| LEX_STRING | comment |
| key_map | key_start |
| key_map | part_of_key |
| key_map | part_of_key_not_clustered |
| key_map | part_of_sortkey |
| utype | unireg_check |
| uint32 | field_length |
| uint32 | flags |
| uint16 | field_index |
| uchar | null_bit |
Private Member Functions | |
| Field (const Item &) | |
| void | operator= (Field &) |
Friends | |
| class | Copy_field |
| class | Item_avg_field |
| class | Item_std_field |
| class | Item_sum_num |
| class | Item_sum_sum |
| class | Item_sum_str |
| class | Item_sum_count |
| class | Item_sum_avg |
| class | Item_sum_std |
| class | Item_sum_min |
| class | Item_sum_max |
| class | Item_func_group_concat |
| bool | reopen_table (THD *, struct st_table *, bool) |
| int | cre_myisam (my_string name, register TABLE *form, uint options, ulonglong auto_increment_value) |
Definition at line 47 of file field.h.
| enum Field::geometry_type |
| GEOM_GEOMETRY | |
| GEOM_POINT | |
| GEOM_LINESTRING | |
| GEOM_POLYGON | |
| GEOM_MULTIPOINT | |
| GEOM_MULTILINESTRING | |
| GEOM_MULTIPOLYGON | |
| GEOM_GEOMETRYCOLLECTION |
Definition at line 80 of file field.h.
00081 { 00082 GEOM_GEOMETRY = 0, GEOM_POINT = 1, GEOM_LINESTRING = 2, GEOM_POLYGON = 3, 00083 GEOM_MULTIPOINT = 4, GEOM_MULTILINESTRING = 5, GEOM_MULTIPOLYGON = 6, 00084 GEOM_GEOMETRYCOLLECTION = 7 00085 };
| enum Field::imagetype |
| enum Field::utype |
Definition at line 76 of file field.h.
00076 { NONE,DATE,SHIELD,NOEMPTY,CASEUP,PNR,BGNR,PGNR,YES,NO,REL, 00077 CHECK,EMPTY,UNKNOWN_FIELD,CASEDN,NEXT_NUMBER,INTERVAL_FIELD, 00078 BIT_FIELD, TIMESTAMP_OLD_FIELD, CAPITALIZE, BLOB_FIELD, 00079 TIMESTAMP_DN_FIELD, TIMESTAMP_UN_FIELD, TIMESTAMP_DNUN_FIELD};
| Field::Field | ( | const Item & | ) | [private] |
| Field::Field | ( | char * | ptr_arg, | |
| uint32 | length_arg, | |||
| uchar * | null_ptr_arg, | |||
| uchar | null_bit_arg, | |||
| utype | unireg_check_arg, | |||
| const char * | field_name_arg | |||
| ) |
Definition at line 1223 of file field.cc.
References comment, field_index, flags, LEX_STRING::length, NOT_NULL_FLAG, null_ptr, and LEX_STRING::str.
01226 :ptr(ptr_arg), null_ptr(null_ptr_arg), 01227 table(0), orig_table(0), table_name(0), 01228 field_name(field_name_arg), 01229 key_start(0), part_of_key(0), part_of_key_not_clustered(0), 01230 part_of_sortkey(0), unireg_check(unireg_check_arg), 01231 field_length(length_arg), null_bit(null_bit_arg) 01232 { 01233 flags=null_ptr ? 0: NOT_NULL_FLAG; 01234 comment.str= (char*) ""; 01235 comment.length=0; 01236 field_index= 0; 01237 }
| virtual bool Field::binary | ( | ) | const [inline, virtual] |
Reimplemented in Field_str.
Definition at line 169 of file field.h.
Referenced by add_key_field(), and test_if_ref().
Here is the caller graph for this function:

| virtual bool Field::can_be_compared_as_longlong | ( | ) | const [inline, virtual] |
Reimplemented in Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, and Field_datetime.
Definition at line 230 of file field.h.
References FALSE.
Referenced by Item_field::result_as_longlong().
00230 { return FALSE; }
Here is the caller graph for this function:

| virtual Item_result Field::cast_to_int_type | ( | ) | const [inline, virtual] |
Reimplemented in Field_enum.
Definition at line 128 of file field.h.
References result_type().
Referenced by Item_field::cast_to_int_type().
00128 { return result_type(); }
Here is the call graph for this function:

Here is the caller graph for this function:

| uint32 Field::char_length | ( | ) | const [inline] |
Definition at line 358 of file field.h.
References charset(), field_length, and charset_info_st::mbmaxlen.
Referenced by db_create_routine(), Field_blob::Field_blob(), Field_blob::get_key_image(), Field_varstring::get_key_image(), Field_blob::key_cmp(), Field_varstring::key_cmp(), Field_string::pack(), Field_varstring::pack_cmp(), Field_blob::pack_key(), Field_varstring::pack_key(), and Field_str::store().
00359 { 00360 return field_length / charset()->mbmaxlen; 00361 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual CHARSET_INFO* Field::charset | ( | void | ) | const [inline, virtual] |
Reimplemented in Field_str.
Definition at line 323 of file field.h.
References my_charset_bin.
Referenced by char_length(), Cached_item_field::cmp(), create_field::create_field(), create_tmp_field_from_field(), eq_def(), Item_func_sp::fix_length_and_dec(), get_mm_leaf(), get_schema_column_record(), hash(), Field_varstring::is_equal(), Field_str::is_equal(), key_cmp_if_same(), Item_ident_for_show::make_field(), make_field(), mysql_alter_table(), Item_sum_hybrid::reset_field(), send_binary(), Item_field::set_field(), Item_field::set_no_const_sub(), sort_charset(), sp_returns_type(), Field_new_decimal::store(), store_create_info(), store_key::store_key(), and table_check_intact().
00323 { return &my_charset_bin; }
Here is the caller graph for this function:

| bool Field::check_int | ( | const char * | str, | |
| int | length, | |||
| const char * | int_end, | |||
| CHARSET_INFO * | cs | |||
| ) |
Definition at line 1076 of file field.cc.
References String::c_ptr(), String::copy(), ER, ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, field_name, st_table::in_use, my_isspace, push_warning_printf(), set_warning(), system_charset_info, table, WARN_DATA_TRUNCATED, and MYSQL_ERROR::WARN_LEVEL_WARN.
Referenced by Field_year::store(), Field_long::store(), Field_medium::store(), Field_short::store(), and Field_tiny::store().
01078 { 01079 const char *end; 01080 if (str == int_end) 01081 { 01082 char buff[128]; 01083 String tmp(buff,(uint32) sizeof(buff), system_charset_info); 01084 tmp.copy(str, length, system_charset_info); 01085 push_warning_printf(table->in_use, MYSQL_ERROR::WARN_LEVEL_WARN, 01086 ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, 01087 ER(ER_TRUNCATED_WRONG_VALUE_FOR_FIELD), 01088 "integer", tmp.c_ptr(), field_name, 01089 (ulong) table->in_use->row_count); 01090 return 1; // Empty string 01091 } 01092 end= str+length; 01093 if ((str= int_end) == end) 01094 return 0; // OK; All digits was used 01095 01096 /* Allow end .0000 */ 01097 if (*str == '.') 01098 { 01099 for (str++ ; str != end && *str == '0'; str++) 01100 ; 01101 } 01102 /* Allow end space */ 01103 for ( ; str != end ; str++) 01104 { 01105 if (!my_isspace(cs,*str)) 01106 { 01107 set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); 01108 return 1; 01109 } 01110 } 01111 return 0; 01112 }
Here is the call graph for this function:

Here is the caller graph for this function:

| bool Field::check_overflow | ( | int | op_result | ) | [inline] |
Definition at line 339 of file field.h.
References E_DEC_OVERFLOW.
Referenced by Field_new_decimal::store().
00340 { 00341 return (op_result == E_DEC_OVERFLOW); 00342 }
Here is the caller graph for this function:

Definition at line 1577 of file field.cc.
References st_table_share::default_values, init(), memdup_root(), move_field_offset(), st_table::record, st_table::s, and size_of().
Referenced by open_table_from_share().
01578 { 01579 Field *tmp; 01580 if ((tmp= (Field*) memdup_root(root,(char*) this,size_of()))) 01581 { 01582 tmp->init(new_table); 01583 tmp->move_field_offset((my_ptrdiff_t) (new_table->record[0] - 01584 new_table->s->default_values)); 01585 } 01586 return tmp; 01587 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual int Field::cmp | ( | const char * | , | |
| const char * | ||||
| ) | [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
| int Field::cmp | ( | const char * | str | ) | [inline] |
Definition at line 175 of file field.h.
References ptr.
Referenced by Cached_item_field::cmp(), cmp_max(), cmp_offset(), group_concat_key_cmp_with_distinct(), group_concat_key_cmp_with_order(), key_cmp(), and pack_cmp().
Here is the caller graph for this function:

| virtual int Field::cmp_binary | ( | const char * | a, | |
| const char * | b, | |||
| uint32 | max_length = ~0L | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, and Field_blob.
Definition at line 179 of file field.h.
References memcmp(), and pack_length().
Referenced by Field_bit::cmp(), cmp_binary_offset(), and Field_bit::key_cmp().
00180 { return memcmp(a,b,pack_length()); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual int Field::cmp_binary_offset | ( | uint | row_offset | ) | [inline, virtual] |
Reimplemented in Field_bit.
Definition at line 183 of file field.h.
References cmp_binary(), and ptr.
00184 { return cmp_binary(ptr, ptr+row_offset); };
Here is the call graph for this function:

| virtual int Field::cmp_max | ( | const char * | a, | |
| const char * | b, | |||
| uint | max_len | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, Field_blob, and Field_bit.
Definition at line 176 of file field.h.
References cmp().
Referenced by key_rec_cmp().
00177 { return cmp(a, b); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual int Field::cmp_offset | ( | uint | row_offset | ) | [inline, virtual] |
| virtual Item_result Field::cmp_type | ( | ) | const [inline, virtual] |
Reimplemented in Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, and Field_enum.
Definition at line 127 of file field.h.
References result_type().
Referenced by add_key_field(), check_group_min_max_predicates(), get_mm_leaf(), and get_mm_tree().
00127 { return result_type(); }
Here is the call graph for this function:

Here is the caller graph for this function:

| longlong Field::convert_decimal2longlong | ( | const my_decimal * | val, | |
| bool | unsigned_flag, | |||
| int * | err | |||
| ) |
Definition at line 1330 of file field.cc.
References E_DEC_ERROR, E_DEC_OVERFLOW, E_DEC_TRUNCATED, ER_WARN_DATA_OUT_OF_RANGE, FALSE, LONGLONG_MAX, LONGLONG_MIN, my_decimal2int(), set_warning(), my_decimal::sign(), TRUE, warn_if_overflow(), and MYSQL_ERROR::WARN_LEVEL_WARN.
Referenced by Field_bit::store_decimal(), and Field_num::store_decimal().
01332 { 01333 longlong i; 01334 if (unsigned_flag) 01335 { 01336 if (val->sign()) 01337 { 01338 set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); 01339 i= 0; 01340 *err= 1; 01341 } 01342 else if (warn_if_overflow(my_decimal2int(E_DEC_ERROR & 01343 ~E_DEC_OVERFLOW & ~E_DEC_TRUNCATED, 01344 val, TRUE, &i))) 01345 { 01346 i= ~(longlong) 0; 01347 *err= 1; 01348 } 01349 } 01350 else if (warn_if_overflow(my_decimal2int(E_DEC_ERROR & 01351 ~E_DEC_OVERFLOW & ~E_DEC_TRUNCATED, 01352 val, FALSE, &i))) 01353 { 01354 i= (val->sign() ? LONGLONG_MIN : LONGLONG_MAX); 01355 *err= 1; 01356 } 01357 return i; 01358 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void Field::copy_from_tmp | ( | int | offset | ) |
Definition at line 1261 of file field.cc.
References memcpy, null_bit, null_ptr, pack_length(), and ptr.
01262 { 01263 memcpy(ptr,ptr+row_offset,pack_length()); 01264 if (null_ptr) 01265 { 01266 *null_ptr= (uchar) ((null_ptr[0] & (uchar) ~(uint) null_bit) | 01267 null_ptr[row_offset] & (uchar) null_bit); 01268 } 01269 }
Here is the call graph for this function:

| virtual uint32 Field::data_length | ( | const char * | from | ) | [inline, virtual] |
Reimplemented in Field_varstring.
Definition at line 156 of file field.h.
References pack_length().
00156 { return pack_length(); }
Here is the call graph for this function:

| virtual uint Field::decimals | ( | ) | const [inline, virtual] |
Reimplemented in Field_num, Field_str, and Field_datetime.
Definition at line 189 of file field.h.
Referenced by create_field::create_field(), Item_func_sp::fix_length_and_dec(), get_schema_column_record(), Field_new_decimal::is_equal(), Item_field::set_field(), and test_if_ref().
Here is the caller graph for this function:

Reimplemented in Field_bit.
Definition at line 132 of file field.h.
References st_table::field, null_bit, null_ptr, and ptr.
Referenced by add_key_equal_fields(), add_key_fields(), add_key_part(), check_if_key_used(), Item_equal::contains(), Field_bit::eq(), Item_field::find_item_in_field_list_processor(), find_key_for_maxmin(), find_order_in_list(), Item_func_match::fix_index(), get_constant_key_infix(), get_field_keypart(), get_mm_parts(), get_mm_tree(), is_subkey(), TRP_GROUP_MIN_MAX::make_quick(), matching_cond(), part_of_refkey(), and Item_field::replace_equal_field().
00133 { 00134 return (ptr == field->ptr && null_ptr == field->null_ptr && 00135 null_bit == field->null_bit); 00136 }
Here is the caller graph for this function:

Reimplemented in Field_num, and Field_enum.
Definition at line 7992 of file field.cc.
References charset(), pack_length(), and real_type().
Referenced by create_tmp_field(), Field_num::eq_def(), Field_enum::eq_def(), and test_if_ref().
07993 { 07994 if (real_type() != field->real_type() || charset() != field->charset() || 07995 pack_length() != field->pack_length()) 07996 return 0; 07997 return 1; 07998 }
Here is the call graph for this function:

Here is the caller graph for this function:

| enum_field_types Field::field_type_merge | ( | enum_field_types | , | |
| enum_field_types | ||||
| ) | [static] |
Definition at line 926 of file field.cc.
References DBUG_ASSERT, field_type2index(), field_types_merge_rules, and FIELDTYPE_TEAR_TO.
Referenced by Item_type_holder::join_types().
00928 { 00929 DBUG_ASSERT(a < FIELDTYPE_TEAR_FROM || a > FIELDTYPE_TEAR_TO); 00930 DBUG_ASSERT(b < FIELDTYPE_TEAR_FROM || b > FIELDTYPE_TEAR_TO); 00931 return field_types_merge_rules[field_type2index(a)] 00932 [field_type2index(b)]; 00933 }
Here is the call graph for this function:

Here is the caller graph for this function:

| uint Field::fill_cache_field | ( | struct st_cache_field * | copy | ) |
Definition at line 1467 of file field.cc.
References BLOB_FLAG, st_table_share::blob_ptr_size, mySTL::copy(), flags, MYSQL_TYPE_STRING, pack_length(), ptr, st_table::s, store_length(), table, type(), and zero_pack().
01468 { 01469 uint store_length; 01470 copy->str=ptr; 01471 copy->length=pack_length(); 01472 copy->blob_field=0; 01473 if (flags & BLOB_FLAG) 01474 { 01475 copy->blob_field=(Field_blob*) this; 01476 copy->strip=0; 01477 copy->length-= table->s->blob_ptr_size; 01478 return copy->length; 01479 } 01480 else if (!zero_pack() && 01481 (type() == MYSQL_TYPE_STRING && copy->length >= 4 && 01482 copy->length < 256)) 01483 { 01484 copy->strip=1; /* Remove end space */ 01485 store_length= 2; 01486 } 01487 else 01488 { 01489 copy->strip=0; 01490 store_length= 0; 01491 } 01492 return copy->length+ store_length; 01493 }
Here is the call graph for this function:

| virtual void Field::free | ( | ) | [inline, virtual] |
Reimplemented in Field_blob.
Definition at line 231 of file field.h.
Referenced by free_blobs().
Here is the caller graph for this function:

Reimplemented in Field_timestamp, Field_newdate, Field_time, and Field_datetime.
Definition at line 1496 of file field.cc.
References String::length(), my_charset_bin, MYSQL_TIMESTAMP_ERROR, String::ptr(), str_to_datetime_with_warn(), and val_str().
Referenced by Item_field::get_date(), Item_field::get_date_result(), and Event_timed::load_from_row().
01497 { 01498 char buff[40]; 01499 String tmp(buff,sizeof(buff),&my_charset_bin),*res; 01500 if (!(res=val_str(&tmp)) || 01501 str_to_datetime_with_warn(res->ptr(), res->length(), 01502 ltime, fuzzydate) <= MYSQL_TIMESTAMP_ERROR) 01503 return 1; 01504 return 0; 01505 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void Field::get_image | ( | char * | buff, | |
| uint | length, | |||
| CHARSET_INFO * | cs | |||
| ) | [inline] |
Definition at line 249 of file field.h.
Referenced by Cached_item_field::cmp(), and get_key_image().
Here is the caller graph for this function:

Definition at line 253 of file field.h.
References get_image(), and my_charset_bin.
Referenced by get_mm_leaf(), get_topics_for_keyword(), key_copy(), and matching_cond().
00254 { get_image(buff,length, &my_charset_bin); }
Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented in Field_timestamp, Field_newdate, Field_time, and Field_datetime.
Definition at line 1507 of file field.cc.
References String::length(), my_charset_bin, String::ptr(), str_to_time_with_warn(), and val_str().
Referenced by Item_field::get_time().
01508 { 01509 char buff[40]; 01510 String tmp(buff,sizeof(buff),&my_charset_bin),*res; 01511 if (!(res=val_str(&tmp)) || 01512 str_to_time_with_warn(res->ptr(), res->length(), ltime)) 01513 return 1; 01514 return 0; 01515 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual bool Field::has_charset | ( | void | ) | const [inline, virtual] |
Reimplemented in Field_string, Field_varstring, Field_blob, Field_enum, and Field_set.
Definition at line 325 of file field.h.
References FALSE.
Referenced by get_schema_column_record(), sp_returns_type(), store_create_info(), and table_check_intact().
00325 { return FALSE; }
Here is the caller graph for this function:

Reimplemented in Field_varstring.
Definition at line 1246 of file field.cc.
References charset(), charset_info_st::coll, my_collation_handler_st::hash_sort, is_null(), pack_length(), and ptr.
01247 { 01248 if (is_null()) 01249 { 01250 *nr^= (*nr << 1) | 1; 01251 } 01252 else 01253 { 01254 uint len= pack_length(); 01255 CHARSET_INFO *cs= charset(); 01256 cs->coll->hash_sort(cs, (uchar*) ptr, len, nr, nr2); 01257 } 01258 }
Here is the call graph for this function:

| void Field::init | ( | TABLE * | table_arg | ) | [inline] |
Definition at line 344 of file field.h.
References st_table::alias, orig_table, table, and table_name.
Referenced by clone(), sp_head::create_result_field(), Item_sum_unique_users::create_tmp_field(), Item_sum_variance::create_tmp_field(), Item_sum_avg::create_tmp_field(), Item_sum_hybrid::create_tmp_field(), Item_sum::create_tmp_field(), create_tmp_field_from_field(), create_tmp_field_from_item(), Item_insert_value::fix_fields(), make_empty_rec(), Item::make_string_field(), Field_string::new_field(), store_key::store_key(), and Item_func::tmp_table_field().
00345 { 00346 orig_table= table= table_arg; 00347 table_name= &table_arg->alias; 00348 }
Here is the caller graph for this function:

| uint Field::is_equal | ( | create_field * | new_field | ) | [virtual] |
Reimplemented in Field_num, Field_str, Field_new_decimal, and Field_varstring.
Definition at line 6040 of file field.cc.
References new_field(), real_type(), and sql_type().
Referenced by compare_tables().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 197 of file field.h.
References null_bit, null_ptr, st_table::null_row, and table.
Referenced by Item_sum_distinct::add(), Cached_item_field::cmp(), QUICK_RANGE_SELECT::cmp_next(), end_update(), end_write(), Item_field::get_date(), Item_field::get_date_result(), get_schema_column_record(), Item_field::get_time(), Field_timestamp::get_timestamp(), Field_varstring::hash(), hash(), Item_field::is_null(), key_cmp(), Event_timed::load_from_row(), matching_cond(), Item_sum_hybrid::min_max_update_decimal_field(), Item_sum_hybrid::min_max_update_int_field(), Item_sum_hybrid::min_max_update_real_field(), Item_sum_hybrid::min_max_update_str_field(), QUICK_GROUP_MIN_MAX_SELECT::next_min(), Item_ref::save_in_field(), Item_field::save_in_field(), Item_field::save_org_in_field(), Protocol_prep::store(), Protocol_simple::store(), store_create_info(), Item_ref::str_result(), Item_field::str_result(), Item_sum_sum::update_field(), Item_ref::val_bool_result(), Item_field::val_bool_result(), Item_field::val_decimal(), Item_ref::val_decimal_result(), Item_field::val_decimal_result(), Item_field::val_int(), Item_ref::val_int_result(), Item_field::val_int_result(), Item_field::val_real(), Item_ref::val_result(), Item_field::val_result(), and Item_field::val_str().
Here is the caller graph for this function:

| bool Field::is_null_in_record_with_offset | ( | my_ptrdiff_t | offset | ) | [inline] |
Definition at line 199 of file field.h.
References null_bit, and null_ptr.
Referenced by create_field::create_field(), create_tmp_table(), and get_mm_leaf().
Here is the caller graph for this function:

Reimplemented in Field_varstring, Field_blob, and Field_bit.
Definition at line 187 of file field.h.
Here is the call graph for this function:

Reimplemented in Field_varstring, Field_blob, and Field_bit.
Definition at line 185 of file field.h.
References cmp().
Referenced by QUICK_RANGE_SELECT::cmp_next(), key_cmp(), key_cmp_if_same(), and sel_cmp().
00186 { return cmp((char*) a,(char*) b); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual uint32 Field::key_length | ( | ) | const [inline, virtual] |
Reimplemented in Field_varstring, Field_blob, and Field_bit.
Definition at line 172 of file field.h.
References pack_length().
Referenced by check_quick_keys(), create_field::create_field(), find_key_for_maxmin(), get_schema_stat_record(), open_table_from_share(), Field_string::pack_cmp(), and store_create_info().
00172 { return pack_length(); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual enum ha_base_keytype Field::key_type | ( | ) | const [inline, virtual] |
Reimplemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_timestamp, Field_date, Field_newdate, Field_time, Field_string, Field_varstring, Field_blob, Field_enum, Field_bit, and Field_bit_as_char.
Definition at line 171 of file field.h.
References HA_KEYTYPE_BINARY.
00171 { return HA_KEYTYPE_BINARY; }
| void Field::make_field | ( | Send_field * | ) | [virtual] |
Reimplemented in Field_num.
Definition at line 1298 of file field.cc.
References st_table::alias, charset(), Send_field::charsetnr, Send_field::col_name, st_table_share::db, Send_field::db_name, Send_field::decimals, field_length, field_name, flags, Send_field::flags, Send_field::length, st_table::maybe_null, NOT_NULL_FLAG, charset_info_st::number, Send_field::org_col_name, Send_field::org_table_name, orig_table, st_table::s, LEX_STRING::str, table, Send_field::table_name, st_table_share::table_name, type(), and Send_field::type.
Referenced by Item_func_sp::make_field(), Item_field::make_field(), and Field_num::make_field().
01299 { 01300 if (orig_table->s->db.str && *orig_table->s->db.str) 01301 { 01302 field->db_name= orig_table->s->db.str; 01303 field->org_table_name= orig_table->s->table_name.str; 01304 } 01305 else 01306 field->org_table_name= field->db_name= ""; 01307 field->table_name= orig_table->alias; 01308 field->col_name= field->org_col_name= field_name; 01309 field->charsetnr= charset()->number; 01310 field->length=field_length; 01311 field->type=type(); 01312 field->flags=table->maybe_null ? (flags & ~NOT_NULL_FLAG) : flags; 01313 field->decimals= 0; 01314 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual uint32 Field::max_length | ( | ) | [pure virtual] |
Implemented in Field_str, Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_blob, and Field_bit.
Referenced by get_schema_column_record(), Field_num::is_equal(), Item_field::max_disp_length(), Item_field::set_field(), and ha_archive::write_row().
Here is the caller graph for this function:

Reimplemented in Field_string, Field_varstring, and Field_blob.
Definition at line 309 of file field.h.
Referenced by get_addon_fields().
00310 { return max_length;}
Here is the caller graph for this function:

| bool Field::maybe_null | ( | void | ) | [inline] |
Definition at line 218 of file field.h.
References st_table::maybe_null, null_ptr, and table.
Referenced by create_tmp_field(), create_tmp_field_from_field(), get_addon_fields(), get_schema_column_record(), Field_string::new_field(), Item_field::set_field(), and store_create_info().
00218 { return null_ptr != 0 || table->maybe_null; }
Here is the caller graph for this function:

| void Field::move_field | ( | char * | ptr_arg | ) | [inline] |
Definition at line 238 of file field.h.
References null_bit, null_ptr, and ptr.
Referenced by agg_cmp_type(), create_tmp_table(), and create_virtual_tmp_table().
Here is the caller graph for this function:

| virtual void Field::move_field_offset | ( | my_ptrdiff_t | ptr_diff | ) | [inline, virtual] |
Reimplemented in Field_bit.
Definition at line 243 of file field.h.
References ADD_TO_PTR, null_ptr, and ptr.
Referenced by clone(), create_field::create_field(), create_tmp_table(), Item_insert_value::fix_fields(), Field_bit::move_field_offset(), and set_key_field_ptr().
00244 { 00245 ptr=ADD_TO_PTR(ptr,ptr_diff,char*); 00246 if (null_ptr) 00247 null_ptr=ADD_TO_PTR(null_ptr,ptr_diff,uchar*); 00248 }
Here is the caller graph for this function:

| virtual Field* Field::new_field | ( | MEM_ROOT * | root, | |
| struct st_table * | new_table, | |||
| bool | keep_type | |||
| ) | [virtual] |
Reimplemented in Field_string, and Field_varstring.
Referenced by create_tmp_field_from_field(), delayed_insert::get_local_table(), Field_num::is_equal(), Field_str::is_equal(), is_equal(), Field_new_decimal::is_equal(), Field_varstring::new_field(), Field_string::new_field(), new_key_field(), open_table_from_share(), Table_triggers_list::prepare_record1_accessors(), and setup_copy_fields().
Here is the caller graph for this function:

| Field * Field::new_key_field | ( | MEM_ROOT * | root, | |
| struct st_table * | new_table, | |||
| char * | new_ptr, | |||
| uchar * | new_null_ptr, | |||
| uint | new_null_bit | |||
| ) | [virtual] |
Reimplemented in Field_varstring, and Field_bit.
Definition at line 1560 of file field.cc.
References new_field(), null_bit, null_ptr, ptr, and table.
Referenced by create_tmp_table(), Field_bit::new_key_field(), Field_varstring::new_key_field(), and store_key::store_key().
01563 { 01564 Field *tmp; 01565 if ((tmp= new_field(root, new_table, table == new_table))) 01566 { 01567 tmp->ptr= new_ptr; 01568 tmp->null_ptr= new_null_ptr; 01569 tmp->null_bit= new_null_bit; 01570 } 01571 return tmp; 01572 }
Here is the call graph for this function:

Here is the caller graph for this function:

| uint Field::offset | ( | ) |
Definition at line 1240 of file field.cc.
References ptr, st_table::record, and table.
Referenced by find_ref_key(), group_concat_key_cmp_with_distinct(), group_concat_key_cmp_with_order(), ha_archive::optimize(), set_default(), and ha_archive::write_row().
Here is the caller graph for this function:

| static void Field::operator delete | ( | void * | ptr_arg, | |
| size_t | size | |||
| ) | [inline, static] |
| static void* Field::operator new | ( | size_t | size | ) | [inline, static] |
Definition at line 52 of file field.h.
References sql_alloc().
Here is the call graph for this function:

| void Field::operator= | ( | Field & | ) | [private] |
Reimplemented in Field_enum.
Definition at line 1533 of file field.cc.
References st_table::file, HA_READ_RANGE, handler::index_flags(), table, and test.
Referenced by get_mm_leaf().
01534 { 01535 return test(table->file->index_flags(idx, part, 1) & HA_READ_RANGE); 01536 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual char* Field::pack | ( | char * | to, | |
| const char * | from, | |||
| uint | max_length = ~(uint) 0 | |||
| ) | [inline, virtual] |
Reimplemented in Field_string, Field_varstring, Field_blob, and Field_bit.
Definition at line 282 of file field.h.
References memcpy, and pack_length().
Referenced by pack_key(), and pack_key_from_key_image().
00283 { 00284 uint32 length=pack_length(); 00285 memcpy(to,from,length); 00286 return to+length; 00287 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual int Field::pack_cmp | ( | const char * | b, | |
| uint | key_length_arg, | |||
| my_bool | insert_or_update | |||
| ) | [inline, virtual] |
Reimplemented in Field_string, Field_varstring, and Field_blob.
Definition at line 315 of file field.h.
Here is the call graph for this function:

| virtual int Field::pack_cmp | ( | const char * | a, | |
| const char * | b, | |||
| uint | key_length_arg, | |||
| my_bool | insert_or_update | |||
| ) | [inline, virtual] |
Reimplemented in Field_string, Field_varstring, and Field_blob.
Definition at line 312 of file field.h.
References cmp().
00314 { return cmp(a,b); }
Here is the call graph for this function:

| virtual char* Field::pack_key | ( | char * | to, | |
| const char * | from, | |||
| uint | max_length | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, and Field_blob.
Definition at line 294 of file field.h.
References pack().
00295 { 00296 return pack(to,from,max_length); 00297 }
Here is the call graph for this function:

| virtual char* Field::pack_key_from_key_image | ( | char * | to, | |
| const char * | from, | |||
| uint | max_length | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, and Field_blob.
Definition at line 298 of file field.h.
References pack().
00300 { 00301 return pack(to,from,max_length); 00302 }
Here is the call graph for this function:

| virtual uint32 Field::pack_length | ( | ) | const [inline, virtual] |
Reimplemented in Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, Field_varstring, Field_blob, Field_enum, and Field_bit.
Definition at line 144 of file field.h.
References field_length.
Referenced by Cached_item_field::Cached_item_field(), calc_group_buffer(), calc_used_field_length(), cmp_binary(), copy_from_tmp(), create_field::create_field(), create_tmp_table(), create_virtual_tmp_table(), data_length(), eq_def(), fill_cache_field(), find_field(), get_addon_fields(), get_mm_leaf(), get_topics_for_keyword(), hash(), key_length(), key_unpack(), pack(), Ndb_item::pack_length(), pack_length_in_rec(), reset(), Copy_field::set(), set_default(), setup_copy_fields(), sort_length(), and unpack().
00144 { return (uint32) field_length; }
Here is the caller graph for this function:

| virtual uint32 Field::pack_length_in_rec | ( | ) | const [inline, virtual] |
Reimplemented in Field_bit.
Definition at line 151 of file field.h.
References pack_length().
00151 { return pack_length(); }
Here is the call graph for this function:

Reimplemented in Field_string, Field_varstring, and Field_blob.
Definition at line 307 of file field.h.
| bool Field::real_maybe_null | ( | void | ) | [inline] |
Definition at line 219 of file field.h.
References null_ptr.
Referenced by get_mm_leaf(), print_key(), sel_cmp(), Copy_field::set(), set_field_to_null(), set_field_to_null_with_conversions(), QUICK_GROUP_MIN_MAX_SELECT::update_key_stat(), and update_ref_and_keys().
00219 { return null_ptr != 0; }
Here is the caller graph for this function:

| virtual enum_field_types Field::real_type | ( | ) | const [inline, virtual] |
Reimplemented in Field_newdate, Field_string, Field_varstring, Field_enum, and Field_set.
Definition at line 174 of file field.h.
References type().
Referenced by create_field::create_field(), create_tmp_table(), eq_def(), Item_func_find_in_set::fix_length_and_dec(), get_schema_column_record(), Field_num::is_equal(), Field_str::is_equal(), is_equal(), Field_new_decimal::is_equal(), make_empty_rec(), replace_user_table(), and test_if_ref().
00174 { return type(); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Field::reset | ( | void | ) | [inline, virtual] |
Reimplemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
Definition at line 158 of file field.h.
References bzero, pack_length(), and ptr.
Referenced by create_tmp_table(), create_virtual_tmp_table(), make_empty_rec(), Item_sum_hybrid::reset_field(), set_field_to_null(), and set_field_to_null_with_conversions().
00158 { bzero(ptr,pack_length()); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Field::reset_fields | ( | ) | [inline, virtual] |
| Item_result Field::result_merge_type | ( | enum_field_types | ) | [static] |
Definition at line 980 of file field.cc.
References DBUG_ASSERT, field_type2index(), field_types_result_type, FIELDTYPE_TEAR_FROM, and FIELDTYPE_TEAR_TO.
Referenced by Item_type_holder::Item_type_holder(), Item_type_holder::join_types(), and Item_type_holder::result_type().
00981 { 00982 DBUG_ASSERT(field_type < FIELDTYPE_TEAR_FROM || field_type 00983 > FIELDTYPE_TEAR_TO); 00984 return field_types_result_type[field_type2index(field_type)]; 00985 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual Item_result Field::result_type | ( | ) | const [pure virtual] |
Implemented in Field_num, Field_str, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, and Field_bit.
Referenced by add_key_field(), cast_to_int_type(), cmp_type(), field_is_equal_to_item(), get_mm_leaf(), Item_func_sp::result_type(), Item_field::result_type(), Item_hex_string::save_in_field(), Item::save_in_field(), Item_ref::val_bool_result(), and Item_field::val_bool_result().
Here is the caller graph for this function:

Reimplemented in Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, and Field_datetime.
Definition at line 1272 of file field.cc.
References String::charset(), charset(), String::length(), MAX_FIELD_WIDTH, String::ptr(), Protocol::store(), and val_str().
Referenced by Protocol_prep::store().
01273 { 01274 char buff[MAX_FIELD_WIDTH]; 01275 String tmp(buff,sizeof(buff),charset()); 01276 val_str(&tmp); 01277 return protocol->store(tmp.ptr(), tmp.length(), tmp.charset()); 01278 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Field::set_charset | ( | CHARSET_INFO * | charset | ) | [inline, virtual] |
| void Field::set_datetime_warning | ( | MYSQL_ERROR::enum_warning_level | , | |
| const uint | code, | |||
| double | nr, | |||
| timestamp_type | ts_type | |||
| ) |
Definition at line 9322 of file field.cc.
References current_thd, field_name, st_table::in_use, make_truncated_value_warning(), my_sprintf, set_warning(), and table.
09324 { 09325 THD *thd= table ? table->in_use : current_thd; 09326 if (thd->really_abort_on_warning() || 09327 set_warning(level, code, 1)) 09328 { 09329 /* DBL_DIG is enough to print '-[digits].E+###' */ 09330 char str_nr[DBL_DIG + 8]; 09331 uint str_len= my_sprintf(str_nr, (str_nr, "%g", nr)); 09332 make_truncated_value_warning(thd, str_nr, str_len, ts_type, 09333 field_name); 09334 } 09335 }
Here is the call graph for this function:

| void Field::set_datetime_warning | ( | MYSQL_ERROR::enum_warning_level | , | |
| uint | code, | |||
| longlong | nr, | |||
| timestamp_type | ts_type, | |||
| int | cuted_increment | |||
| ) |
Definition at line 9289 of file field.cc.
References current_thd, field_name, st_table::in_use, longlong10_to_str, make_truncated_value_warning(), set_warning(), and table.
09292 { 09293 THD *thd= table ? table->in_use : current_thd; 09294 if (thd->really_abort_on_warning() || 09295 set_warning(level, code, cuted_increment)) 09296 { 09297 char str_nr[22]; 09298 char *str_end= longlong10_to_str(nr, str_nr, -10); 09299 make_truncated_value_warning(thd, str_nr, (uint) (str_end - str_nr), 09300 ts_type, field_name); 09301 } 09302 }
Here is the call graph for this function:

| void Field::set_datetime_warning | ( | MYSQL_ERROR::enum_warning_level | , | |
| uint | code, | |||
| const char * | str, | |||
| uint | str_len, | |||
| timestamp_type | ts_type, | |||
| int | cuted_increment | |||
| ) |
Definition at line 9259 of file field.cc.
References current_thd, field_name, st_table::in_use, make_truncated_value_warning(), set_warning(), and table.
Referenced by Field_datetime::store(), Field_newdate::store(), Field_date::store(), Field_time::store(), and Field_timestamp::store().
09262 { 09263 THD *thd= table ? table->in_use : current_thd; 09264 if (thd->really_abort_on_warning() || 09265 set_warning(level, code, cuted_increment)) 09266 make_truncated_value_warning(thd, str, str_length, ts_type, 09267 field_name); 09268 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Field::set_default | ( | ) | [inline, virtual] |
Reimplemented in Field_timestamp.
Definition at line 160 of file field.h.
References st_table_share::default_values, memcpy, null_bit, null_ptr, offset(), pack_length(), ptr, st_table::record, st_table::s, and table.
Referenced by Item_default_value::save_in_field(), and Field_timestamp::set_default().
00161 { 00162 my_ptrdiff_t offset = (my_ptrdiff_t) (table->s->default_values - 00163 table->record[0]); 00164 memcpy(ptr, ptr + offset, pack_length()); 00165 if (null_ptr) 00166 *null_ptr= ((*null_ptr & (uchar) ~null_bit) | 00167 null_ptr[offset] & null_bit); 00168 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void Field::set_image | ( | char * | buff, | |
| uint | length, | |||
| CHARSET_INFO * | cs | |||
| ) | [inline] |
| virtual void Field::set_key_image | ( | char * | buff, | |
| uint | length | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, Field_blob, and Field_bit.
Definition at line 255 of file field.h.
References my_charset_bin, and set_image().
Referenced by key_restore(), and print_key().
00256 { set_image(buff,length, &my_charset_bin); }
Here is the call graph for this function:

Here is the caller graph for this function:

| void Field::set_notnull | ( | int | row_offset = 0 |
) | [inline] |
Definition at line 216 of file field.h.
References null_bit, and null_ptr.
Referenced by Item_sum_distinct::calculate_val_and_count(), copy_event_to_schema_table(), create_tmp_table(), evex_fill_row(), get_schema_column_record(), get_schema_key_column_usage_record(), get_schema_partitions_record(), get_schema_stat_record(), get_schema_tables_record(), Log_to_csv_event_handler::log_general(), Log_to_csv_event_handler::log_slow(), make_empty_rec(), Item_sum_hybrid::min_max_update_decimal_field(), Item_sum_hybrid::min_max_update_int_field(), Item_sum_hybrid::min_max_update_real_field(), Item_sum_hybrid::min_max_update_str_field(), read_fixed_length(), Item_sum_sum::reset_field(), Item_sum_hybrid::reset_field(), Item_sum_num::reset_field(), Item_hex_string::save_in_field(), Item_decimal::save_in_field(), Item::save_in_field(), Item_param::save_in_field(), Field_timestamp::set_time(), show_plugins(), store_schema_partitions_record(), store_schema_proc(), unpack_addon_fields(), Item_sum_sum::update_field(), and Event_timed::update_fields().
Here is the caller graph for this function:

| void Field::set_null | ( | int | row_offset = 0 |
) | [inline] |
Definition at line 214 of file field.h.
References null_bit, and null_ptr.
Referenced by create_tmp_table(), evex_fill_row(), get_schema_column_record(), Log_to_csv_event_handler::log_slow(), matching_cond(), Item_sum_hybrid::min_max_update_decimal_field(), Item_sum_hybrid::min_max_update_int_field(), Item_sum_hybrid::min_max_update_real_field(), Item_sum_sum::reset_field(), Item_sum_hybrid::reset_field(), Item_sum_num::reset_field(), set_field_to_null(), set_field_to_null_with_conversions(), sp_rcontext::set_variable(), show_plugins(), Field_double::store(), Field_float::store(), and unpack_addon_fields().
Here is the caller graph for this function:

| bool Field::set_warning | ( | MYSQL_ERROR::enum_warning_level | , | |
| unsigned int | code, | |||
| int | cuted_increment | |||
| ) |
Definition at line 9221 of file field.cc.
References current_thd, ER, field_name, st_table::in_use, push_warning_printf(), and table.
Referenced by check_int(), convert_decimal2longlong(), Field_decimal::overflow(), read_sep_field(), set_datetime_warning(), set_field_to_null(), set_field_to_null_with_conversions(), Field_bit_as_char::store(), Field_bit::store(), Field_set::store(), Field_enum::store(), Field_blob::store(), Field_varstring::store(), Field_string::store(), Field_year::store(), Field_double::store(), Field_float::store(), Field_long::store(), Field_medium::store(), Field_short::store(), Field_tiny::store(), Field_new_decimal::store(), Field_decimal::store(), Field_datetime::store_time(), Field_newdate::store_time(), Field_new_decimal::store_value(), and warn_if_overflow().
09223 { 09224 /* 09225 If this field was created only for type conversion purposes it 09226 will have table == NULL. 09227 */ 09228 THD *thd= table ? table->in_use : current_thd; 09229 if (thd->count_cuted_fields) 09230 { 09231 thd->cuted_fields+= cuted_increment; 09232 push_warning_printf(thd, level, code, ER(code), field_name, 09233 thd->row_count); 09234 return 0; 09235 } 09236 return 1; 09237 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual uint Field::size_of | ( | ) | const [pure virtual] |
Implemented in Field_num, Field_str, Field_new_decimal, Field_null, Field_string, Field_varstring, Field_blob, Field_enum, Field_bit, and Field_bit_as_char.
Referenced by clone(), Item_insert_value::fix_fields(), and Item_default_value::fix_fields().
Here is the caller graph for this function:

| virtual CHARSET_INFO* Field::sort_charset | ( | void | ) | const [inline, virtual] |
Reimplemented in Field_enum.
Definition at line 324 of file field.h.
References charset().
00324 { return charset(); }
Here is the call graph for this function:

| virtual uint32 Field::sort_length | ( | ) | const [inline, virtual] |
Reimplemented in Field_varstring, and Field_blob.
Definition at line 157 of file field.h.
References pack_length().
Referenced by filesort().
00157 { return pack_length(); }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Field::sort_string | ( | char * | buff, | |
| uint | length | |||
| ) | [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
| virtual void Field::sql_type | ( | String & | str | ) | const [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, Field_set, Field_bit, and Field_bit_as_char.
Referenced by get_schema_column_record(), Field_num::is_equal(), Field_varstring::is_equal(), Field_str::is_equal(), is_equal(), Field_new_decimal::is_equal(), sp_returns_type(), store_create_info(), and table_check_intact().
Here is the caller graph for this function:

Implemented in Field_str, Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, Field_set, Field_bit, and Field_bit_as_char.
| virtual int Field::store | ( | double | nr | ) | [pure virtual] |
Implemented in Field_str, Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, Field_set, Field_bit, and Field_bit_as_char.
| virtual int Field::store | ( | const char * | to, | |
| uint | length, | |||
| CHARSET_INFO * | cs | |||
| ) | [pure virtual] |
Implemented in Field_str, Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, Field_set, Field_bit, and Field_bit_as_char.
Referenced by copy_event_to_schema_table(), db_find_routine_aux(), evex_db_find_event_by_name(), evex_fill_row(), fill_open_tables(), get_all_tables(), get_referential_constraints_record(), get_schema_column_record(), get_schema_key_column_usage_record(), get_schema_partitions_record(), get_schema_stat_record(), get_schema_tables_record(), get_schema_views_record(), get_topics_for_keyword(), GRANT_TABLE::GRANT_TABLE(), handle_grant_table(), iter_schema_engines(), Log_to_csv_event_handler::log_general(), Log_to_csv_event_handler::log_slow(), make_empty_rec(), Item_sum_hybrid::min_max_update_int_field(), Item_sum_hybrid::min_max_update_real_field(), Item_sum_hybrid::min_max_update_str_field(), modify_grant_table(), mysql_install_plugin(), mysql_uninstall_plugin(), read_fixed_length(), replace_column_table(), replace_db_table(), replace_routine_table(), replace_table_table(), replace_user_table(), Item_sum_hybrid::reset_field(), Item_hex_string::save_in_field(), Item::save_in_field(), Item_param::save_in_field(), show_plugins(), show_status_array(), sp_drop_db_routines(), store_constraints(), Field_real::store_decimal(), Field_num::store_decimal(), store_key_column_usage(), store_schema_partitions_record(), store_schema_proc(), store_schema_shemata(), store_time(), store_trigger(), handler::update_auto_increment(), Event_timed::update_fields(), update_schema_privilege(), and update_user_table().
Here is the caller graph for this function:

| virtual int Field::store_decimal | ( | const my_decimal * | d | ) | [pure virtual] |
Implemented in Field_num, Field_str, Field_longstr, Field_real, Field_new_decimal, Field_null, and Field_bit.
Referenced by Item_sum_hybrid::min_max_update_decimal_field(), Item_sum_sum::reset_field(), Item_sum_hybrid::reset_field(), Item_decimal::save_in_field(), Item_param::save_in_field(), and Item_sum_sum::update_field().
Here is the caller graph for this function:

| int Field::store_time | ( | TIME * | ltime, | |
| timestamp_type | t_type | |||
| ) | [virtual] |
Reimplemented in Field_newdate, Field_time, and Field_datetime.
Definition at line 1524 of file field.cc.
References ASSERT_COLUMN_MARKED_FOR_WRITE, MAX_DATE_STRING_REP_LENGTH, my_charset_bin, my_TIME_to_str(), and store().
Referenced by copy_event_to_schema_table(), get_schema_tables_record(), Item_param::save_in_field(), store_schema_partitions_record(), store_schema_proc(), and Event_timed::update_fields().
01525 { 01526 ASSERT_COLUMN_MARKED_FOR_WRITE; 01527 char buff[MAX_DATE_STRING_REP_LENGTH]; 01528 uint length= (uint) my_TIME_to_str(ltime, buff); 01529 return store(buff, length, &my_charset_bin); 01530 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual bool Field::str_needs_quotes | ( | ) | [inline, virtual] |
| virtual enum_field_types Field::type | ( | ) | const [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
Referenced by calc_group_buffer(), create_field::create_field(), create_tmp_field(), create_tmp_field_from_field(), create_tmp_table(), Item_func_sp::field_type(), Item_field::field_type(), fill_cache_field(), get_mm_leaf(), get_schema_column_record(), Item_ident_for_show::make_field(), make_field(), mysql_alter_table(), Ndb_item::Ndb_item(), print_key(), real_type(), remove_eq_conds(), Copy_field::set(), set_field_to_null_with_conversions(), store_create_info(), store_key::store_key(), test_if_ref(), and Item_func_unix_timestamp::val_int().
Here is the caller graph for this function:

| bool Field::type_can_have_key_part | ( | enum_field_types | ) | [static] |
Definition at line 1007 of file field.cc.
References FALSE, MYSQL_TYPE_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_STRING, MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_VAR_STRING, MYSQL_TYPE_VARCHAR, and TRUE.
Referenced by mysql_alter_table().
01008 { 01009 switch (type) { 01010 case MYSQL_TYPE_VARCHAR: 01011 case MYSQL_TYPE_TINY_BLOB: 01012 case MYSQL_TYPE_MEDIUM_BLOB: 01013 case MYSQL_TYPE_LONG_BLOB: 01014 case MYSQL_TYPE_BLOB: 01015 case MYSQL_TYPE_VAR_STRING: 01016 case MYSQL_TYPE_STRING: 01017 return TRUE; 01018 default: 01019 return FALSE; 01020 } 01021 }
Here is the caller graph for this function:

| virtual const char* Field::unpack | ( | char * | to, | |
| const char * | from | |||
| ) | [inline, virtual] |
Reimplemented in Field_string, Field_varstring, Field_blob, and Field_bit.
Definition at line 288 of file field.h.
References memcpy, and pack_length().
Referenced by unpack_addon_fields(), and unpack_key().
00289 { 00290 uint length=pack_length(); 00291 memcpy(to,from,length); 00292 return from+length; 00293 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual const char* Field::unpack_key | ( | char * | to, | |
| const char * | from, | |||
| uint | max_length | |||
| ) | [inline, virtual] |
Reimplemented in Field_varstring, and Field_blob.
Definition at line 303 of file field.h.
References unpack().
Here is the call graph for this function:

| my_decimal * Field::val_decimal | ( | my_decimal * | ) | [virtual] |
Reimplemented in Field_num, Field_str, Field_real, Field_new_decimal, Field_null, Field_string, Field_varstring, Field_blob, and Field_bit.
Definition at line 1281 of file field.cc.
References DBUG_ASSERT.
Referenced by field_is_equal_to_item(), Item_sum_hybrid::min_max_update_decimal_field(), Item_sum_sum::update_field(), Item_ref::val_bool_result(), Item_field::val_bool_result(), Item_func_sp::val_decimal(), Item_ident_for_show::val_decimal(), Item_field::val_decimal(), Item_ref::val_decimal_result(), and Item_field::val_decimal_result().
01282 { 01283 /* This never have to be called */ 01284 DBUG_ASSERT(0); 01285 return 0; 01286 }
Here is the caller graph for this function:

| longlong Field::val_int | ( | char * | new_ptr | ) | [inline] |
| virtual longlong Field::val_int | ( | void | ) | [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
Referenced by convert_constant_item(), db_find_routine(), get_topics_for_keyword(), GRANT_NAME::GRANT_NAME(), GRANT_TABLE::GRANT_TABLE(), Event_timed::load_from_row(), Item_sum_hybrid::min_max_update_int_field(), my_tz_init(), mysql_insert(), ha_archive::optimize(), replace_column_table(), replace_routine_table(), replace_table_table(), search_categories(), search_keyword(), store_schema_proc(), handler::update_auto_increment(), Item_ref::val_bool_result(), Item_field::val_bool_result(), Field_str::val_decimal(), Field_num::val_decimal(), Item_func_sp::val_int(), Item_ident_for_show::val_int(), Item_field::val_int(), val_int(), val_int_as_str(), val_int_offset(), Item_ref::val_int_result(), Item_field::val_int_result(), write_record(), and ha_archive::write_row().
Here is the caller graph for this function:

Definition at line 1205 of file field.cc.
References String::alloc(), ASSERT_COLUMN_MARKED_FOR_READ, charset_info_st::cset, String::length(), my_charset_handler_st::longlong10_to_str, my_charset_bin, String::ptr(), val_int(), and value.
Referenced by print_key().
01206 { 01207 ASSERT_COLUMN_MARKED_FOR_READ; 01208 CHARSET_INFO *cs= &my_charset_bin; 01209 uint length= 21; 01210 longlong value= val_int(); 01211 01212 if (val_buffer->alloc(length)) 01213 return 0; 01214 length= (uint) (*cs->cset->longlong10_to_str)(cs, (char*) val_buffer->ptr(), 01215 length, 01216 unsigned_val ? 10 : -10, 01217 value); 01218 val_buffer->length(length); 01219 return val_buffer; 01220 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual double Field::val_real | ( | void | ) | [pure virtual] |
Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, and Field_bit.
Referenced by field_is_equal_to_item(), Item_sum_hybrid::min_max_update_real_field(), Item_ref::val_bool_result(), Item_field::val_bool_result(), Field_real::val_decimal(), Item_func_sp::val_real(), Item_ident_for_show::val_real(), Item_field::val_real(), Item_ref::val_result(), and Item_field::val_result().
Here is the caller graph for this function:

Implemented in Field_decimal, Field_new_decimal, Field_tiny, Field_short, Field_medium, Field_long, Field_float, Field_double, Field_null, Field_timestamp, Field_year, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_blob, Field_enum, Field_set, and Field_bit.
Definition at line 106 of file field.h.
Referenced by create_field::create_field(), db_find_routine(), field_is_equal_to_item(), get_date(), get_field(), get_schema_column_record(), get_time(), GRANT_TABLE::GRANT_TABLE(), key_unpack(), Item_sum_hybrid::min_max_update_str_field(), print_key(), replace_column_table(), send_binary(), Protocol_simple::store(), store_create_info(), Item_ref::str_result(), Item_field::str_result(), Item_func_sp::val_str(), Item_ident_for_show::val_str(), Item_field::val_str(), and val_str().
00106 { return val_str(str, str); }
Here is the caller graph for this function:

| int Field::warn_if_overflow | ( | int | op_result | ) |
Definition at line 1128 of file field.cc.
References E_DEC_OVERFLOW, E_DEC_TRUNCATED, ER_WARN_DATA_OUT_OF_RANGE, set_warning(), WARN_DATA_TRUNCATED, MYSQL_ERROR::WARN_LEVEL_NOTE, and MYSQL_ERROR::WARN_LEVEL_WARN.
Referenced by convert_decimal2longlong(), Field_new_decimal::store(), Field_str::store_decimal(), and Field_new_decimal::store_value().
01129 { 01130 if (op_result == E_DEC_OVERFLOW) 01131 { 01132 set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); 01133 return 1; 01134 } 01135 if (op_result == E_DEC_TRUNCATED) 01136 { 01137 set_warning(MYSQL_ERROR::WARN_LEVEL_NOTE, WARN_DATA_TRUNCATED, 1); 01138 /* We return 0 here as this is not a critical issue */ 01139 } 01140 return 0; 01141 }
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual bool Field::zero_pack | ( | ) | const [inline, virtual] |
Reimplemented in Field_decimal, Field_new_decimal, Field_timestamp, Field_date, Field_newdate, Field_time, Field_datetime, Field_string, Field_varstring, Field_enum, and Field_set.
Definition at line 170 of file field.h.
Referenced by Field_num::eq_def(), and fill_cache_field().
Here is the caller graph for this function:

friend class Copy_field [friend] |
| int cre_myisam | ( | my_string | name, | |
| register TABLE * | form, | |||
| uint | options, | |||
| ulonglong | auto_increment_value | |||
| ) | [friend] |
friend class Item_avg_field [friend] |
friend class Item_func_group_concat [friend] |
friend class Item_std_field [friend] |
friend class Item_sum_avg [friend] |
friend class Item_sum_count [friend] |
friend class Item_sum_max [friend] |
friend class Item_sum_min [friend] |
friend class Item_sum_num [friend] |
friend class Item_sum_std [friend] |
friend class Item_sum_sum [friend] |
Definition at line 64 of file field.h.
Referenced by create_field::create_field(), Field(), get_schema_column_record(), and store_create_info().
Definition at line 91 of file field.h.
Referenced by calc_used_field_length(), check_insert_fields(), check_update_fields(), check_view_insertability(), create_tmp_table(), Field(), find_field_in_table_ref(), Item_field::fix_fields(), get_addon_fields(), get_best_group_min_max(), init_fields(), insert_fields(), st_table::mark_auto_increment_column(), mark_common_columns(), mysql_load(), Item_field::register_field_in_read_map(), register_used_fields(), and update_field_dependencies().
Definition at line 89 of file field.h.
Referenced by calc_group_buffer(), char_length(), Field_string::cmp(), Field_decimal::cmp(), Field_bit::cmp_max(), create_field::create_field(), create_tmp_table(), db_find_routine_aux(), Item_func_sp::fix_length_and_dec(), get_schema_column_record(), Field_bit::key_length(), Field_varstring::key_length(), Item_ident_for_show::make_field(), make_field(), Field_bit::max_length(), Field_new_decimal::max_length(), Field_decimal::max_length(), Field_str::max_length(), mysql_alter_table(), Field_string::new_field(), open_table_from_share(), Field_decimal::overflow(), Field_varstring::pack(), Field_string::pack(), Field_bit::pack_length(), Field_varstring::pack_length(), pack_length(), Field_num::prepend_zeros(), read_fixed_length(), Field_varstring::reset(), Field_string::reset(), Field_varstring::sort_length(), Field_string::sort_string(), Field_bit_as_char::sql_type(), Field_bit::sql_type(), Field_varstring::sql_type(), Field_string::sql_type(), Field_year::sql_type(), Field_double::sql_type(), Field_float::sql_type(), Field_long::sql_type(), Field_medium::sql_type(), Field_short::sql_type(), Field_tiny::sql_type(), Field_decimal::sql_type(), Field_bit_as_char::store(), Field_varstring::store(), Field_str::store(), Field_string::store(), Field_year::store(), Field_double::store(), Field_float::store(), Field_decimal::store(), Field_string::type(), Field_string::unpack(), Field_string::val_decimal(), Field_string::val_int(), Field_year::val_int(), Field_decimal::val_int(), Field_string::val_real(), Field_decimal::val_real(), and Field_timestamp::val_str().
| const char * Field::field_name |
Definition at line 63 of file field.h.
Referenced by check_int(), Item_field::collect_item_field_processor(), compare_tables(), create_field::create_field(), create_tmp_field_from_field(), evex_fill_row(), find_field_in_table(), Item_default_value::fix_fields(), Field_time::get_date(), get_schema_column_record(), make_empty_rec(), Item_ident_for_show::make_field(), make_field(), mysql_alter_table(), mysqld_list_fields(), Natural_join_column::name(), Field_string::new_field(), Item_default_value::save_in_field(), set_datetime_warning(), Item_field::set_field(), set_field_to_null(), set_field_to_null_with_conversions(), set_warning(), Field_new_decimal::store(), store_create_info(), store_key::store_key(), and table_check_intact().
Definition at line 90 of file field.h.
Referenced by add_key_field(), calc_used_field_length(), compare_tables(), convert_constant_item(), create_field::create_field(), Item_sum_hybrid::create_tmp_field(), create_tmp_field_from_field(), create_tmp_table(), create_virtual_tmp_table(), Field(), Field_blob::Field_blob(), Field_enum::Field_enum(), Field_num::Field_num(), Field_set::Field_set(), Field_str::Field_str(), Field_timestamp::Field_timestamp(), fill_cache_field(), find_key_for_maxmin(), Item_default_value::fix_fields(), get_addon_fields(), get_schema_column_record(), Field_num::is_equal(), Field_str::is_equal(), Field_new_decimal::is_equal(), Item_ident_for_show::make_field(), make_field(), open_table_from_share(), remove_eq_conds(), Item_default_value::save_in_field(), Item_field::set_field(), store_create_info(), and update_field_dependencies().
Definition at line 92 of file field.h.
Referenced by copy_from_tmp(), eq(), Field_bit::Field_bit(), is_null(), is_null_in_record(), is_null_in_record_with_offset(), is_real_null(), make_empty_rec(), move_field(), new_key_field(), set_default(), set_notnull(), and set_null().
Definition at line 56 of file field.h.
Referenced by add_key_field(), copy_from_tmp(), eq(), Field(), is_null(), is_null_in_record(), is_null_in_record_with_offset(), is_real_null(), make_empty_rec(), maybe_null(), move_field(), move_field_offset(), new_key_field(), real_maybe_null(), set_default(), set_notnull(), and set_null().
| struct st_table* Field::orig_table |
Definition at line 62 of file field.h.
Referenced by create_tmp_field_from_field(), init(), make_field(), and Field_string::type().
Definition at line 66 of file field.h.
Referenced by add_group_and_distinct_keys(), find_key_for_maxmin(), Item_field::fix_fields(), insert_fields(), mark_common_columns(), and update_field_dependencies().
| char* Field::ptr |
Definition at line 55 of file field.h.
Referenced by Item_sum_distinct::add(), cmp(), cmp_binary_offset(), cmp_offset(), Field_blob::copy(), copy_from_tmp(), create_field::create_field(), create_tmp_table(), end_write(), eq(), fill_cache_field(), get_image(), Field_blob::get_length(), Field_blob::get_ptr(), Field_timestamp::get_timestamp(), Ndb_item::get_val(), hash(), key_cmp(), key_rec_cmp(), move_field(), move_field_offset(), mysql_uninstall_plugin(), Field_bit::new_key_field(), new_key_field(), offset(), Field_decimal::overflow(), pack_cmp(), replace_routine_table(), Field_bit::reset(), Field_enum::reset(), Field_blob::reset(), Field_varstring::reset(), Field_string::reset(), Field_datetime::reset(), Field_time::reset(), Field_newdate::reset(), Field_date::reset(), Field_timestamp::reset(), Field_double::reset(), Field_float::reset(), Field_long::reset(), Field_medium::reset(), Field_short::reset(), Field_tiny::reset(), reset(), Item_sum_bit::reset_field(), Item_sum_avg::reset_field(), Item_sum_count::reset_field(), Item_sum_sum::reset_field(), Item_sum_num::reset_field(), Item_sum_variance::reset_field(), set_default(), set_image(), Field_blob::set_ptr(), Field_decimal::sort_string(), sp_drop_db_routines(), Field_tiny::store(), Field_decimal::store(), Field_new_decimal::store_value(), Item_sum_distinct::unique_walk_function(), unpack_addon_fields(), Item_sum_avg::update_field(), Item_sum_count::update_field(), Item_sum_sum::update_field(), Item_sum_bit::update_field(), Item_sum_variance::update_field(), Item_variance_field::val_decimal(), Item_avg_field::val_decimal(), Field_new_decimal::val_decimal(), val_int(), Field_tiny::val_int(), Field_decimal::val_int(), val_int_offset(), Item_variance_field::val_real(), Item_avg_field::val_real(), Field_tiny::val_real(), Field_decimal::val_real(), val_str(), and ha_archive::write_row().
| struct st_table* Field::table |
Definition at line 61 of file field.h.
Referenced by add_key_field(), add_key_part(), add_not_null_conds(), change_to_use_tmp_fields(), check_int(), check_view_insertability(), Field_datetime::cmp(), Field_date::cmp(), Field_timestamp::cmp(), Field_double::cmp(), Field_float::cmp(), Field_long::cmp(), Field_short::cmp(), compare_fields_by_table_order(), convert_constant_item(), store_key_item::copy(), store_key_field::copy(), create_field::create_field(), create_tmp_field_from_field(), create_tmp_table(), fill_cache_field(), fill_record(), find_field_in_natural_join(), find_field_in_table_ref(), find_key_for_maxmin(), Item_func_match::fix_fields(), Item_insert_value::fix_fields(), Item_ref::fix_fields(), Item_field::fix_fields(), Field_timestamp::get_auto_set_type(), Field_time::get_date(), Field_timestamp::get_date(), Field_blob::get_length(), get_mm_leaf(), get_mm_parts(), get_mm_tree(), Field_iterator_table_ref::get_natural_column_ref(), Field_iterator_table_ref::get_or_create_column_ref(), Field_timestamp::get_timestamp(), init(), init_fields(), insert_fields(), is_null(), is_null_in_record(), key_restore(), Item_ident_for_show::make_field(), make_field(), mark_select_range_as_dependent(), matching_cond(), maxmin_in_range(), maybe_null(), Natural_join_column::Natural_join_column(), new_key_field(), Field_iterator_natural_join::next(), offset(), opt_sum_query(), optimize_range(), Field_blob::pack_length(), print_key(), reckey_in_range(), Item_field::register_field_in_read_map(), register_used_fields(), remove_eq_conds(), reopen_table(), Item_default_value::save_in_field(), Ndb_item::save_in_field(), Item::save_in_field_no_warnings(), Copy_field::set(), set_datetime_warning(), Field_timestamp::set_default(), set_default(), Item_field::set_field(), set_field_to_null_with_conversions(), Field_timestamp::set_time(), set_warning(), setup_copy_fields(), Field_varstring::sql_type(), Field_string::sql_type(), Field_bit_as_char::store(), Field_bit::store(), Field_blob::store(), Field_varstring::store(), Field_string::store(), Field_datetime::store(), Field_newdate::store(), Field_date::store(), Field_year::store(), Field_timestamp::store(), Field_double::store(), Field_float::store(), Field_long::store(), Field_medium::store(), Field_short::store(), Field_tiny::store(), Field_new_decimal::store(), Field_decimal::store(), Protocol_simple::store(), store_key::store_key(), Field_blob::store_length(), Field_datetime::store_time(), Field_enum::store_type(), store_val_in_field(), test_if_ref(), update_ref_and_keys(), Item_field::used_tables(), uses_only_table_name_fields(), Item_equal::val_int(), Field_enum::val_int(), Field_datetime::val_int(), Field_date::val_int(), Field_timestamp::val_int(), Field_double::val_int(), Field_float::val_int(), Field_long::val_int(), Field_short::val_int(), Field_date::val_real(), Field_double::val_real(), Field_float::val_real(), Field_long::val_real(), Field_short::val_real(), and Field_timestamp::val_str().
| const char** Field::table_name |
Definition at line 63 of file field.h.
Referenced by create_tmp_table(), init(), and Item_field::set_field().
Definition at line 88 of file field.h.
Referenced by check_view_insertability(), create_field::create_field(), Field_timestamp::Field_timestamp(), Field_timestamp::get_auto_set_type(), delayed_insert::get_local_table(), get_schema_column_record(), mysql_alter_table(), Field_timestamp::set_default(), and store_create_info().
1.4.7

