Drizzled Public API Documentation

btr0types.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (C) 1996, 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 btr0types_h
28 #define btr0types_h
29 
30 #include "univ.i"
31 
32 #include "rem0types.h"
33 #include "page0types.h"
34 
36 typedef struct btr_pcur_struct btr_pcur_t;
38 typedef struct btr_cur_struct btr_cur_t;
41 
42 #ifdef UNIV_BLOB_DEBUG
43 # include "buf0types.h"
45 typedef struct btr_blob_dbg_struct btr_blob_dbg_t;
46 
51 UNIV_INTERN
52 void
53 btr_blob_dbg_rbt_insert(
54 /*====================*/
55  dict_index_t* index,
56  const btr_blob_dbg_t* b,
57  const char* ctx)
58  __attribute__((nonnull));
59 
64 UNIV_INTERN
65 void
66 btr_blob_dbg_rbt_delete(
67 /*====================*/
68  dict_index_t* index,
69  const btr_blob_dbg_t* b,
70  const char* ctx)
71  __attribute__((nonnull));
72 
73 /**************************************************************/
76 UNIV_INTERN
77 ulint
78 btr_blob_dbg_add_rec(
79 /*=================*/
80  const rec_t* rec,
81  dict_index_t* index,
82  const ulint* offsets,
83  const char* ctx)
84  __attribute__((nonnull));
85 /**************************************************************/
88 UNIV_INTERN
89 ulint
90 btr_blob_dbg_remove_rec(
91 /*====================*/
92  const rec_t* rec,
93  dict_index_t* index,
94  const ulint* offsets,
95  const char* ctx)
96  __attribute__((nonnull));
97 /**************************************************************/
101 UNIV_INTERN
102 ulint
103 btr_blob_dbg_add(
104 /*=============*/
105  const page_t* page,
106  dict_index_t* index,
107  const char* ctx)
108  __attribute__((nonnull));
109 /**************************************************************/
114 UNIV_INTERN
115 ulint
116 btr_blob_dbg_remove(
117 /*================*/
118  const page_t* page,
119  dict_index_t* index,
120  const char* ctx)
121  __attribute__((nonnull));
122 /**************************************************************/
125 UNIV_INTERN
126 void
127 btr_blob_dbg_restore(
128 /*=================*/
129  const page_t* npage,
130  const page_t* page,
131  dict_index_t* index,
132  const char* ctx)
133  __attribute__((nonnull));
134 
141 typedef ulint (*btr_blob_dbg_op_f)
142 (const rec_t* rec,dict_index_t* index,const ulint* offsets,const char* ctx);
143 
144 /**************************************************************/
147 UNIV_INTERN
148 ulint
149 btr_blob_dbg_op(
150 /*============*/
151  const page_t* page,
152  const rec_t* rec,
154  dict_index_t* index,
155  const char* ctx,
156  const btr_blob_dbg_op_f op)
157  __attribute__((nonnull(1,3,4,5)));
158 #else /* UNIV_BLOB_DEBUG */
159 # define btr_blob_dbg_add_rec(rec, index, offsets, ctx) ((void) 0)
160 # define btr_blob_dbg_add(page, index, ctx) ((void) 0)
161 # define btr_blob_dbg_remove_rec(rec, index, offsets, ctx) ((void) 0)
162 # define btr_blob_dbg_remove(page, index, ctx) ((void) 0)
163 # define btr_blob_dbg_restore(npage, page, index, ctx) ((void) 0)
164 # define btr_blob_dbg_op(page, rec, index, ctx, op) ((void) 0)
165 #endif /* UNIV_BLOB_DEBUG */
166 
170 #define BTR_EXTERN_FIELD_REF_SIZE 20
171 
175 extern const byte field_ref_zero[BTR_EXTERN_FIELD_REF_SIZE];
176 
177 #endif
#define BTR_EXTERN_FIELD_REF_SIZE
Definition: btr0types.h:170
byte page_t
Definition: page0types.h:37
const byte field_ref_zero[BTR_EXTERN_FIELD_REF_SIZE]
Definition: btr0cur.cc:135