| 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
 1.8.1.2
 1.8.1.2