InnoDB Plugin  1.0
trx0roll.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #ifndef trx0roll_h
27 #define trx0roll_h
28 
29 #include "univ.i"
30 #include "trx0trx.h"
31 #include "trx0types.h"
32 #include "mtr0mtr.h"
33 #include "trx0sys.h"
34 
35 extern bool trx_rollback_or_clean_is_active;
36 
37 /*******************************************************************/
42 UNIV_INTERN
43 ibool
45 /*========*/
46  const trx_t* trx);
47 /*******************************************************************/
50 UNIV_INTERN
53 /*============*/
54  trx_t* trx);
55 /*******************************************************************/
57 UNIV_INTERN
58 void
60 /*==============*/
61  trx_undo_arr_t* arr);
62 /*******************************************************************/
65 UNIV_INLINE
68 /*======================*/
69  trx_undo_arr_t* arr,
70  ulint n);
71 /********************************************************************/
79 UNIV_INTERN
82 /*========================*/
83  trx_t* trx,
84  undo_no_t limit,
85  roll_ptr_t* roll_ptr,
86  mem_heap_t* heap);
87 /********************************************************************/
92 UNIV_INTERN
93 ibool
95 /*=================*/
96  trx_t* trx,
97  undo_no_t undo_no);
98 /*******************************************************************/
100 UNIV_INTERN
101 void
103 /*=================*/
104  trx_t* trx,
105  undo_no_t undo_no);
106 /*******************************************************************/
111 UNIV_INTERN
112 void
114 /*============================*/
115  ibool all);
117 /*******************************************************************/
124 extern "C" UNIV_INTERN
125 os_thread_ret_t
127 /*================================================*/
128  void* arg __attribute__((unused)));
131 /*********************************************************************/
134 UNIV_INTERN
137 /*=============*/
138  mem_heap_t* heap);
139 /***********************************************************/
142 UNIV_INTERN
143 que_thr_t*
145 /*==============*/
146  que_thr_t* thr);
147 /*******************************************************************/
150 UNIV_INTERN
151 dberr_t
153 /*===================*/
154  trx_t* trx)
155  __attribute__((nonnull));
156 /*******************************************************************/
159 UNIV_INTERN
160 dberr_t
162 /*=================================*/
163  trx_t* trx)
164  __attribute__((nonnull));
165 /*******************************************************************/
168 UNIV_INTERN
169 dberr_t
171 /*======================*/
172  trx_t* trx,
173  trx_savept_t* savept)
176  __attribute__((nonnull(1)));
177 /*******************************************************************/
186 UNIV_INTERN
187 dberr_t
189 /*================================*/
190  trx_t* trx,
191  const char* savepoint_name,
192  ib_int64_t* mysql_binlog_cache_pos)
198  __attribute__((nonnull, warn_unused_result));
199 /*******************************************************************/
205 UNIV_INTERN
206 dberr_t
208 /*====================*/
209  trx_t* trx,
210  const char* savepoint_name,
211  ib_int64_t binlog_cache_pos)
215  __attribute__((nonnull));
216 /*******************************************************************/
221 UNIV_INTERN
222 dberr_t
224 /*============================*/
225  trx_t* trx,
226  const char* savepoint_name)
227  __attribute__((nonnull, warn_unused_result));
228 /*******************************************************************/
230 UNIV_INTERN
231 void
233 /*=====================*/
234  trx_t* trx,
235  trx_named_savept_t* savep);
245 };
246 
251  ulint n_cells;
252  ulint n_used;
255 };
256 
264 };
265 
267 struct roll_node_t{
276 };
277 
280  char* name;
283  ib_int64_t mysql_binlog_cache_pos;
288  UT_LIST_NODE_T(trx_named_savept_t)
291 };
292 
293 #ifndef UNIV_NONINL
294 #include "trx0roll.ic"
295 #endif
296 
297 #endif