InnoDB Plugin
1.0
|
Macros | |
#define | APPEND_UNSIGNED() |
Functions | |
UNIV_INLINE ulint | dtype_get_charset_coll (ulint prtype) |
UNIV_INLINE ibool | dtype_is_utf8 (ulint prtype) |
UNIV_INLINE ulint | dtype_get_mysql_type (const dtype_t *type) |
UNIV_INLINE void | dtype_get_mblen (ulint mtype, ulint prtype, ulint *mbminlen, ulint *mbmaxlen) |
UNIV_INLINE void | dtype_set_mbminmaxlen (dtype_t *type, ulint mbminlen, ulint mbmaxlen) |
UNIV_INLINE void | dtype_set_mblen (dtype_t *type) |
UNIV_INLINE void | dtype_set (dtype_t *type, ulint mtype, ulint prtype, ulint len) |
UNIV_INLINE void | dtype_copy (dtype_t *type1, const dtype_t *type2) |
UNIV_INLINE ulint | dtype_get_mtype (const dtype_t *type) |
UNIV_INLINE ulint | dtype_get_prtype (const dtype_t *type) |
UNIV_INLINE ulint | dtype_get_len (const dtype_t *type) |
UNIV_INLINE ulint | dtype_get_mbminlen (const dtype_t *type) |
UNIV_INLINE ulint | dtype_get_mbmaxlen (const dtype_t *type) |
UNIV_INLINE ulint | dtype_get_pad_char (ulint mtype, ulint prtype) |
UNIV_INLINE void | dtype_new_store_for_order_and_null_size (byte *buf, const dtype_t *type, ulint prefix_len) |
UNIV_INLINE void | dtype_read_for_order_and_null_size (dtype_t *type, const byte *buf) |
UNIV_INLINE void | dtype_new_read_for_order_and_null_size (dtype_t *type, const byte *buf) |
UNIV_INLINE char * | dtype_sql_name (unsigned mtype, unsigned prtype, unsigned len, char *name, unsigned name_sz) |
UNIV_INLINE ulint | dtype_get_fixed_size_low (ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen, ulint comp) |
UNIV_INLINE ulint | dtype_get_min_size_low (ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen) |
UNIV_INLINE ulint | dtype_get_max_size_low (ulint mtype, ulint len) |
UNIV_INLINE ulint | dtype_get_sql_null_size (const dtype_t *type, ulint comp) |
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 |
UNIV_INLINE ulint dtype_get_charset_coll | ( | ulint | prtype | ) |
Gets the MySQL charset-collation code for MySQL string types.
prtype | in: precise data type |
UNIV_INLINE ulint dtype_get_fixed_size_low | ( | ulint | mtype, |
ulint | prtype, | ||
ulint | len, | ||
ulint | mbminmaxlen, | ||
ulint | comp | ||
) |
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 |
UNIV_INLINE ulint dtype_get_len | ( | const dtype_t * | type | ) |
Gets the type length.
type | in: data type |
UNIV_INLINE ulint dtype_get_max_size_low | ( | ulint | mtype, |
ulint | len | ||
) |
Returns the maximum size of a data type. Note: types in system tables may be incomplete and return incorrect information.
mtype | in: main type |
len | in: length |
UNIV_INLINE void dtype_get_mblen | ( | ulint | mtype, |
ulint | prtype, | ||
ulint * | mbminlen, | ||
ulint * | mbmaxlen | ||
) |
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 |
UNIV_INLINE ulint dtype_get_mbmaxlen | ( | const dtype_t * | type | ) |
Gets the maximum length of a character, in bytes.
type | in: type |
UNIV_INLINE ulint dtype_get_mbminlen | ( | const dtype_t * | type | ) |
Gets the minimum length of a character, in bytes.
type | in: type |
UNIV_INLINE ulint dtype_get_min_size_low | ( | ulint | mtype, |
ulint | prtype, | ||
ulint | len, | ||
ulint | mbminmaxlen | ||
) |
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 |
UNIV_INLINE ulint dtype_get_mtype | ( | const dtype_t * | type | ) |
Gets the SQL main data type.
type | in: data type |
UNIV_INLINE ulint dtype_get_mysql_type | ( | const dtype_t * | type | ) |
Gets the MySQL type code from a dtype.
type | in: type struct |
UNIV_INLINE ulint dtype_get_pad_char | ( | ulint | mtype, |
ulint | prtype | ||
) |
Gets the padding character code for a type.
mtype | in: main type |
prtype | in: precise type |
UNIV_INLINE ulint dtype_get_prtype | ( | const dtype_t * | type | ) |
Gets the precise data type.
type | in: data type |
UNIV_INLINE ulint dtype_get_sql_null_size | ( | const dtype_t * | type, |
ulint | comp | ||
) |
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 |
UNIV_INLINE ibool dtype_is_utf8 | ( | ulint | prtype | ) |
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 |
UNIV_INLINE 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. This is the >= 4.1.x storage format.
type | in: type struct |
buf | in: buffer for stored type order info |
UNIV_INLINE 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. 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 |
UNIV_INLINE 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. This is the < 4.1.x storage format.
type | in: type struct |
buf | in: buffer for stored type order info |
UNIV_INLINE void dtype_set | ( | dtype_t * | type, |
ulint | mtype, | ||
ulint | prtype, | ||
ulint | len | ||
) |
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 |
UNIV_INLINE void dtype_set_mblen | ( | dtype_t * | type | ) |
Compute the mbminlen and mbmaxlen members of a data type structure.
type | in/out: type |
UNIV_INLINE void dtype_set_mbminmaxlen | ( | dtype_t * | type, |
ulint | mbminlen, | ||
ulint | mbmaxlen | ||
) |
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 |
UNIV_INLINE char* dtype_sql_name | ( | unsigned | mtype, |
unsigned | prtype, | ||
unsigned | len, | ||
char * | name, | ||
unsigned | name_sz | ||
) |
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 |