~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

[patch 129/129] Merge patch for revision 1947 from InnoDB SVN:
revno: 1947
revision-id: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6252
parent: svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6248
committer: marko
timestamp: Mon 2009-11-30 10:50:11 +0000
message:
  branches/zip: Suppress errors about non-found temporary tables.
  Write the is_temp flag to SYS_TABLES.MIX_LEN.
  
  dict_table_t::flags: Add a flag for is_temporary, DICT_TF2_TEMPORARY.
  Unlike other flags, this will not be written to the tablespace flags
  or SYS_TABLES.TYPE, but only to SYS_TABLES.MIX_LEN.
  
  dict_build_table_def_step(): Only pass DICT_TF_BITS to tablespaces.
  
  dict_check_tablespaces_and_store_max_id(), dict_load_table():
  Suppress errors about temporary tables not being found.
  
  dict_create_sys_tables_tuple(): Write the DICT_TF2_TEMPORARY flag
  to SYS_TABLES.MIX_LEN.
  
  fil_space_create(), fil_create_new_single_table_tablespace(): Add assertions
  about space->flags.
  
  row_drop_table_for_mysql(): Do not complain about non-found temporary tables.
  
  rb://160 approved by Heikki Tuuri.  This addresses the second part of
  Bug #41609 Crash recovery does not work for InnoDB temporary tables.
modified:
  ChangeLog                      2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
  dict/dict0boot.c               2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0boot.c
  dict/dict0crea.c               2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
  dict/dict0load.c               2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0load.c
  dict/dict0mem.c                2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0mem.c
  fil/fil0fil.c                  2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Ffil%2Ffil0fil.c
  handler/ha_innodb.cc           2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
  include/dict0mem.h             2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0mem.h
  row/row0mysql.c                2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0mysql.c
diff:
=== modified file 'ChangeLog'

Show diffs side-by-side

added added

removed removed

Lines of Context:
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