~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/include/dict0mem.h

  • Committer: Brian Aker
  • Date: 2010-11-08 18:24:58 UTC
  • mto: (1921.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 1916.
  • Revision ID: brian@tangent.org-20101108182458-twv4hyix43ojno80
Merge in changes such that lock is now broken out into its own directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
12
 
13
13
You should have received a copy of the GNU General Public License along with
14
 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15
 
Place, Suite 330, Boston, MA 02111-1307 USA
 
14
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
 
15
St, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
*****************************************************************************/
18
18
 
80
80
/** File format */
81
81
/* @{ */
82
82
#define DICT_TF_FORMAT_SHIFT            5       /* file format */
83
 
#define DICT_TF_FORMAT_MASK             (127 << DICT_TF_FORMAT_SHIFT)
 
83
#define DICT_TF_FORMAT_MASK             \
 
84
((~(~0 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT))) << DICT_TF_FORMAT_SHIFT)
84
85
#define DICT_TF_FORMAT_51               0       /*!< InnoDB/MySQL up to 5.1 */
85
86
#define DICT_TF_FORMAT_ZIP              1       /*!< InnoDB plugin for 5.1:
86
87
                                                compressed tables,
87
88
                                                new BLOB treatment */
88
89
/** Maximum supported file format */
89
90
#define DICT_TF_FORMAT_MAX              DICT_TF_FORMAT_ZIP
90
 
 
 
91
/* @} */
91
92
#define DICT_TF_BITS                    6       /*!< number of flag bits */
92
93
#if (1 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT)) <= DICT_TF_FORMAT_MAX
93
94
# error "DICT_TF_BITS is insufficient for DICT_TF_FORMAT_MAX"
94
95
#endif
95
96
/* @} */
 
97
 
 
98
/** @brief Additional table flags.
 
99
 
 
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. */
 
104
/* @{ */
 
105
#define DICT_TF2_SHIFT                  DICT_TF_BITS
 
106
                                                /*!< Shift value for
 
107
                                                table->flags. */
 
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
 
112
                                                in table->flags. */
96
113
/* @} */
97
114
 
 
115
 
98
116
/**********************************************************************//**
99
117
Creates a table memory object.
100
118
@return own: table object */
374
392
        unsigned        space:32;
375
393
                                /*!< space where the clustered index of the
376
394
                                table is placed */
377
 
        unsigned        flags:DICT_TF_BITS;/*!< DICT_TF_COMPACT, ... */
 
395
        unsigned        flags:DICT_TF2_BITS;/*!< DICT_TF_COMPACT, ... */
378
396
        unsigned        ibd_file_missing:1;
379
397
                                /*!< TRUE if this is in a single-table
380
398
                                tablespace and the .ibd file is missing; then