InnoDB Plugin
1.0
|
#include <dict0mem.h>
Data Fields | |
unsigned | ind:10 |
unsigned | ord_part:1 |
unsigned | max_prefix:12 |
unsigned | prtype:32 |
unsigned | mtype:8 |
unsigned | len:16 |
unsigned | mbminmaxlen:5 |
Data structure for a column in a table
unsigned dict_col_t::ind |
table column position (starting from 0)
unsigned dict_col_t::len |
length; for MySQL data this is field->pack_length(), except that for a >= 5.0.3 type true VARCHAR this is the maximum byte length of the string data (in addition to the string, MySQL uses 1 or 2 bytes to store the string length)
unsigned dict_col_t::max_prefix |
maximum index prefix length on this column. Our current max limit is 3072 for Barracuda table
unsigned dict_col_t::mbminmaxlen |
minimum and maximum length of a character, in bytes; DATA_MBMINMAXLEN(mbminlen,mbmaxlen); mbminlen=DATA_MBMINLEN(mbminmaxlen); mbmaxlen=DATA_MBMINLEN(mbminmaxlen)
unsigned dict_col_t::mtype |
main data type
unsigned dict_col_t::ord_part |
nonzero if this column appears in the ordering fields of an index
unsigned dict_col_t::prtype |
The following are copied from dtype_t,
so that all bit-fields can be packed tightly. precise type; MySQL data type, charset code, flags to indicate nullability, signedness, whether this is a binary string, whether this is a true VARCHAR where MySQL uses 2 bytes to store the length