MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
mtr0log.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (c) 1995, 2009, 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 mtr0log_h
27
#define mtr0log_h
28
29
#include "univ.i"
30
#include "
mtr0mtr.h
"
31
#include "
dict0types.h
"
32
33
#ifndef UNIV_HOTBACKUP
34
/********************************************************/
37
UNIV_INTERN
38
void
39
mlog_write_ulint
(
40
/*=============*/
41
byte* ptr,
42
ulint val,
43
byte
type
,
44
mtr_t
*
mtr
);
45
/********************************************************/
48
UNIV_INTERN
49
void
50
mlog_write_ull
(
51
/*===========*/
52
byte* ptr,
53
ib_uint64_t val,
54
mtr_t
*
mtr
);
55
/********************************************************/
58
UNIV_INTERN
59
void
60
mlog_write_string
(
61
/*==============*/
62
byte* ptr,
63
const
byte* str,
64
ulint len,
65
mtr_t
*
mtr
);
66
/********************************************************/
69
UNIV_INTERN
70
void
71
mlog_log_string
(
72
/*============*/
73
byte* ptr,
74
ulint len,
75
mtr_t
*
mtr
);
76
/********************************************************/
79
UNIV_INTERN
80
void
81
mlog_write_initial_log_record
(
82
/*==========================*/
83
const
byte* ptr,
86
byte
type
,
87
mtr_t
*
mtr
);
88
/********************************************************/
91
UNIV_INLINE
92
byte*
93
mlog_write_initial_log_record_for_file_op
(
94
/*======================================*/
95
ulint
type
,
97
ulint space_id,
98
ulint page_no,
99
byte* log_ptr,
100
mtr_t
*
mtr
);
101
/********************************************************/
103
UNIV_INLINE
104
void
105
mlog_catenate_ulint
(
106
/*================*/
107
mtr_t
*
mtr
,
108
ulint val,
109
ulint
type
);
110
/********************************************************/
112
UNIV_INTERN
113
void
114
mlog_catenate_string
(
115
/*=================*/
116
mtr_t
*
mtr
,
117
const
byte* str,
118
ulint len);
119
/********************************************************/
121
UNIV_INLINE
122
void
123
mlog_catenate_ulint_compressed
(
124
/*===========================*/
125
mtr_t
*
mtr
,
126
ulint val);
127
/********************************************************/
129
UNIV_INLINE
130
void
131
mlog_catenate_ull_compressed
(
132
/*=========================*/
133
mtr_t
*
mtr
,
134
ib_uint64_t val);
135
/********************************************************/
138
UNIV_INLINE
139
byte*
140
mlog_open
(
141
/*======*/
142
mtr_t
*
mtr
,
143
ulint
size
);
145
/********************************************************/
147
UNIV_INLINE
148
void
149
mlog_close
(
150
/*=======*/
151
mtr_t
*
mtr
,
152
byte* ptr);
153
/********************************************************/
158
UNIV_INLINE
159
byte*
160
mlog_write_initial_log_record_fast
(
161
/*===============================*/
162
const
byte* ptr,
165
byte
type
,
166
byte* log_ptr,
168
mtr_t
*
mtr
);
169
#else
/* !UNIV_HOTBACKUP */
170
# define mlog_write_initial_log_record(ptr,type,mtr) ((void) 0)
171
# define mlog_write_initial_log_record_fast(ptr,type,log_ptr,mtr) ((byte*) 0)
172
#endif
/* !UNIV_HOTBACKUP */
173
/********************************************************/
176
UNIV_INTERN
177
byte*
178
mlog_parse_initial_log_record
(
179
/*==========================*/
180
byte* ptr,
181
byte* end_ptr,
182
byte*
type
,
183
ulint*
space
,
184
ulint* page_no);
185
/********************************************************/
188
UNIV_INTERN
189
byte*
190
mlog_parse_nbytes
(
191
/*==============*/
192
ulint
type
,
193
byte* ptr,
194
byte* end_ptr,
195
byte*
page
,
196
void
* page_zip);
197
/********************************************************/
200
UNIV_INTERN
201
byte*
202
mlog_parse_string
(
203
/*==============*/
204
byte* ptr,
205
byte* end_ptr,
206
byte*
page
,
207
void
* page_zip);
209
#ifndef UNIV_HOTBACKUP
210
/********************************************************/
216
UNIV_INTERN
217
byte*
218
mlog_open_and_write_index
(
219
/*======================*/
220
mtr_t
*
mtr
,
221
const
byte*
rec
,
222
const
dict_index_t
*
index
,
223
byte
type
,
224
ulint
size
);
227
#endif
/* !UNIV_HOTBACKUP */
228
229
/********************************************************/
232
UNIV_INTERN
233
byte*
234
mlog_parse_index
(
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
storage
innobase
include
mtr0log.h
Generated on Sat Nov 9 2013 01:26:35 for MySQL 5.6.14 Source Code Document by
1.8.1.2