| 
|   | Field_enum (uchar *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, uchar auto_flags_arg, const char *field_name_arg, uint packlength_arg, TYPELIB *typelib_arg, const CHARSET_INFO *charset_arg) | 
|   | 
|   | Field_enum (uint32 len_arg, bool is_nullable_arg, const char *field_name_arg, uint packlength_arg, TYPELIB *typelib_arg, const CHARSET_INFO *charset_arg) | 
|   | 
| Field *  | new_field (MEM_ROOT *root, TABLE *new_table) const final | 
|   | 
| enum_field_types  | type () const final | 
|   | 
| bool  | match_collation_to_optimize_range () const final | 
|   | 
| enum Item_result  | cmp_type () const final | 
|   | 
| enum Item_result  | cast_to_int_type () const final | 
|   | 
| enum ha_base_keytype  | key_type () const final | 
|   | 
| type_conversion_status  | store (const char *to, size_t length, const CHARSET_INFO *charset) override | 
|   | 
| type_conversion_status  | store (double nr) override | 
|   | Store double value in Field_string or Field_varstring.  More...
  | 
|   | 
| type_conversion_status  | store (longlong nr, bool unsigned_val) override | 
|   | 
| double  | val_real () const final | 
|   | 
| my_decimal *  | val_decimal (my_decimal *decimal_value) const final | 
|   | 
| longlong  | val_int () const final | 
|   | 
| String *  | val_str (String *, String *) const override | 
|   | 
| int  | cmp (const uchar *, const uchar *) const final | 
|   | 
| size_t  | make_sort_key (uchar *buff, size_t length) const final | 
|   | Writes a copy of the current value in the record buffer, suitable for sorting using byte-by-byte comparison.  More...
  | 
|   | 
| uint32  | pack_length () const final | 
|   | 
| void  | store_type (ulonglong value) | 
|   | 
| void  | sql_type (String &str) const override | 
|   | 
| enum_field_types  | real_type () const override | 
|   | 
| uint  | pack_length_from_metadata (uint field_metadata) const final | 
|   | 
| uint  | row_pack_length () const final | 
|   | 
| bool  | zero_pack () const override | 
|   | 
| bool  | optimize_range (uint, uint) const final | 
|   | Whether this field can be used for index range scans when in the given keypart of the given index.  More...
  | 
|   | 
| bool  | eq_def (const Field *field) const final | 
|   | 
| bool  | has_charset () const override | 
|   | 
| const CHARSET_INFO *  | sort_charset () const final | 
|   | 
| Field_enum *  | clone (MEM_ROOT *mem_root) const override | 
|   | Makes a shallow copy of the Field object.  More...
  | 
|   | 
| uchar *  | pack (uchar *to, const uchar *from, size_t max_length) const final | 
|   | Pack the field into a format suitable for storage and transfer.  More...
  | 
|   | 
| const uchar *  | unpack (uchar *to, const uchar *from, uint param_data) final | 
|   | Unpack a field from row data.  More...
  | 
|   | 
|   | Field_str (uchar *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, uchar auto_flags_arg, const char *field_name_arg, const CHARSET_INFO *charset) | 
|   | 
| Item_result  | result_type () const override | 
|   | 
| Item_result  | numeric_context_result_type () const final | 
|   | Returns Item_result type of a field when it appears in numeric context such as: SELECT time_column + 1; SELECT SUM(time_column); Examples:  More...
  | 
|   | 
| uint  | decimals () const override | 
|   | 
| void  | make_send_field (Send_field *field) const override | 
|   | Populates a Send_field object with metadata about the column represented by this Field object.  More...
  | 
|   | 
| type_conversion_status  | store_decimal (const my_decimal *) override | 
|   | Decimal representation of Field_str.  More...
  | 
|   | 
| uint  | repertoire () const final | 
|   | 
| const CHARSET_INFO *  | charset () const override | 
|   | 
| void  | set_charset (const CHARSET_INFO *charset_arg) | 
|   | 
| void  | set_field_length (uint32 length) final | 
|   | 
| enum Derivation  | derivation () const final | 
|   | 
| void  | set_derivation (enum Derivation derivation_arg) final | 
|   | 
| bool  | binary () const override | 
|   | 
| uint32  | max_display_length () const override | 
|   | 
| bool  | str_needs_quotes () const final | 
|   | 
|   | Field (const Field &)=default | 
|   | 
| void  | operator= (Field &)=delete | 
|   | 
| bool  | has_insert_default_general_value_expression () const | 
|   | Checks if the field is marked as having a general expression to generate default values.  More...
  | 
|   | 
| bool  | has_insert_default_datetime_value_expression () const | 
|   | Checks if the field is marked as having a datetime value expression to generate default values on inserts.  More...
  | 
|   | 
| bool  | has_update_default_datetime_value_expression () const | 
|   | Checks if the field is marked as having a datetime value expression to generate default values on updates.  More...
  | 
|   | 
| bool  | has_insert_default_constant_expression () const | 
|   | Checks if the field is marked as having a constant expression to generate default values.  More...
  | 
|   | 
| uchar *  | get_null_ptr () | 
|   | 
| bool  | is_flag_set (unsigned flag) const | 
|   | 
| void  | set_flag (unsigned flag) | 
|   | 
| void  | clear_flag (unsigned flag) | 
|   | 
| uint32  | all_flags () const | 
|   | 
| virtual bool  | is_wrapper_field () const | 
|   | If true, it's a Create_field_wrapper (a sub-class of Field used during CREATE/ALTER that we mustn't cast to other sub-classes of Field that aren't on a direct path of inheritance, e.g.  More...
  | 
|   | 
| virtual bool  | is_unsigned () const | 
|   | Whether the field is signed or not.  More...
  | 
|   | 
| bool  | is_gcol () const | 
|   | 
| bool  | is_virtual_gcol () const | 
|   | 
| void  | set_hidden (dd::Column::enum_hidden_type hidden) | 
|   | Sets the hidden type for this field.  More...
  | 
|   | 
| dd::Column::enum_hidden_type  | hidden () const | 
|   | 
| bool  | is_hidden () const | 
|   | 
| bool  | is_hidden_by_system () const | 
|   | 
| bool  | is_hidden_by_user () const | 
|   | 
| bool  | is_field_for_functional_index () const | 
|   | 
|   | Field (uchar *ptr_arg, uint32 length_arg, uchar *null_ptr_arg, uchar null_bit_arg, uchar auto_flags_arg, const char *field_name_arg) | 
|   | This is used as a table name when the table structure is not set up.  More...
  | 
|   | 
| virtual  | ~Field ()=default | 
|   | 
| void  | reset_warnings () | 
|   | 
| void  | set_tmp_nullable () | 
|   | Turn on temporary nullability for the field.  More...
  | 
|   | 
| void  | reset_tmp_nullable () | 
|   | Turn off temporary nullability for the field.  More...
  | 
|   | 
| void  | reset_tmp_null () | 
|   | Reset temporary NULL value for field.  More...
  | 
|   | 
| void  | set_tmp_null () | 
|   | Set field to temporary value NULL.  More...
  | 
|   | 
| bool  | is_tmp_nullable () const | 
|   | 
| bool  | is_tmp_null () const | 
|   | 
| virtual type_conversion_status  | store_packed (longlong nr) | 
|   | Store a temporal value in packed longlong format into a field.  More...
  | 
|   | 
| virtual type_conversion_status  | store_time (MYSQL_TIME *ltime, uint8 dec_arg) | 
|   | Store MYSQL_TIME value with the given amount of decimal digits into a field.  More...
  | 
|   | 
| type_conversion_status  | store_time (MYSQL_TIME *ltime) | 
|   | Store MYSQL_TYPE value into a field when the number of fractional digits is not important or is not know.  More...
  | 
|   | 
| type_conversion_status  | store (const char *to, size_t length, const CHARSET_INFO *cs, enum_check_fields check_level) | 
|   | 
| virtual longlong  | val_time_temporal () const | 
|   | Returns TIME value in packed longlong format.  More...
  | 
|   | 
| virtual longlong  | val_date_temporal () const | 
|   | Returns DATE/DATETIME value in packed longlong format.  More...
  | 
|   | 
| virtual longlong  | val_time_temporal_at_utc () const | 
|   | 
| virtual longlong  | val_date_temporal_at_utc () const | 
|   | 
| longlong  | val_temporal_by_field_type () const | 
|   | Returns "native" packed longlong representation of a TIME or DATE/DATETIME field depending on field type.  More...
  | 
|   | 
| String *  | val_str (String *str) const | 
|   | 
| String *  | val_int_as_str (String *val_buffer, bool unsigned_flag) const | 
|   | Interpret field value as an integer but return the result as a string.  More...
  | 
|   | 
| bool  | gcol_expr_is_equal (const Create_field *field) const | 
|   | Check whether generated columns' expressions are the same.  More...
  | 
|   | 
| virtual bool  | eq (const Field *field) const | 
|   | 
| virtual uint32  | pack_length_in_rec () const | 
|   | 
| virtual bool  | compatible_field_size (uint metadata, Relay_log_info *, uint16, int *order) const | 
|   | Check to see if field size is compatible with destination.  More...
  | 
|   | 
| int  | save_field_metadata (uchar *first_byte) | 
|   | 
| virtual uint32  | data_length (ptrdiff_t row_offset=0) const | 
|   | 
| virtual uint32  | max_data_length () const | 
|   | Get the maximum size of the data in packed format.  More...
  | 
|   | 
| virtual type_conversion_status  | reset () | 
|   | 
| virtual bool  | get_timestamp (my_timeval *tm, int *warnings) const | 
|   | Returns a UTC component in struct timeval format.  More...
  | 
|   | 
| virtual void  | store_timestamp (const my_timeval *) | 
|   | Stores a timestamp value in timeval format in a field.  More...
  | 
|   | 
| virtual void  | set_default () | 
|   | 
| void  | evaluate_insert_default_function () | 
|   | Evaluates the INSERT default function and stores the result in the field.  More...
  | 
|   | 
| void  | evaluate_update_default_function () | 
|   | Evaluates the UPDATE default function, if one exists, and stores the result in the record buffer.  More...
  | 
|   | 
| virtual uint32  | key_length () const | 
|   | 
| virtual enum_field_types  | binlog_type () const | 
|   | 
| int  | cmp (const uchar *str) const | 
|   | 
| virtual int  | cmp_max (const uchar *a, const uchar *b, uint max_len) const | 
|   | 
| virtual int  | cmp_binary (const uchar *a, const uchar *b, uint32 max_length=~0L) const | 
|   | 
| virtual int  | cmp_offset (ptrdiff_t row_offset) const | 
|   | 
| virtual int  | cmp_binary_offset (ptrdiff_t row_offset) const | 
|   | 
| virtual int  | key_cmp (const uchar *a, const uchar *b) const | 
|   | 
| virtual int  | key_cmp (const uchar *str, uint length) const | 
|   | 
| virtual bool  | is_text_key_type () const | 
|   | 
| bool  | is_null (ptrdiff_t row_offset=0) const | 
|   | Check whether the full table's row is NULL or the Field has value NULL.  More...
  | 
|   | 
| bool  | is_real_null (ptrdiff_t row_offset=0) const | 
|   | Check whether the Field has value NULL (temporary or actual).  More...
  | 
|   | 
| bool  | is_null_in_record (const uchar *record) const | 
|   | Check if the Field has value NULL or the record specified by argument has value NULL for this Field.  More...
  | 
|   | 
| void  | set_null (ptrdiff_t row_offset=0) | 
|   | Set field to value NULL.  More...
  | 
|   | 
| void  | set_notnull (ptrdiff_t row_offset=0) | 
|   | Set field to value NOT NULL.  More...
  | 
|   | 
| type_conversion_status  | check_constraints (int mysql_errno) | 
|   | Check NOT NULL constraint on the field after temporary nullability is disabled.  More...
  | 
|   | 
| void  | set_check_for_truncated_fields (enum_check_fields check_for_truncated_fields) | 
|   | Remember the value of THD::check_for_truncated_fields to handle possible NOT-NULL constraint errors after BEFORE-trigger execution is finished.  More...
  | 
|   | 
| bool  | is_nullable () const | 
|   | 
| uint  | null_offset (const uchar *record) const | 
|   | 
| uint  | null_offset () const | 
|   | 
| void  | set_null_ptr (uchar *p_null_ptr, uint p_null_bit) | 
|   | 
| virtual size_t  | make_sort_key (uchar *buff, size_t length, size_t trunc_pos) const | 
|   | Writes a copy of the current value in the record buffer, suitable for sorting using byte-by-byte comparison.  More...
  | 
|   | 
| virtual bool  | can_be_compared_as_longlong () const | 
|   | 
| virtual void  | mem_free () | 
|   | 
| Field *  | new_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr, uchar *new_null_ptr, uint new_null_bit) const | 
|   | 
| virtual Field *  | new_key_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr, uchar *new_null_ptr, uint new_null_bit) const | 
|   | 
| Field *  | new_key_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr) const | 
|   | 
| void  | move_field (uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg) | 
|   | 
| virtual void  | move_field_offset (ptrdiff_t ptr_diff) | 
|   | 
| virtual void  | get_image (uchar *buff, size_t length, const CHARSET_INFO *) const | 
|   | 
| virtual void  | set_image (const uchar *buff, size_t length, const CHARSET_INFO *) | 
|   | 
| virtual size_t  | get_key_image (uchar *buff, size_t length, imagetype type) const | 
|   | 
| virtual void  | set_key_image (const uchar *buff, size_t length) | 
|   | 
| longlong  | val_int_offset (ptrdiff_t row_offset) | 
|   | 
| longlong  | val_int (uchar *new_ptr) | 
|   | 
| String *  | val_str (String *str, uchar *new_ptr) | 
|   | 
| virtual bool  | send_to_protocol (Protocol *protocol) const | 
|   | Send the value of this field over the protocol using the correct Protocol::store*() function which matches the type of the field.  More...
  | 
|   | 
| uchar *  | pack (uchar *to) const | 
|   | 
| const uchar *  | unpack (const uchar *from) | 
|   | 
| virtual uchar *  | pack_with_metadata_bytes (uchar *to, const uchar *from, uint max_length) const | 
|   | This function does the same thing as pack(), except for the difference that max_length does not mean the number of bytes in the output, but the maximum field length from the input (which must be exactly field->max_field_length()).  More...
  | 
|   | 
| virtual bool  | pack_diff (uchar **to, ulonglong value_options) const | 
|   | Write the field for the binary log in diff format.  More...
  | 
|   | 
| virtual uint  | max_packed_col_length () const | 
|   | This is a wrapper around pack_length() used by filesort() to determine how many bytes we need for packing "addon fields".  More...
  | 
|   | 
| uint  | offset (uchar *record) const | 
|   | 
| void  | copy_data (ptrdiff_t src_record_offset) | 
|   | 
| virtual bool  | get_date (MYSQL_TIME *ltime, my_time_flags_t fuzzydate) const | 
|   | 
| virtual bool  | get_time (MYSQL_TIME *ltime) const | 
|   | 
| const CHARSET_INFO *  | charset_for_protocol () const | 
|   | 
| bool  | set_warning (Sql_condition::enum_severity_level level, unsigned int code, int cut_increment) | 
|   | Produce warning or note about data saved into field.  More...
  | 
|   | 
| bool  | set_warning (Sql_condition::enum_severity_level level, uint code, int cut_increment, const char *view_db, const char *view_name) | 
|   | Produce warning or note about data saved into field.  More...
  | 
|   | 
| bool  | warn_if_overflow (int op_result) | 
|   | Process decimal library return codes and issue warnings for overflow and truncation.  More...
  | 
|   | 
| virtual void  | init (TABLE *table_arg) | 
|   | 
| longlong  | convert_decimal2longlong (const my_decimal *val, bool unsigned_flag, bool *has_overflow) | 
|   | Conversion from decimal to longlong.  More...
  | 
|   | 
| virtual uint32  | char_length () const | 
|   | 
| virtual geometry_type  | get_geometry_type () const | 
|   | 
| void  | dbug_print () const | 
|   | 
| 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 type_conversion_status  | validate_stored_val (THD *thd) | 
|   | 
| virtual void  | hash (ulong *nr, ulong *nr2) const | 
|   | 
| virtual ulonglong  | get_max_int_value () const | 
|   | Get the upper limit of the MySQL integral and floating-point type.  More...
  | 
|   | 
| virtual const uchar *  | data_ptr () const | 
|   | Return a const pointer to the actual data in the record buffer.  More...
  | 
|   | 
| const uchar *  | field_ptr () const | 
|   | Return a const pointer to where the field is stored in the record buffer.  More...
  | 
|   | 
| uchar *  | field_ptr () | 
|   | Return a pointer to where the field is stored in the record buffer.  More...
  | 
|   | 
| void  | set_field_ptr (uchar *ptr_arg) | 
|   | 
| virtual bool  | is_updatable () const | 
|   | Checks whether a string field is part of write_set.  More...
  | 
|   | 
| bool  | is_part_of_actual_key (THD *thd, uint cur_index, KEY *cur_index_info) const | 
|   | Check whether field is part of the index taking the index extensions flag into account.  More...
  | 
|   | 
| Key_map  | get_covering_prefix_keys () const | 
|   | Get covering prefix keys.  More...
  | 
|   | 
| virtual bool  | is_array () const | 
|   | Whether the field is a typed array.  More...
  | 
|   | 
| virtual uint32  | get_length_bytes () const | 
|   | Return number of bytes the field's length takes.  More...
  | 
|   | 
| bool  | handle_old_value () const | 
|   | Whether field's old valued have to be handled.  More...
  | 
|   | 
| virtual void  | set_field_index (uint16 field_index) | 
|   | Sets field index.  More...
  | 
|   | 
| uint16  | field_index () const | 
|   | Returns field index.  More...
  | 
|   |