32 extern ulint data_mysql_default_charset_coll;
33 #define DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL 8
34 #define DATA_MYSQL_BINARY_CHARSET_COLL 63
41 #define DATA_VARCHAR 1
49 #define DATA_FIXBINARY 3
58 #define DATA_SYS_CHILD 7
65 #define DATA_DOUBLE 10
66 #define DATA_DECIMAL 11
67 #define DATA_VARMYSQL 12
73 #define DATA_MTYPE_MAX 63
119 #define DATA_ENGLISH 4
122 #define DATA_ERROR 111
124 #define DATA_MYSQL_TYPE_MASK 255
126 #if defined(BUILD_DRIZZLE)
127 # define DATA_MYSQL_TRUE_VARCHAR 7
129 # define DATA_MYSQL_TRUE_VARCHAR 15
136 #define DATA_ROW_ID 0
137 #define DATA_ROW_ID_LEN 6
139 #define DATA_TRX_ID 1
140 #define DATA_TRX_ID_LEN 6
142 #define DATA_ROLL_PTR 2
143 #define DATA_ROLL_PTR_LEN 7
145 #define DATA_N_SYS_COLS 3
147 #define DATA_SYS_PRTYPE_MASK 0xF
150 #define DATA_NOT_NULL 256
152 #define DATA_UNSIGNED 512
154 #define DATA_BINARY_TYPE 1024
162 #define DATA_LONG_TRUE_VARCHAR 4096
171 #define DATA_ORDER_NULL_TYPE_BUF_SIZE 4
174 #define DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE 6
180 #define DATA_MBMINMAXLEN(mbminlen, mbmaxlen) \
181 ((mbmaxlen) * DATA_MBMAX + (mbminlen))
184 #define DATA_MBMINLEN(mbminmaxlen) ((ulint) \
185 UNIV_EXPECT(((mbminmaxlen) % DATA_MBMAX), \
188 #define DATA_MBMAXLEN(mbminmaxlen) ((ulint) ((mbminmaxlen) / DATA_MBMAX))
190 #ifndef UNIV_HOTBACKUP
284 #ifndef UNIV_HOTBACKUP
335 #ifndef UNIV_HOTBACKUP
390 #ifndef UNIV_HOTBACKUP
424 #ifndef UNIV_HOTBACKUP
504 #ifndef UNIV_HOTBACKUP
514 #include "data0type.ic"
UNIV_INTERN ibool dtype_is_string_type(ulint mtype)
UNIV_INLINE ulint dtype_get_min_size_low(ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen)
UNIV_INLINE void dtype_read_for_order_and_null_size(dtype_t *type, const byte *buf)
UNIV_INTERN ibool dtype_validate(const dtype_t *type)
UNIV_INLINE void dtype_get_mblen(ulint mtype, ulint prtype, ulint *mbminlen, ulint *mbmaxlen)
UNIV_INTERN ulint dtype_get_at_most_n_mbchars(ulint prtype, ulint mbminmaxlen, ulint prefix_len, ulint data_len, const char *str)
UNIV_INLINE ulint dtype_get_mtype(const dtype_t *type)
UNIV_INLINE void dtype_new_read_for_order_and_null_size(dtype_t *type, const byte *buf)
UNIV_INLINE ulint dtype_get_pad_char(ulint mtype, ulint prtype)
UNIV_INLINE ulint dtype_get_sql_null_size(const dtype_t *type, ulint comp)
UNIV_INLINE void dtype_new_store_for_order_and_null_size(byte *buf, const dtype_t *type, ulint prefix_len)
UNIV_INTERN ibool dtype_is_non_binary_string_type(ulint mtype, ulint prtype)
UNIV_INLINE ulint dtype_get_mysql_type(const dtype_t *type)
UNIV_INLINE ulint dtype_get_max_size_low(ulint mtype, ulint len)
UNIV_INLINE ulint dtype_get_len(const dtype_t *type)
UNIV_INLINE ibool dtype_is_utf8(ulint prtype)
UNIV_INLINE ulint dtype_get_fixed_size_low(ulint mtype, ulint prtype, ulint len, ulint mbminmaxlen, ulint comp)
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_charset_coll(ulint prtype)
UNIV_INLINE void dtype_set(dtype_t *type, ulint mtype, ulint prtype, ulint len)
UNIV_INLINE void dtype_set_mbminmaxlen(dtype_t *type, ulint mbminlen, ulint mbmaxlen)
UNIV_INLINE void dtype_copy(dtype_t *type1, const dtype_t *type2)
UNIV_INTERN void dtype_print(const dtype_t *type)
UNIV_INTERN ulint dtype_form_prtype(ulint old_prtype, ulint charset_coll)
UNIV_INTERN ibool dtype_is_binary_string_type(ulint mtype, ulint prtype)
UNIV_INLINE ulint dtype_get_prtype(const dtype_t *type)