1 /******************************************************
2 XtraBackup: hot backup tool for InnoDB
3 (c) 2009-2013 Percona LLC and/or its affiliates.
4 Originally Created 3/3/2009 Yasufumi Kinoshita
5 Written by Alexey Kopytov, Aleksandr Kuzminsky, Stewart Smith, Vadim Tkachenko,
6 Yasufumi Kinoshita, Ignacio Nin and Baron Schwartz.
7 
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; version 2 of the License.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
20 
21 *******************************************************/
22 
23 #ifndef XB_COMPACT_H
24 #define XB_COMPACT_H
25 
26 #include "write_filt.h"
27 
28 /* Compact page filter context */
29 typedef struct {
30 	my_bool		 skip;
31 	ds_ctxt_t	*ds_buffer;
32 	ds_file_t	*buffer;
33 	index_id_t	 clustered_index;
34 	my_bool		 clustered_index_found;
35 	my_bool		 inside_skipped_range;
36 	ulint		 free_limit;
37 } xb_wf_compact_ctxt_t;
38 
39 /******************************************************************************
40 Expand the data files according to the skipped pages maps created by --compact.
41 @return TRUE on success, FALSE on failure. */
42 my_bool xb_expand_datafiles(void);
43 
44 #endif
45