mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
fc65b08f53
Fix some bugs. The tests innodb and innodb-index fail, but that might be due to an old MySQL source tree being used.
73 lines
2 KiB
C
73 lines
2 KiB
C
/******************************************************
|
|
Data dictionary global types
|
|
|
|
(c) 1996 Innobase Oy
|
|
|
|
Created 1/8/1996 Heikki Tuuri
|
|
*******************************************************/
|
|
|
|
#ifndef dict0types_h
|
|
#define dict0types_h
|
|
|
|
#include "ut0list.h"
|
|
|
|
typedef struct dict_sys_struct dict_sys_t;
|
|
typedef struct dict_col_struct dict_col_t;
|
|
typedef struct dict_field_struct dict_field_t;
|
|
typedef struct dict_index_struct dict_index_t;
|
|
typedef struct dict_table_struct dict_table_t;
|
|
typedef struct dict_foreign_struct dict_foreign_t;
|
|
|
|
/* A cluster object is a table object with the type field set to
|
|
DICT_CLUSTERED */
|
|
|
|
typedef dict_table_t dict_cluster_t;
|
|
|
|
typedef struct ind_node_struct ind_node_t;
|
|
typedef struct tab_node_struct tab_node_t;
|
|
|
|
/* Data types for dict_undo */
|
|
union dict_undo_data_union {
|
|
|
|
dict_index_t* index; /* The index to be dropped */
|
|
|
|
struct {
|
|
dict_table_t* old_table; /* All fields are required only for*/
|
|
dict_table_t* tmp_table; /*RENAME, for CREATE and DROP we */
|
|
dict_table_t* new_table; /*use only old_table */
|
|
} table;
|
|
};
|
|
|
|
typedef union dict_undo_data_union dict_undo_data_t;
|
|
|
|
/* During recovery these are the operations that need to be undone */
|
|
struct dict_undo_struct {
|
|
ulint op_type; /* Discriminator one of :
|
|
TRX_UNDO_INDEX_CREATE_REC,
|
|
TRX_UNDO_TABLE_DROP_REC,
|
|
TRX_UNDO_TABLE_CREATE_REC,
|
|
TRX_UNDO_TABLE_RENAME_REC.*/
|
|
dict_undo_data_t
|
|
data; /* Data required for UNDO */
|
|
|
|
UT_LIST_NODE_T(struct dict_undo_struct)
|
|
node; /* UNDO list node */
|
|
};
|
|
|
|
typedef struct dict_undo_struct dict_undo_t;
|
|
typedef UT_LIST_BASE_NODE_T(dict_undo_t) dict_undo_list_t;
|
|
|
|
/* TODO: Currently this data structure is a place holder for indexes
|
|
created by a transaction.* The REDO is a misnomer*/
|
|
struct dict_redo_struct {
|
|
ulint op_type; /* Discriminator one of :
|
|
TRX_UNDO_INDEX_CREATE_REC.*/
|
|
dict_index_t* index; /* The index created.*/
|
|
|
|
UT_LIST_NODE_T(struct dict_redo_struct)
|
|
node; /* REDO list node */
|
|
};
|
|
|
|
typedef struct dict_redo_struct dict_redo_t;
|
|
typedef UT_LIST_BASE_NODE_T(dict_redo_t) dict_redo_list_t;
|
|
#endif
|