MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
buf0dblwr.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1995, 2011, 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 
33 #ifndef UNIV_HOTBACKUP
34 
36 extern buf_dblwr_t* buf_dblwr;
38 extern ibool buf_dblwr_being_created;
39 
40 /****************************************************************/
43 UNIV_INTERN
44 void
45 buf_dblwr_create(void);
46 /*==================*/
47 /****************************************************************/
54 UNIV_INTERN
55 void
57 /*============================*/
58  ibool restore_corrupt_pages);
59 /****************************************************************/
61 UNIV_INTERN
62 void
63 buf_dblwr_free(void);
64 /*================*/
65 /********************************************************************/
67 UNIV_INTERN
68 void
70 /*=============*/
71  const buf_page_t* bpage,
72  buf_flush_t flush_type);
73 /****************************************************************/
77 UNIV_INTERN
78 ibool
80 /*==================*/
81  ulint page_no);
82 /********************************************************************/
86 UNIV_INTERN
87 void
89 /*====================*/
90  buf_page_t* bpage);
91 /********************************************************************/
97 UNIV_INTERN
98 void
100 /*=================================*/
101 /********************************************************************/
109 UNIV_INTERN
110 void
112 /*========================*/
113  buf_page_t* bpage,
114  bool sync);
117 struct buf_dblwr_t{
120  ulint block1;
122  ulint block2;
123  ulint first_free;
125  ulint b_reserved;
129  ulint s_reserved;
133  bool* in_use;
139  byte* write_buf;
148 };
149 
150 
151 #endif /* UNIV_HOTBACKUP */
152 
153 #endif