Drizzled Public API Documentation

mtr0log.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (C) 1995, 2009, Innobase Oy. 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., 51 Franklin
15 St, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #pragma once
27 #ifndef mtr0log_h
28 #define mtr0log_h
29 
30 #include "univ.i"
31 #include "mtr0mtr.h"
32 #include "dict0types.h"
33 
34 #ifndef UNIV_HOTBACKUP
35 /********************************************************/
38 UNIV_INTERN
39 void
41 /*=============*/
42  byte* ptr,
43  ulint val,
44  byte type,
45  mtr_t* mtr);
46 /********************************************************/
49 UNIV_INTERN
50 void
52 /*===========*/
53  byte* ptr,
54  ib_uint64_t val,
55  mtr_t* mtr);
56 /********************************************************/
59 UNIV_INTERN
60 void
62 /*==============*/
63  byte* ptr,
64  const byte* str,
65  ulint len,
66  mtr_t* mtr);
67 /********************************************************/
70 UNIV_INTERN
71 void
73 /*============*/
74  byte* ptr,
75  ulint len,
76  mtr_t* mtr);
77 /********************************************************/
80 UNIV_INTERN
81 void
83 /*==========================*/
84  const byte* ptr,
87  byte type,
88  mtr_t* mtr);
89 /********************************************************/
92 UNIV_INLINE
93 byte*
95 /*======================================*/
96  ulint type,
98  ulint space_id,
99  ulint page_no,
100  byte* log_ptr,
101  mtr_t* mtr);
102 /********************************************************/
104 UNIV_INLINE
105 void
107 /*================*/
108  mtr_t* mtr,
109  ulint val,
110  ulint type);
111 /********************************************************/
113 UNIV_INTERN
114 void
116 /*=================*/
117  mtr_t* mtr,
118  const byte* str,
119  ulint len);
120 /********************************************************/
122 UNIV_INLINE
123 void
125 /*===========================*/
126  mtr_t* mtr,
127  ulint val);
128 /********************************************************/
130 UNIV_INLINE
131 void
133 /*=========================*/
134  mtr_t* mtr,
135  ib_uint64_t val);
136 /********************************************************/
139 UNIV_INLINE
140 byte*
141 mlog_open(
142 /*======*/
143  mtr_t* mtr,
144  ulint size);
146 /********************************************************/
148 UNIV_INLINE
149 void
150 mlog_close(
151 /*=======*/
152  mtr_t* mtr,
153  byte* ptr);
154 /********************************************************/
159 UNIV_INLINE
160 byte*
162 /*===============================*/
163  const byte* ptr,
166  byte type,
167  byte* log_ptr,
169  mtr_t* mtr);
170 #else /* !UNIV_HOTBACKUP */
171 # define mlog_write_initial_log_record(ptr,type,mtr) ((void) 0)
172 # define mlog_write_initial_log_record_fast(ptr,type,log_ptr,mtr) ((byte *) 0)
173 #endif /* !UNIV_HOTBACKUP */
174 /********************************************************/
177 UNIV_INTERN
178 byte*
180 /*==========================*/
181  byte* ptr,
182  byte* end_ptr,
183  byte* type,
184  ulint* space,
185  ulint* page_no);
186 /********************************************************/
189 UNIV_INTERN
190 byte*
192 /*==============*/
193  ulint type,
194  byte* ptr,
195  byte* end_ptr,
196  byte* page,
197  void* page_zip);
198 /********************************************************/
201 UNIV_INTERN
202 byte*
204 /*==============*/
205  byte* ptr,
206  byte* end_ptr,
207  byte* page,
208  void* page_zip);
210 #ifndef UNIV_HOTBACKUP
211 /********************************************************/
217 UNIV_INTERN
218 byte*
220 /*======================*/
221  mtr_t* mtr,
222  const byte* rec,
223  dict_index_t* index,
224  byte type,
225  ulint size);
227 #endif /* !UNIV_HOTBACKUP */
228 
229 /********************************************************/
232 UNIV_INTERN
233 byte*
235 /*=============*/
236  byte* ptr,
237  const byte* end_ptr,
238  ibool comp,
239  dict_index_t** index);
241 #ifndef UNIV_HOTBACKUP
242 /* Insert, update, and maybe other functions may use this value to define an
243 extra mlog buffer size for variable size data */
244 #define MLOG_BUF_MARGIN 256
245 #endif /* !UNIV_HOTBACKUP */
246 
247 #ifndef UNIV_NONINL
248 #include "mtr0log.ic"
249 #endif
250 
251 #endif