![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
Data types. More...
Macros | |
| #define | APPEND_UNSIGNED() | 
Functions | |
| static ulint | dtype_get_charset_coll (ulint prtype) | 
| Gets the MySQL charset-collation code for MySQL string types.  More... | |
| static bool | dtype_is_utf8 (ulint prtype) | 
| Determines if a MySQL string type is a subset of UTF-8.  More... | |
| static ulint | dtype_get_mysql_type (const dtype_t *type) | 
| Gets the MySQL type code from a dtype.  More... | |
| static void | dtype_get_mblen (ulint mtype, ulint prtype, ulint *mbminlen, ulint *mbmaxlen) | 
| Compute the mbminlen and mbmaxlen members of a data type structure.  More... | |
| static void | dtype_set_mbminmaxlen (dtype_t *type, ulint mbminlen, ulint mbmaxlen) | 
| Sets the minimum and maximum length of a character, in bytes.  More... | |
| static void | dtype_set_mblen (dtype_t *type) | 
| Compute the mbminlen and mbmaxlen members of a data type structure.  More... | |
| static void | dtype_set (dtype_t *type, ulint mtype, ulint prtype, ulint len) | 
| Sets a data type structure.  More... | |
| static void | dtype_copy (dtype_t *type1, const dtype_t *type2) | 
| Copies a data type structure.  More... | |
| static ulint | dtype_get_mtype (const dtype_t *type) | 
| Gets the SQL main data type.  More... | |
| static ulint | dtype_get_prtype (const dtype_t *type) | 
| Gets the precise data type.  More... | |
| static ulint | dtype_get_len (const dtype_t *type) | 
| Gets the type length.  More... | |
| static ulint | dtype_get_mbminlen (const dtype_t *type) | 
| Gets the minimum length of a character, in bytes.  More... | |
| static ulint | dtype_get_mbmaxlen (const dtype_t *type) | 
| Gets the maximum length of a character, in bytes.  More... | |
| static void | dtype_new_store_for_order_and_null_size (byte *buf, const dtype_t *type, ulint prefix_len) | 
| Stores for a type the information which determines its alphabetical ordering and the storage size of an SQL NULL value.  More... | |
| static void | dtype_read_for_order_and_null_size (dtype_t *type, const byte *buf) | 
| Reads to a type the stored information which determines its alphabetical ordering and the storage size of an SQL NULL value.  More... | |
| static void | dtype_new_read_for_order_and_null_size (dtype_t *type, const byte *buf) | 
| Reads to a type the stored information which determines its alphabetical ordering and the storage size of an SQL NULL value.  More... | |
| static char * | dtype_sql_name (unsigned mtype, unsigned prtype, unsigned len, char *name, unsigned name_sz) | 
| Returns the type's SQL name (e.g.  More... | |
| static ulint | dtype_get_fixed_size_low (ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen, bool comp) | 
| Returns the size of a fixed size data type, 0 if not a fixed size type.  More... | |
| static ulint | dtype_get_min_size_low (ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen) | 
| Returns the minimum size of a data type.  More... | |
| static ulint | dtype_get_max_size_low (ulint mtype, ulint len) | 
| Returns the maximum size of a data type.  More... | |
| static ulint | dtype_get_sql_null_size (const dtype_t *type, bool comp) | 
| Returns the ROW_FORMAT=REDUNDANT stored SQL NULL size of a type.  More... | |
Data types.
Created 1/16/1996 Heikki Tuuri
| #define APPEND_UNSIGNED | ( | ) | 
Copies a data type structure.
| type1 | in: type struct to copy to | 
| type2 | in: type struct to copy from | 
Gets the MySQL charset-collation code for MySQL string types.
| prtype | in: precise data type | 
      
  | 
  inlinestatic | 
Returns the size of a fixed size data type, 0 if not a fixed size type.
| mtype | in: main type | 
| prtype | in: precise type | 
| len | in: length | 
| mbminmaxlen | in: minimum and maximum length of a multibyte character, in bytes | 
| comp | in: nonzero=ROW_FORMAT=COMPACT | 
Gets the type length.
| type | in: data type | 
Returns the maximum size of a data type.
Note: types in system tables may be incomplete and return incorrect information.
| [in] | mtype | main type | 
| [in] | len | length | 
| mtype | in: main type | 
| len | in: length | 
      
  | 
  inlinestatic | 
Compute the mbminlen and mbmaxlen members of a data type structure.
| mtype | in: main type | 
| prtype | in: precise type (and collation) | 
| mbminlen | out: minimum length of a multi-byte character | 
| mbmaxlen | out: maximum length of a multi-byte character | 
Gets the maximum length of a character, in bytes.
| type | in: type | 
Gets the minimum length of a character, in bytes.
| type | in: type | 
      
  | 
  inlinestatic | 
Returns the minimum size of a data type.
| mtype | in: main type | 
| prtype | in: precise type | 
| len | in: length | 
| mbminmaxlen | in: minimum and maximum length of a multi-byte character | 
Gets the SQL main data type.
| type | in: data type | 
Gets the MySQL type code from a dtype.
| type | in: type struct | 
Gets the precise data type.
| type | in: data type | 
Returns the ROW_FORMAT=REDUNDANT stored SQL NULL size of a type.
For fixed length types it is the fixed length of the type, otherwise 0.
| type | in: type | 
| comp | in: nonzero=ROW_FORMAT=COMPACT | 
      
  | 
  inlinestatic | 
Determines if a MySQL string type is a subset of UTF-8.
This function may return false negatives, in case further character-set collation codes are introduced in MySQL later.
| prtype | in: precise data type | 
      
  | 
  inlinestatic | 
Reads to a type the stored information which determines its alphabetical ordering and the storage size of an SQL NULL value.
This is the >= 4.1.x storage format.
| type | in: type struct | 
| buf | in: buffer for stored type order info | 
      
  | 
  inlinestatic | 
Stores for a type the information which determines its alphabetical ordering and the storage size of an SQL NULL value.
This is the >= 4.1.x storage format.
| buf | in: buffer for DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE bytes where we store the info | 
| type | in: type struct | 
| prefix_len | in: prefix length to replace type->len, or 0 | 
Reads to a type the stored information which determines its alphabetical ordering and the storage size of an SQL NULL value.
This is the < 4.1.x storage format.
| type | in: type struct | 
| buf | in: buffer for stored type order info | 
Sets a data type structure.
| type | in: type struct to init | 
| mtype | in: main data type | 
| prtype | in: precise type | 
| len | in: precision of type | 
      
  | 
  inlinestatic | 
Compute the mbminlen and mbmaxlen members of a data type structure.
| type | in/out: type | 
Sets the minimum and maximum length of a character, in bytes.
| type | in/out: type | 
| mbminlen | in: minimum length of a char, in bytes, or 0 if this is not a character type | 
| mbmaxlen | in: maximum length of a char, in bytes, or 0 if this is not a character type | 
      
  | 
  inlinestatic | 
Returns the type's SQL name (e.g.
BIGINT UNSIGNED) from mtype,prtype,len
| mtype | in: mtype | 
| prtype | in: prtype | 
| len | in: len | 
| name | out: SQL name | 
| name_sz | in: size of the name buffer |