InnoDB Plugin  1.0
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 
38 
39 /********************************************************************/
41 UNIV_INTERN
42 void
44 /*=============*/
45  buf_page_t* bpage);
46 /*******************************************************************/
50 UNIV_INTERN
51 void
53 /*=============================*/
54  buf_page_t* bpage,
55  buf_page_t* dpage);
56 /********************************************************************/
58 UNIV_INTERN
59 void
61 /*=====================*/
62  buf_page_t* bpage);
63 #endif /* !UNIV_HOTBACKUP */
64 /********************************************************************/
66 UNIV_INTERN
67 void
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
85 /*===============*/
86  buf_pool_t* buf_pool,
88  __attribute__((nonnull, warn_unused_result));
89 # endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */
90 /*******************************************************************/
97 UNIV_INTERN
98 bool
100 /*===========*/
101  ulint min_n,
104  lsn_t lsn_limit,
109  ulint* n_processed);
112 /******************************************************************/
120 UNIV_INTERN
121 ibool
123 /*===========================*/
124  buf_pool_t* buf_pool);
125 /******************************************************************/
127 UNIV_INTERN
128 void
130 /*=====================*/
131  buf_pool_t* buf_pool,
132  buf_flush_t type);
134 /******************************************************************/
138 UNIV_INTERN
139 void
141 /*===============================*/
142  buf_pool_t* buf_pool,
143  buf_flush_t type);
145 /********************************************************************/
149 UNIV_INLINE
150 void
152 /*========================*/
153  buf_block_t* block,
154  mtr_t* mtr);
155 /********************************************************************/
157 UNIV_INLINE
158 void
160 /*=============================*/
161  buf_block_t* block,
162  lsn_t start_lsn,
164  lsn_t end_lsn);
166 /********************************************************************/
170 UNIV_INTERN
171 ibool
173 /*========================*/
174  buf_page_t* bpage);
176 /******************************************************************/
180 extern "C" UNIV_INTERN
181 os_thread_ret_t
183 /*==========================================*/
184  void* arg);
186 /*********************************************************************/
193 UNIV_INTERN
194 ulint
195 buf_flush_LRU_tail(void);
196 /*====================*/
197 /*********************************************************************/
199 UNIV_INTERN
200 void
202 /*==============================*/
203 
204 #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
205 /******************************************************************/
208 UNIV_INTERN
209 ibool
211 /*===============*/
212  buf_pool_t* buf_pool);
213 #endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
214 
215 /********************************************************************/
219 UNIV_INTERN
220 void
222 /*==========================*/
223 
224 /********************************************************************/
226 UNIV_INTERN
227 void
229 /*==========================*/
230 
231 /********************************************************************/
239 UNIV_INTERN
240 bool
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
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
267 /*===========================*/
268  buf_pool_t* buf_pool,
269  ulint id);
270 /******************************************************************/
273 UNIV_INTERN
274 ulint
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