Drizzled Public API Documentation

lock0priv.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (C) 2007, 2009, Innobase Oy. 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., 51 Franklin
15 St, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #pragma once
27 #ifndef lock0priv_h
28 #define lock0priv_h
29 
30 #ifndef LOCK_MODULE_IMPLEMENTATION
31 /* If you need to access members of the structures defined in this
32 file, please write appropriate functions that retrieve them and put
33 those functions in lock/ */
34 #error Do not include lock0priv.h outside of the lock/ module
35 #endif
36 
37 #include "univ.i"
38 #include "dict0types.h"
39 #include "hash0hash.h"
40 #include "trx0types.h"
41 #include "ut0lst.h"
42 
52 };
53 
55 typedef struct lock_rec_struct lock_rec_t;
58  ulint space;
59  ulint page_no;
60  ulint n_bits;
64 };
65 
67 struct lock_struct {
71  trx_locks;
73  ulint type_mode;
77  hash_node_t hash;
79  dict_index_t* index;
80  union {
83  } un_member;
84 };
85 
86 /*********************************************************************/
89 UNIV_INLINE
90 ulint
92 /*==============*/
93  const lock_t* lock);
95 /*********************************************************************/
98 UNIV_INTERN
99 const lock_t*
101 /*==============*/
102  const lock_t* in_lock,
103  ulint heap_no);
105 #ifndef UNIV_NONINL
106 #include "lock0priv.ic"
107 #endif
108 
109 #endif /* lock0priv_h */
lock_table_t tab_lock
Definition: lock0priv.h:81
UNIV_INTERN const lock_t * lock_rec_get_prev(const lock_t *in_lock, ulint heap_no)
Definition: lock0lock.cc:1314
#define UT_LIST_NODE_T(TYPE)
Definition: ut0lst.h:73
lock_rec_t rec_lock
Definition: lock0priv.h:82
trx_t * trx
Definition: lock0priv.h:68
UNIV_INLINE ulint lock_get_type_low(const lock_t *lock)
dict_table_t * table
Definition: lock0priv.h:47