InnoDB Plugin  1.0
read0read.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1997, 2012, 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 read0read_h
27 #define read0read_h
28 
29 #include "univ.i"
30 
31 
32 #include "ut0byte.h"
33 #include "ut0lst.h"
34 #include "trx0trx.h"
35 #include "read0types.h"
36 
37 /*********************************************************************/
41 UNIV_INTERN
44 /*===============*/
45  trx_id_t cr_trx_id,
47  mem_heap_t* heap);
49 /*********************************************************************/
53 UNIV_INTERN
56 /*=================*/
57  mem_heap_t* heap);
59 /*********************************************************************/
61 UNIV_INLINE
62 void
64 /*=============*/
65  read_view_t* view,
66  bool own_mutex);
68 /*********************************************************************/
71 UNIV_INTERN
72 void
74 /*======================*/
75  trx_t* trx);
76 /*********************************************************************/
79 UNIV_INLINE
80 bool
82 /*==================*/
83  const read_view_t* view,
84  trx_id_t trx_id)
85  __attribute__((nonnull, warn_unused_result));
86 /*********************************************************************/
88 UNIV_INTERN
89 void
91 /*============*/
92  const read_view_t* view);
93 /*********************************************************************/
97 UNIV_INTERN
100 /*==============================*/
101  trx_t* cr_trx);
102 /*********************************************************************/
105 UNIV_INTERN
106 void
108 /*=============================*/
109  trx_t* trx,
110  cursor_view_t* curview);
111 /*********************************************************************/
115 UNIV_INTERN
116 void
118 /*======================*/
119  trx_t* trx,
120  cursor_view_t* curview);
125 struct read_view_t{
126  ulint type;
146  ulint n_trx_ids;
159  UT_LIST_NODE_T(read_view_t) view_list;
161 };
162 
164 #define VIEW_NORMAL 1
168 #define VIEW_HIGH_GRANULARITY 2
173 /* @} */
174 
180  mem_heap_t* heap;
182  read_view_t* read_view;
184  ulint n_mysql_tables_in_use;
187 };
188 
189 #ifndef UNIV_NONINL
190 #include "read0read.ic"
191 #endif
192 
193 #endif