~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to storage/innodb_plugin/include/dict0mem.h

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
112
112
                                                in table->flags. */
113
113
/* @} */
114
114
 
 
115
/** Tables could be chained together with Foreign key constraint. When
 
116
first load the parent table, we would load all of its descedents.
 
117
This could result in rescursive calls and out of stack error eventually.
 
118
DICT_FK_MAX_RECURSIVE_LOAD defines the maximum number of recursive loads,
 
119
when exceeded, the child table will not be loaded. It will be loaded when
 
120
the foreign constraint check needs to be run. */
 
121
#define DICT_FK_MAX_RECURSIVE_LOAD      250
 
122
 
 
123
/** Similarly, when tables are chained together with foreign key constraints
 
124
with on cascading delete/update clause, delete from parent table could
 
125
result in recursive cascading calls. This defines the maximum number of
 
126
such cascading deletes/updates allowed. When exceeded, the delete from
 
127
parent table will fail, and user has to drop excessive foreign constraint
 
128
before proceeds. */
 
129
#define FK_MAX_CASCADE_DEL              300
115
130
 
116
131
/**********************************************************************//**
117
132
Creates a table memory object.
306
321
                                dict_get_n_unique(index); we
307
322
                                periodically calculate new
308
323
                                estimates */
 
324
        ib_int64_t*     stat_n_non_null_key_vals;
 
325
                                /* approximate number of non-null key values
 
326
                                for this index, for each column where
 
327
                                n < dict_get_n_unique(index); This
 
328
                                is used when innodb_stats_method is
 
329
                                "nulls_ignored". */
309
330
        ulint           stat_index_size;
310
331
                                /*!< approximate index size in
311
332
                                database pages */
319
340
                                index, or 0 if the index existed
320
341
                                when InnoDB was started up */
321
342
#endif /* !UNIV_HOTBACKUP */
 
343
#ifdef UNIV_BLOB_DEBUG
 
344
        mutex_t         blobs_mutex;
 
345
                                /*!< mutex protecting blobs */
 
346
        void*           blobs;  /*!< map of (page_no,heap_no,field_no)
 
347
                                to first_blob_page_no; protected by
 
348
                                blobs_mutex; @see btr_blob_dbg_t */
 
349
#endif /* UNIV_BLOB_DEBUG */
322
350
#ifdef UNIV_DEBUG
323
351
        ulint           magic_n;/*!< magic number */
324
352
/** Value of dict_index_struct::magic_n */
434
462
                                NOT allowed until this count gets to zero;
435
463
                                MySQL does NOT itself check the number of
436
464
                                open handles at drop */
 
465
        unsigned        fk_max_recusive_level:8;
 
466
                                /*!< maximum recursive level we support when
 
467
                                loading tables chained together with FK
 
468
                                constraints. If exceeds this level, we will
 
469
                                stop loading child table into memory along with
 
470
                                its parent table */
437
471
        ulint           n_foreign_key_checks_running;
438
472
                                /*!< count of how many foreign key check
439
473
                                operations are currently being performed