summaryrefslogtreecommitdiff
path: root/storage/innobase/include/dict0mem.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/include/dict0mem.h')
-rw-r--r--storage/innobase/include/dict0mem.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h
index 1ad2517c8fb..64e5008ac0e 100644
--- a/storage/innobase/include/dict0mem.h
+++ b/storage/innobase/include/dict0mem.h
@@ -1368,6 +1368,9 @@ public:
everything in overflow) size of the longest possible row and index
of a field which made index records too big to fit on a page.*/
inline record_size_info_t record_size_info() const;
+
+ /** Empty the index content and reinitialize the root page */
+ void empty(que_thr_t *thr);
};
/** Detach a virtual column from an index.
@@ -1950,6 +1953,15 @@ struct dict_table_t {
char (&tbl_name)[NAME_LEN + 1],
size_t *db_name_len, size_t *tbl_name_len) const;
+ /** Empty the table */
+ void empty_table(que_thr_t *thr);
+
+ void remove_bulk_trx()
+ {
+ bulk_trx_id= 0;
+ allow_insert_undo= false;
+ }
+
private:
/** Initialize instant->field_map.
@param[in] table table definition to copy from */
@@ -2316,6 +2328,13 @@ public:
/** mysql_row_templ_t for base columns used for compute the virtual
columns */
dict_vcol_templ_t* vc_templ;
+
+ /** Trx id of bulk operation. This is under the protection of
+ exclusive lock of table object */
+ trx_id_t bulk_trx_id;
+
+ /** Allow insert undo for bulk insert operation */
+ bool allow_insert_undo;
};
inline void dict_index_t::set_modified(mtr_t& mtr) const