1 /*****************************************************************************
2 
3 Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
4 Copyright (c) 2010-2012, Percona Inc. All Rights Reserved.
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, Suite 500, Boston, MA 02110-1335 USA
17 
18 *****************************************************************************/
19 
20 #ifndef read0i_s_h
21 #define read0i_s_h
22 
23 #include <trx0types.h>
24 
25 struct i_s_xtradb_read_view_struct {
26 	undo_no_t	undo_no;/*!< 0 or if type is
27 				VIEW_HIGH_GRANULARITY
28 				transaction undo_no when this high-granularity
29 				consistent read view was created */
30 	trx_id_t	low_limit_no;
31 				/*!< The view does not need to see the undo
32 				logs for transactions whose transaction number
33 				is strictly smaller (<) than this value: they
34 				can be removed in purge if not needed by other
35 				views */
36 	trx_id_t	low_limit_id;
37 				/*!< The read should not see any transaction
38 				with trx id >= this value. In other words,
39 				this is the "high water mark". */
40 	trx_id_t	up_limit_id;
41 				/*!< The read should see all trx ids which
42 				are strictly smaller (<) than this value.
43 				In other words,
44 				this is the "low water mark". */
45 };
46 
47 typedef struct i_s_xtradb_read_view_struct i_s_xtradb_read_view_t;
48 
49 UNIV_INTERN
50 i_s_xtradb_read_view_t*
51 read_fill_i_s_xtradb_read_view(i_s_xtradb_read_view_t *rv);
52 
53 
54 #endif /* read0i_s_h */
55