1 /*****************************************************************************
2 
3 Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
4 Copyright (c) 2017, MariaDB Corporation.
5 
6 This program is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free Software
8 Foundation; version 2 of the License.
9 
10 This program is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13 
14 You should have received a copy of the GNU General Public License along with
15 this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
17 
18 *****************************************************************************/
19 
20 /**************************************************//**
21 @file include/row0quiesce.h
22 
23 Header file for tablespace quiesce functions.
24 
25 Created 2012-02-08 by Sunny Bains
26 *******************************************************/
27 
28 #ifndef row0quiesce_h
29 #define row0quiesce_h
30 
31 #include "dict0types.h"
32 
33 struct trx_t;
34 
35 /** The version number of the export meta-data text file. */
36 #define IB_EXPORT_CFG_VERSION_V1	0x1UL
37 
38 /*********************************************************************//**
39 Quiesce the tablespace that the table resides in. */
40 void
41 row_quiesce_table_start(
42 /*====================*/
43 	dict_table_t*	table,		/*!< in: quiesce this table */
44 	trx_t*		trx)		/*!< in/out: transaction/session */
45         MY_ATTRIBUTE((nonnull));
46 
47 /*********************************************************************//**
48 Set a table's quiesce state.
49 @return DB_SUCCESS or errro code. */
50 dberr_t
51 row_quiesce_set_state(
52 /*==================*/
53 	dict_table_t*	table,		/*!< in: quiesce this table */
54 	ib_quiesce_t	state,		/*!< in: quiesce state to set */
55 	trx_t*		trx)		/*!< in/out: transaction */
56         MY_ATTRIBUTE((nonnull, warn_unused_result));
57 
58 /*********************************************************************//**
59 Cleanup after table quiesce. */
60 void
61 row_quiesce_table_complete(
62 /*=======================*/
63 	dict_table_t*	table,		/*!< in: quiesce this table */
64 	trx_t*		trx)		/*!< in/out: transaction/session */
65         MY_ATTRIBUTE((nonnull));
66 
67 #endif /* row0quiesce_h */
68