00001 /***************************************************************************** 00002 00003 Copyright (C) 1996, 2010, Innobase Oy. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it under 00006 the terms of the GNU General Public License as published by the Free Software 00007 Foundation; version 2 of the License. 00008 00009 This program is distributed in the hope that it will be useful, but WITHOUT 00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00011 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License along with 00014 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin 00015 St, Fifth Floor, Boston, MA 02110-1301 USA 00016 00017 *****************************************************************************/ 00018 00019 /**************************************************/ 00026 #pragma once 00027 #ifndef trx0types_h 00028 #define trx0types_h 00029 00030 #include "ut0byte.h" 00031 00033 #define TRX_ID_FMT "%"PRIx64 00034 00037 #define TRX_ID_MAX_LEN 17 00038 00040 /* @{ */ 00042 typedef struct trx_struct trx_t; 00044 typedef struct trx_sys_struct trx_sys_t; 00046 typedef struct trx_doublewrite_struct trx_doublewrite_t; 00048 typedef struct trx_sig_struct trx_sig_t; 00050 typedef struct trx_rseg_struct trx_rseg_t; 00052 typedef struct trx_undo_struct trx_undo_t; 00054 typedef struct trx_undo_arr_struct trx_undo_arr_t; 00056 typedef struct trx_undo_inf_struct trx_undo_inf_t; 00058 typedef struct trx_purge_struct trx_purge_t; 00060 typedef struct roll_node_struct roll_node_t; 00062 typedef struct commit_node_struct commit_node_t; 00064 typedef struct trx_named_savept_struct trx_named_savept_t; 00065 /* @} */ 00066 00068 enum trx_rb_ctx { 00069 RB_NONE = 0, 00070 RB_NORMAL, 00071 RB_RECOVERY_PURGE_REC, 00078 RB_RECOVERY 00080 }; 00081 00083 typedef ib_id_t row_id_t; 00085 typedef ib_id_t trx_id_t; 00087 typedef ib_id_t roll_ptr_t; 00089 typedef ib_id_t undo_no_t; 00090 00092 typedef struct trx_savept_struct trx_savept_t; 00094 struct trx_savept_struct{ 00095 undo_no_t least_undo_no; 00096 }; 00097 00099 /* @{ */ 00101 typedef byte trx_sysf_t; 00103 typedef byte trx_rsegf_t; 00105 typedef byte trx_usegf_t; 00107 typedef byte trx_ulogf_t; 00109 typedef byte trx_upagef_t; 00110 00112 typedef byte trx_undo_rec_t; 00113 /* @} */ 00114 00115 #endif