| 
|   | Field_varstring (uchar *ptr_arg, uint32 len_arg, uint length_bytes_arg, uchar *null_ptr_arg, uchar null_bit_arg, uchar auto_flags_arg, const char *field_name_arg, TABLE_SHARE *share, const CHARSET_INFO *cs) | 
|   | 
|   | Field_varstring (uint32 len_arg, bool is_nullable_arg, const char *field_name_arg, TABLE_SHARE *share, const CHARSET_INFO *cs) | 
|   | 
| enum_field_types  | type () const final | 
|   | 
| bool  | match_collation_to_optimize_range () const final | 
|   | 
| enum ha_base_keytype  | key_type () const final | 
|   | 
| uint  | row_pack_length () const final | 
|   | 
| bool  | zero_pack () const final | 
|   | 
| uint32  | pack_length () const final | 
|   | 
| uint32  | key_length () const final | 
|   | 
| type_conversion_status  | store (const char *to, size_t length, const CHARSET_INFO *charset) override | 
|   | 
| type_conversion_status  | store (longlong nr, bool unsigned_val) final | 
|   | 
| double  | val_real () const final | 
|   | 
| longlong  | val_int () const final | 
|   | 
| String *  | val_str (String *, String *) const override | 
|   | 
| my_decimal *  | val_decimal (my_decimal *) const final | 
|   | 
| int  | cmp_max (const uchar *, const uchar *, uint max_length) const final | 
|   | 
| int  | cmp (const uchar *a, const uchar *b) 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...
  | 
|   | 
| size_t  | make_sort_key (uchar *to, size_t length, size_t trunc_pos) const final | 
|   | Writes a copy of the current value in the record buffer, suitable for sorting using byte-by-byte comparison.  More...
  | 
|   | 
| size_t  | get_key_image (uchar *buff, size_t length, imagetype type) const final | 
|   | 
| void  | set_key_image (const uchar *buff, size_t length) final | 
|   | 
| void  | sql_type (String &str) const final | 
|   | 
| 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 varstring field from row data.  More...
  | 
|   | 
| int  | cmp_binary (const uchar *a, const uchar *b, uint32 max_length=~0L) const final | 
|   | 
| int  | key_cmp (const uchar *, const uchar *) const final | 
|   | Compare to key segments (always 2 byte length prefix).  More...
  | 
|   | 
| int  | key_cmp (const uchar *str, uint length) const final | 
|   | 
| uint32  | data_length (ptrdiff_t row_offset=0) const final | 
|   | 
| enum_field_types  | real_type () const final | 
|   | 
| bool  | has_charset () const final | 
|   | 
| Field *  | new_field (MEM_ROOT *root, TABLE *new_table) const final | 
|   | 
| Field *  | new_key_field (MEM_ROOT *root, TABLE *new_table, uchar *new_ptr, uchar *new_null_ptr, uint new_null_bit) const final | 
|   | 
| Field_varstring *  | clone (MEM_ROOT *mem_root) const final | 
|   | Makes a shallow copy of the Field object.  More...
  | 
|   | 
| uint  | is_equal (const Create_field *new_field) const final | 
|   | Whether a field being created is type-compatible with an existing one.  More...
  | 
|   | 
| void  | hash (ulong *nr, ulong *nr2) const final | 
|   | 
| const uchar *  | data_ptr () const final | 
|   | Return a const pointer to the actual data in the record buffer.  More...
  | 
|   | 
| bool  | is_text_key_type () const final | 
|   | 
| uint32  | get_length_bytes () const override | 
|   | Return number of bytes the field's length takes.  More...
  | 
|   | 
|   | Field_longstr (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_arg) | 
|   | 
| type_conversion_status  | store_decimal (const my_decimal *d) override | 
|   | Decimal representation of Field_str.  More...
  | 
|   | 
| uint32  | max_data_length () const override | 
|   | Get the maximum size of the data in packed format.  More...
  | 
|   | 
| bool  | is_updatable () const final | 
|   | Checks whether a string field is part of write_set.  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 (double nr) override | 
|   | Store double value in Field_string or Field_varstring.  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 | 
|   | 
| void  | add_to_cost (CostOfItem *cost) const override | 
|   | Update '*cost' with the fact that this Field is accessed.  More...
  | 
|   | 
|   | 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_time (Time_val time, uint8 dec_arg) | 
|   | Store a time value into a string column.  More...
  | 
|   | 
| 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_date_temporal () const | 
|   | Returns DATE/DATETIME value in packed longlong format.  More...
  | 
|   | 
| virtual longlong  | val_date_temporal_at_utc () const | 
|   | 
| 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...
  | 
|   | 
| virtual Item_result  | cmp_type () const | 
|   | 
| virtual Item_result  | cast_to_int_type () const | 
|   | 
| 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 bool  | eq_def (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...
  | 
|   | 
| virtual uint  | pack_length_from_metadata (uint field_metadata) const | 
|   | 
| int  | save_field_metadata (uchar *first_byte) | 
|   | 
| 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 enum_field_types  | binlog_type () const | 
|   | 
| int  | cmp (const uchar *str) const | 
|   | 
| virtual int  | cmp_offset (ptrdiff_t row_offset) const | 
|   | 
| virtual int  | cmp_binary_offset (ptrdiff_t row_offset) 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 bool  | optimize_range (uint idx, uint part) const | 
|   | Whether this field can be used for index range scans when in the given keypart of the given index.  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 | 
|   | 
| 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 *) | 
|   | 
| 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  | val_date (Date_val *date, my_time_flags_t flags) const | 
|   | 
| virtual bool  | val_time (Time_val *time) const | 
|   | 
| virtual bool  | val_datetime (Datetime_val *dt, my_time_flags_t flags) const | 
|   | 
| const CHARSET_INFO *  | charset_for_protocol () const | 
|   | 
| virtual const CHARSET_INFO *  | sort_charset () 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 ulonglong  | get_max_int_value () const | 
|   | Get the upper limit of the MySQL integral and floating-point type.  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) | 
|   | 
| 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...
  | 
|   | 
| 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...
  | 
|   | 
 | 
| enum   | enum_auto_flags {  
  NONE = 0
, NEXT_NUMBER = 1
, DEFAULT_NOW = 2
, ON_UPDATE_NOW = 4
,  
  GENERATED_FROM_EXPRESSION = 8
 
 } | 
|   | Flags for Field::auto_flags / Create_field::auto_flags bitmaps.  More...
  | 
|   | 
| 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
 } | 
|   | 
| static bool  | type_can_have_key_part (enum_field_types) | 
|   | Check whether a field type can be partially indexed by a key.  More...
  | 
|   | 
| static enum_field_types  | field_type_merge (enum_field_types, enum_field_types) | 
|   | Return type of which can carry value of both given types in UNION result.  More...
  | 
|   | 
| static Item_result  | result_merge_type (enum_field_types) | 
|   | Detect Item_result by given field type of UNION merge result.  More...
  | 
|   | 
| uint32  | char_length_cache | 
|   | 
| TABLE *  | table | 
|   | Pointer to TABLE object that owns this field.  More...
  | 
|   | 
| const char *  | orig_db_name {nullptr} | 
|   | Pointer to original database name, only non-NULL for a temporary table.  More...
  | 
|   | 
| const char *  | orig_table_name {nullptr} | 
|   | Pointer to original table name, only non-NULL for a temporary table.  More...
  | 
|   | 
| const char **  | table_name | 
|   | 
| const char *  | field_name | 
|   | 
| LEX_CSTRING  | comment | 
|   | 
| Key_map  | key_start | 
|   | 
| Key_map  | part_of_key | 
|   | Keys that includes this field except of prefix keys.  More...
  | 
|   | 
| Key_map  | part_of_prefixkey | 
|   | Prefix keys.  More...
  | 
|   | 
| Key_map  | part_of_sortkey | 
|   | 
| Key_map  | part_of_key_not_extended | 
|   | All keys that include this field, but not extended by the storage engine to include primary key columns.  More...
  | 
|   | 
| uint32  | field_length | 
|   | 
| uchar  | null_bit | 
|   | 
| uchar  | auto_flags | 
|   | Bitmap of flags indicating if field value is auto-generated by default and/or on update, and in which way.  More...
  | 
|   | 
| bool  | is_created_from_null_item | 
|   | If true, this field was created in create_tmp_field_from_item from a NULL value.  More...
  | 
|   | 
| bool  | m_indexed | 
|   | True if this field belongs to some index (unlike part_of_key, the index might have only a prefix).  More...
  | 
|   | 
| LEX_CSTRING  | m_engine_attribute = EMPTY_CSTR | 
|   | 
| LEX_CSTRING  | m_secondary_engine_attribute = EMPTY_CSTR | 
|   | 
| Value_generator *  | gcol_info {nullptr} | 
|   | 
| bool  | stored_in_db | 
|   | Indication that the field is physically stored in tables rather than just generated on SQL queries.  More...
  | 
|   | 
| Value_generator *  | m_default_val_expr {nullptr} | 
|   | Holds the expression to be used to generate default values.  More...
  | 
|   | 
| static constexpr size_t  | MAX_VARCHAR_WIDTH {65535} | 
|   | 
| static constexpr size_t  | MAX_TINY_BLOB_WIDTH {255} | 
|   | 
| static constexpr size_t  | MAX_SHORT_BLOB_WIDTH {65535} | 
|   | 
| static constexpr size_t  | MAX_MEDIUM_BLOB_WIDTH {16777215} | 
|   | 
| static constexpr size_t  | MAX_LONG_BLOB_WIDTH {4294967295} | 
|   | 
| type_conversion_status  | check_string_copy_error (const char *well_formed_error_pos, const char *cannot_convert_error_pos, const char *from_end_pos, const char *end, bool count_spaces, const CHARSET_INFO *from_cs, const CHARSET_INFO *to_cs) | 
|   | Report "not well formed" or "cannot convert" error after storing a character string info a field.  More...
  | 
|   | 
| uchar *  | pack_int16 (uchar *to, const uchar *from, size_t max_length) const | 
|   | 
| const uchar *  | unpack_int16 (uchar *to, const uchar *from) const | 
|   | 
| uchar *  | pack_int24 (uchar *to, const uchar *from, size_t max_length) const | 
|   | 
| const uchar *  | unpack_int24 (uchar *to, const uchar *from) const | 
|   | 
| uchar *  | pack_int32 (uchar *to, const uchar *from, size_t max_length) const | 
|   | 
| const uchar *  | unpack_int32 (uchar *to, const uchar *from) const | 
|   | 
| uchar *  | pack_int64 (uchar *to, const uchar *from, size_t max_length) const | 
|   | 
| const uchar *  | unpack_int64 (uchar *to, const uchar *from) const | 
|   | 
| const CHARSET_INFO *  | field_charset | 
|   | 
| enum Derivation  | field_derivation | 
|   | 
| uchar *  | ptr | 
|   | Holds the position to the field in record.  More...
  | 
|   | 
| static uchar  | dummy_null_buffer = ' ' | 
|   |