InnoDB Plugin  1.0
buf0dblwr.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1995, 2014, 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 buf0dblwr_h
27 #define buf0dblwr_h
28 
29 #include "univ.i"
30 #include "ut0byte.h"
31 #include "log0log.h"
32 #include "log0recv.h"
33 
34 #ifndef UNIV_HOTBACKUP
35 
37 extern buf_dblwr_t* buf_dblwr;
40 
41 /****************************************************************/
44 UNIV_INTERN
45 void
46 buf_dblwr_create(void);
47 /*==================*/
48 
49 /****************************************************************/
55 void
57 /*=========================*/
58  os_file_t file,
59  char* path,
60  bool load_corrupt_pages);
61 
62 /****************************************************************/
64 void
65 buf_dblwr_process(void);
66 /*===================*/
67 
68 /****************************************************************/
70 UNIV_INTERN
71 void
72 buf_dblwr_free(void);
73 /*================*/
74 /********************************************************************/
76 UNIV_INTERN
77 void
79 /*=============*/
80  const buf_page_t* bpage,
81  buf_flush_t flush_type);
82 /****************************************************************/
86 UNIV_INTERN
87 ibool
89 /*==================*/
90  ulint page_no);
91 /********************************************************************/
95 UNIV_INTERN
96 void
98 /*====================*/
99  buf_page_t* bpage);
100 /********************************************************************/
106 UNIV_INTERN
107 void
109 /*=================================*/
110 /********************************************************************/
118 UNIV_INTERN
119 void
121 /*========================*/
122  buf_page_t* bpage,
123  bool sync);
126 struct buf_dblwr_t{
129  ulint block1;
131  ulint block2;
132  ulint first_free;
134  ulint b_reserved;
138  ulint s_reserved;
142  bool* in_use;
148  byte* write_buf;
157 };
158 
159 
160 #endif /* UNIV_HOTBACKUP */
161 
162 #endif