82
82
#define DICT_TF_FORMAT_SHIFT 5 /* file format */
83
#define DICT_TF_FORMAT_MASK \
84
((~(~0 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT))) << DICT_TF_FORMAT_SHIFT)
83
#define DICT_TF_FORMAT_MASK (127 << DICT_TF_FORMAT_SHIFT)
85
84
#define DICT_TF_FORMAT_51 0 /*!< InnoDB/MySQL up to 5.1 */
86
85
#define DICT_TF_FORMAT_ZIP 1 /*!< InnoDB plugin for 5.1:
88
87
new BLOB treatment */
89
88
/** Maximum supported file format */
90
89
#define DICT_TF_FORMAT_MAX DICT_TF_FORMAT_ZIP
92
91
#define DICT_TF_BITS 6 /*!< number of flag bits */
93
92
#if (1 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT)) <= DICT_TF_FORMAT_MAX
94
93
# error "DICT_TF_BITS is insufficient for DICT_TF_FORMAT_MAX"
98
/** @brief Additional table flags.
100
These flags will be stored in SYS_TABLES.MIX_LEN. All unused flags
101
will be written as 0. The column may contain garbage for tables
102
created with old versions of InnoDB that only implemented
103
ROW_FORMAT=REDUNDANT. */
105
#define DICT_TF2_SHIFT DICT_TF_BITS
108
#define DICT_TF2_TEMPORARY 1 /*!< TRUE for tables from
109
CREATE TEMPORARY TABLE. */
110
#define DICT_TF2_BITS (DICT_TF2_SHIFT + 1)
111
/*!< Total number of bits
116
98
/**********************************************************************//**
117
99
Creates a table memory object.
118
100
@return own: table object */
392
374
unsigned space:32;
393
375
/*!< space where the clustered index of the
394
376
table is placed */
395
unsigned flags:DICT_TF2_BITS;/*!< DICT_TF_COMPACT, ... */
377
unsigned flags:DICT_TF_BITS;/*!< DICT_TF_COMPACT, ... */
396
378
unsigned ibd_file_missing:1;
397
379
/*!< TRUE if this is in a single-table
398
380
tablespace and the .ibd file is missing; then