InnoDB Plugin
1.0
Main Page
Data Structures
Files
File List
Globals
include
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
/********************************************************************/
239
UNIV_INTERN
240
bool
241
buf_flush_page
(
242
/*===========*/
243
buf_pool_t
* buf_pool,
244
buf_page_t
* bpage,
245
buf_flush_t
flush_type,
246
bool
sync);
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
Generated on Fri Aug 21 2015 19:14:24 for InnoDB Plugin by
1.8.1.2