~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/include/row0mysql.h

Merged in innodb plugin 1.0.2 

Show diffs side-by-side

added added

removed removed

Lines of Context:
163
163
                                        handle */
164
164
        trx_t*          trx);           /* in: transaction handle */
165
165
/*************************************************************************
166
 
Unlocks an AUTO_INC type lock possibly reserved by trx. */
 
166
Unlocks AUTO_INC type locks that were possibly reserved by a trx. */
167
167
UNIV_INTERN
168
168
void
169
169
row_unlock_table_autoinc_for_mysql(
170
170
/*===============================*/
171
 
        trx_t*  trx);   /* in: transaction */
 
171
        trx_t*  trx);                   /* in/out: transaction */
172
172
/*************************************************************************
173
173
Sets an AUTO_INC type lock on the table mentioned in prebuilt. The
174
174
AUTO_INC lock gives exclusive access to the auto-inc counter of the
339
339
row_create_table_for_mysql(
340
340
/*=======================*/
341
341
                                        /* out: error code or DB_SUCCESS */
342
 
        dict_table_t*   table,          /* in: table definition */
 
342
        dict_table_t*   table,          /* in, own: table definition
 
343
                                        (will be freed) */
343
344
        trx_t*          trx);           /* in: transaction handle */
344
345
/*************************************************************************
345
346
Does an index creation operation for MySQL. TODO: currently failure
350
351
row_create_index_for_mysql(
351
352
/*=======================*/
352
353
                                        /* out: error number or DB_SUCCESS */
353
 
        dict_index_t*   index,          /* in: index definition */
 
354
        dict_index_t*   index,          /* in, own: index definition
 
355
                                        (will be freed) */
354
356
        trx_t*          trx,            /* in: transaction handle */
355
357
        const ulint*    field_lengths); /* in: if not NULL, must contain
356
358
                                        dict_index_get_n_fields(index)
411
413
        dict_table_t*   table,  /* in: table handle */
412
414
        trx_t*          trx);   /* in: transaction handle */
413
415
/*************************************************************************
414
 
Drops a table for MySQL. If the name of the dropped table ends in
 
416
Drops a table for MySQL.  If the name of the dropped table ends in
415
417
one of "innodb_monitor", "innodb_lock_monitor", "innodb_tablespace_monitor",
416
418
"innodb_table_monitor", then this will also stop the printing of monitor
417
 
output by the master thread. */
 
419
output by the master thread.  If the data dictionary was not already locked
 
420
by the transaction, the transaction will be committed.  Otherwise, the
 
421
data dictionary will remain locked. */
418
422
UNIV_INTERN
419
423
int
420
424
row_drop_table_for_mysql(
425
429
        ibool           drop_db);/* in: TRUE=dropping whole database */
426
430
 
427
431
/*************************************************************************
428
 
Drops a table for MySQL but does not commit the transaction.  If the
429
 
name of the dropped table ends in one of "innodb_monitor",
430
 
"innodb_lock_monitor", "innodb_tablespace_monitor",
431
 
"innodb_table_monitor", then this will also stop the printing of
432
 
monitor output by the master thread. */
433
 
UNIV_INTERN
434
 
int
435
 
row_drop_table_for_mysql_no_commit(
436
 
/*===============================*/
437
 
                                /* out: error code or DB_SUCCESS */
438
 
        const char*     name,   /* in: table name */
439
 
        trx_t*          trx,    /* in: transaction handle */
440
 
        ibool           drop_db);/* in: TRUE=dropping whole database */
441
 
/*************************************************************************
442
432
Discards the tablespace of a table which stored in an .ibd file. Discarding
443
433
means that this function deletes the .ibd file and assigns a new table id for
444
434
the table. Also the flag table->ibd_file_missing is set TRUE. */
710
700
                                        to this heap */
711
701
        mem_heap_t*     old_vers_heap;  /* memory heap where a previous
712
702
                                        version is built in consistent read */
713
 
        ib_uint64_t     last_value;     /* last value of AUTO-INC interval */
 
703
        /*----------------------*/
 
704
        ib_uint64_t     autoinc_last_value;/* last value of AUTO-INC interval */
 
705
        ib_uint64_t     autoinc_increment;/* The increment step of the auto 
 
706
                                        increment column. Value must be
 
707
                                        greater than or equal to 1. Required to
 
708
                                        calculate the next value */
 
709
        ib_uint64_t     autoinc_offset; /* The offset passed to
 
710
                                        get_auto_increment() by MySQL. Required
 
711
                                        to calculate the next value */
 
712
        ulint           autoinc_error;  /* The actual error code encountered
 
713
                                        while trying to init or read the
 
714
                                        autoinc value from the table. We
 
715
                                        store it here so that we can return
 
716
                                        it to MySQL */
 
717
        /*----------------------*/
714
718
        UT_LIST_NODE_T(row_prebuilt_t)  prebuilts;
715
719
                                        /* list node of table->prebuilts */
716
720
        index_cond_func_t idx_cond_func;/* Index Condition Pushdown function,