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
buf0flu.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (c) 1995, 2013, 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 buf0flu_h
27
#define buf0flu_h
28
29
#include "univ.i"
30
#include "
ut0byte.h
"
31
#include "
log0log.h
"
32
#ifndef UNIV_HOTBACKUP
33
#include "
mtr0types.h
"
34
#include "
buf0types.h
"
35
37
extern
ibool
buf_page_cleaner_is_active
;
38
39
/********************************************************************/
41
UNIV_INTERN
42
void
43
buf_flush_remove
(
44
/*=============*/
45
buf_page_t
*
bpage
);
46
/*******************************************************************/
50
UNIV_INTERN
51
void
52
buf_flush_relocate_on_flush_list
(
53
/*=============================*/
54
buf_page_t
*
bpage
,
55
buf_page_t
* dpage);
56
/********************************************************************/
58
UNIV_INTERN
59
void
60
buf_flush_write_complete
(
61
/*=====================*/
62
buf_page_t
*
bpage
);
63
#endif
/* !UNIV_HOTBACKUP */
64
/********************************************************************/
66
UNIV_INTERN
67
void
68
buf_flush_init_for_writing
(
69
/*=======================*/
70
byte*
page
,
71
void
* page_zip_,
72
lsn_t newest_lsn);
74
#ifndef UNIV_HOTBACKUP
75
# if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG
76
/********************************************************************/
82
UNIV_INTERN
83
ibool
84
buf_flush_page_try(
85
/*===============*/
86
buf_pool_t
* buf_pool,
87
buf_block_t
*
block
)
88
__attribute__((nonnull, warn_unused_result));
89
# endif
/* UNIV_DEBUG || UNIV_IBUF_DEBUG */
90
/*******************************************************************/
97
UNIV_INTERN
98
bool
99
buf_flush_list
(
100
/*===========*/
101
ulint min_n,
104
lsn_t lsn_limit,
109
ulint* n_processed);
112
/******************************************************************/
120
UNIV_INTERN
121
ibool
122
buf_flush_single_page_from_LRU
(
123
/*===========================*/
124
buf_pool_t
* buf_pool);
125
/******************************************************************/
127
UNIV_INTERN
128
void
129
buf_flush_wait_batch_end
(
130
/*=====================*/
131
buf_pool_t
* buf_pool,
132
buf_flush_t
type
);
134
/******************************************************************/
138
UNIV_INTERN
139
void
140
buf_flush_wait_batch_end_wait_only
(
141
/*===============================*/
142
buf_pool_t
* buf_pool,
143
buf_flush_t
type
);
145
/********************************************************************/
149
UNIV_INLINE
150
void
151
buf_flush_note_modification
(
152
/*========================*/
153
buf_block_t
*
block
,
154
mtr_t
*
mtr
);
155
/********************************************************************/
157
UNIV_INLINE
158
void
159
buf_flush_recv_note_modification
(
160
/*=============================*/
161
buf_block_t
*
block
,
162
lsn_t start_lsn,
164
lsn_t end_lsn);
166
/********************************************************************/
170
UNIV_INTERN
171
ibool
172
buf_flush_ready_for_replace
(
173
/*========================*/
174
buf_page_t
*
bpage
);
176
/******************************************************************/
180
extern
"C"
UNIV_INTERN
181
os_thread_ret_t
182
DECLARE_THREAD
(
buf_flush_page_cleaner_thread
)(
183
/*==========================================*/
184
void
* arg);
186
/*********************************************************************/
193
UNIV_INTERN
194
ulint
195
buf_flush_LRU_tail
(
void
);
196
/*====================*/
197
/*********************************************************************/
199
UNIV_INTERN
200
void
201
buf_flush_wait_LRU_batch_end
(
void
);
202
/*==============================*/
203
204
#if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
205
/******************************************************************/
208
UNIV_INTERN
209
ibool
210
buf_flush_validate(
211
/*===============*/
212
buf_pool_t
* buf_pool);
213
#endif
/* UNIV_DEBUG || UNIV_BUF_DEBUG */
214
215
/********************************************************************/
219
UNIV_INTERN
220
void
221
buf_flush_init_flush_rbt
(
void
);
222
/*==========================*/
223
224
/********************************************************************/
226
UNIV_INTERN
227
void
228
buf_flush_free_flush_rbt
(
void
);
229
/*==========================*/
230
231
/********************************************************************/
238
UNIV_INTERN
239
void
240
buf_flush_page
(
241
/*===========*/
242
buf_pool_t
* buf_pool,
243
buf_page_t
*
bpage
,
244
buf_flush_t
flush_type,
245
bool
sync)
246
__attribute__((nonnull));
247
/********************************************************************/
250
UNIV_INTERN
251
bool
252
buf_flush_ready_for_flush
(
253
/*======================*/
254
buf_page_t
*
bpage
,
256
buf_flush_t
flush_type)
257
__attribute__((warn_unused_result));
258
259
#ifdef UNIV_DEBUG
260
/******************************************************************/
264
UNIV_INTERN
265
ulint
266
buf_pool_get_dirty_pages_count(
267
/*===========================*/
268
buf_pool_t
* buf_pool,
269
ulint
id
);
270
/******************************************************************/
273
UNIV_INTERN
274
ulint
275
buf_flush_get_dirty_pages_count(
276
/*============================*/
277
ulint
id
);
278
#endif
/* UNIV_DEBUG */
279
280
#endif
/* !UNIV_HOTBACKUP */
281
282
#ifndef UNIV_NONINL
283
#include "buf0flu.ic"
284
#endif
285
286
#endif
storage
innobase
include
buf0flu.h
Generated on Sat Nov 9 2013 01:26:34 for MySQL 5.6.14 Source Code Document by
1.8.1.2