MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Mock_field_timestamp Class Reference
Inheritance diagram for Mock_field_timestamp:
Collaboration diagram for Mock_field_timestamp:

Public Member Functions

 Mock_field_timestamp (Field::utype utype)
timeval to_timeval ()
void make_writable ()
void store_timestamp (const timeval *tm)
- Public Member Functions inherited from Field_timestamp
 Field_timestamp (uchar *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg)
 Field_timestamp (bool maybe_null_arg, const char *field_name_arg)
enum_field_types type () const
enum ha_base_keytype key_type () const
type_conversion_status store_packed (longlong nr)
type_conversion_status reset (void)
longlong val_int (void)
int cmp (const uchar *, const uchar *)
void make_sort_key (uchar *buff, uint length)
uint32 pack_length () const
void sql_type (String &str) const
bool zero_pack () const
bool get_timestamp (struct timeval *tm, int *warnings)
bool get_date (MYSQL_TIME *ltime, uint fuzzydate)
Field_timestampclone (MEM_ROOT *mem_root) const
Field_timestampclone () const
uchar * pack (uchar *to, const uchar *from, uint max_length __attribute__((unused)), bool low_byte_first)
const uchar * unpack (uchar *to, const uchar *from, uint param_data __attribute__((unused)), bool low_byte_first)
virtual type_conversion_status validate_stored_val (THD *thd)
- Public Member Functions inherited from Field_temporal_with_date_and_time
 Field_temporal_with_date_and_time (uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, uint8 dec_arg)
void store_timestamp (const struct timeval *tm)
- Public Member Functions inherited from Field_temporal_with_date
 Field_temporal_with_date (uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, uint8 int_length_arg, uint8 dec_arg)
 Field_temporal_with_date (bool maybe_null_arg, const char *field_name_arg, uint int_length_arg, uint8 dec_arg)
bool send_binary (Protocol *protocol)
type_conversion_status store_time (MYSQL_TIME *ltime, uint8 dec)
Stringval_str (String *, String *)
longlong val_time_temporal ()
longlong val_date_temporal ()
bool get_time (MYSQL_TIME *ltime)
- Public Member Functions inherited from Field_temporal
 Field_temporal (uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, uint32 len_arg, uint8 dec_arg)
 Field_temporal (bool maybe_null_arg, const char *field_name_arg, uint32 len_arg, uint8 dec_arg)
virtual Item_result result_type () const
virtual uint32 max_display_length ()
virtual bool str_needs_quotes ()
virtual uint is_equal (Create_field *new_field)
Item_result numeric_context_result_type () const
enum Item_result cmp_type () const
enum Derivation derivation () const
uint repertoire () const
const CHARSET_INFOcharset () const
bool can_be_compared_as_longlong () const
bool binary () const
type_conversion_status store (const char *str, uint len, const CHARSET_INFO *cs)
type_conversion_status store_decimal (const my_decimal *decimal)
type_conversion_status store (longlong nr, bool unsigned_val)
type_conversion_status store (double nr)
double val_real ()
my_decimalval_decimal (my_decimal *decimal_value)
- Public Member Functions inherited from Field
bool has_insert_default_function () const
bool has_update_default_function () const
 Field (uchar *ptr_arg, uint32 length_arg, uchar *null_ptr_arg, uchar null_bit_arg, utype unireg_check_arg, const char *field_name_arg)
 This is used as a table name when the table structure is not set up.
type_conversion_status store_time (MYSQL_TIME *ltime)
type_conversion_status store (const char *to, uint length, const CHARSET_INFO *cs, enum_check_fields check_level)
longlong val_temporal_by_field_type ()
Stringval_str (String *str)
Stringval_int_as_str (String *val_buffer, my_bool unsigned_flag)
virtual Item_result cast_to_int_type () const
virtual bool eq (Field *field)
virtual bool eq_def (Field *field)
virtual uint32 pack_length_in_rec () const
virtual bool compatible_field_size (uint metadata, Relay_log_info *rli, uint16 mflags, int *order)
virtual uint pack_length_from_metadata (uint field_metadata)
virtual uint row_pack_length () const
virtual int save_field_metadata (uchar *first_byte)
virtual uint32 data_length ()
virtual uint32 sort_length () const
virtual uint32 max_data_length () const
virtual void reset_fields ()
void store_timestamp (my_time_t sec)
virtual void set_default ()
void evaluate_insert_default_function ()
void evaluate_update_default_function ()
virtual uint32 key_length () const
virtual enum_field_types real_type () const
virtual enum_field_types binlog_type () const
int cmp (const uchar *str)
virtual int cmp_max (const uchar *a, const uchar *b, uint max_len)
virtual int cmp_binary (const uchar *a, const uchar *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 uchar *a, const uchar *b)
virtual int key_cmp (const uchar *str, uint length)
virtual uint decimals () const
bool is_temporal () const
bool is_temporal_with_date () const
bool is_temporal_with_time () const
bool is_temporal_with_date_and_time () const
bool is_null (my_ptrdiff_t row_offset=0) const
bool is_real_null (my_ptrdiff_t row_offset=0) const
bool is_null_in_record (const uchar *record) const
void set_null (my_ptrdiff_t row_offset=0)
void set_notnull (my_ptrdiff_t row_offset=0)
bool maybe_null (void) const
bool real_maybe_null (void) const
uint null_offset (const uchar *record) const
uint null_offset () const
void set_null_ptr (uchar *p_null_ptr, uint p_null_bit)
size_t last_null_byte () const
virtual void make_field (Send_field *)
virtual bool optimize_range (uint idx, uint part)
virtual void free ()
virtual Fieldnew_field (MEM_ROOT *root, TABLE *new_table, bool keep_type)
virtual Fieldnew_key_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr, uchar *new_null_ptr, uint new_null_bit)
Fieldnew_key_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr)
void move_field (uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg)
void move_field (uchar *ptr_arg)
virtual void move_field_offset (my_ptrdiff_t ptr_diff)
virtual void get_image (uchar *buff, uint length, const CHARSET_INFO *cs)
virtual void set_image (const uchar *buff, uint length, const CHARSET_INFO *cs)
virtual uint get_key_image (uchar *buff, uint length, imagetype type)
virtual void set_key_image (const uchar *buff, uint length)
longlong val_int_offset (uint row_offset)
longlong val_int (const uchar *new_ptr)
Stringval_str (String *str, const uchar *new_ptr)
virtual uchar * pack (uchar *to, const uchar *from, uint max_length, bool low_byte_first)
uchar * pack (uchar *to, const uchar *from)
virtual const uchar * unpack (uchar *to, const uchar *from, uint param_data, bool low_byte_first)
const uchar * unpack (uchar *to, const uchar *from)
virtual uint packed_col_length (const uchar *to, uint length)
virtual uint max_packed_col_length (uint max_length)
uint offset (uchar *record)
void copy_from_tmp (int offset)
uint fill_cache_field (struct st_cache_field *copy)
virtual const CHARSET_INFOcharset_for_protocol (void) const
virtual const CHARSET_INFOsort_charset (void) const
virtual bool has_charset (void) const
virtual bool match_collation_to_optimize_range () const
virtual void set_derivation (enum Derivation derivation_arg)
bool set_warning (Sql_condition::enum_warning_level, unsigned int code, int cuted_increment) const
bool check_overflow (int op_result)
bool check_truncated (int op_result)
bool warn_if_overflow (int op_result)
void init (TABLE *table_arg)
longlong convert_decimal2longlong (const my_decimal *val, bool unsigned_flag, bool *has_overflow)
virtual uint32 char_length ()
virtual geometry_type get_geometry_type ()
void dbug_print ()
ha_storage_media field_storage_type () const
void set_storage_type (ha_storage_media storage_type_arg)
column_format_type column_format () const
void set_column_format (column_format_type column_format_arg)
virtual void hash (ulong *nr, ulong *nr2)

Public Attributes

uchar buffer [PACK_LENGTH]
bool store_timestamp_called

Additional Inherited Members

- Public Types inherited from Field
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 }
enum  { LAST_NULL_BYTE_UNDEF = 0 }
- Static Public Member Functions inherited from Field
static void * operator new (size_t size) throw ()
static void * operator new (size_t size, MEM_ROOT *mem_root) throw ()
static void operator delete (void *ptr, MEM_ROOT *mem_root)
static void operator delete (void *ptr_arg, size_t size) throw ()
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)
- Static Public Attributes inherited from Field_timestamp
static const int PACK_LENGTH = 4
- Protected Member Functions inherited from Field_timestamp
ulonglong date_flags (const THD *thd)
type_conversion_status store_internal (const MYSQL_TIME *ltime, int *error)
bool get_date_internal (MYSQL_TIME *ltime)
void store_timestamp_internal (const struct timeval *tm)
- Static Protected Member Functions inherited from Field
static void handle_int16 (uchar *to, const uchar *from, bool low_byte_first_from, bool low_byte_first_to)
static void handle_int24 (uchar *to, const uchar *from, bool low_byte_first_from, bool low_byte_first_to)
static void handle_int32 (uchar *to, const uchar *from, bool low_byte_first_from, bool low_byte_first_to)
static void handle_int64 (uchar *to, const uchar *from, bool low_byte_first_from, bool low_byte_first_to)
- Protected Attributes inherited from Field_temporal
uint8 dec

Detailed Description

Definition at line 28 of file mock_field_timestamp.h.

Member Function Documentation

void Mock_field_timestamp::store_timestamp ( const timeval tm)
inlinevirtual

Stores a timestamp value in timeval format in a field.

Note
  • The default implementation of this interface expects that storing the value will not fail. For most Field descendent classes, this is not the case. However, this interface is only used when the function CURRENT_TIMESTAMP is used as a column default expression, and currently we only allow TIMESTAMP and DATETIME columns to be declared with this as the column default. Hence it is enough that the classes implementing columns with these types either override this interface, or that store_time(MYSQL_TIME*, uint8) does not fail.
  • The column types above interpret decimals() to mean the scale of the fractional seconds.
  • We also have the limitation that the scale of a column must be the same as the scale of the CURRENT_TIMESTAMP. I.e. we only allow
[ TIMESTAMP | DATETIME ] (n) [ DEFAULT | ON UPDATE ] CURRENT_TIMESTAMP (n)

Since this interface relies on the caller to truncate the value according to this Field's scale, it will work with all constructs that we currently allow.

Reimplemented from Field.

Definition at line 77 of file mock_field_timestamp.h.


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