InnoDB Plugin  1.0
ha0storage.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 2007, 2009, 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 /**************************************************/
28 #ifndef ha0storage_h
29 #define ha0storage_h
30 
31 #include "univ.i"
32 
35 #define HA_STORAGE_DEFAULT_HEAP_BYTES 1024
36 
39 #define HA_STORAGE_DEFAULT_HASH_CELLS 4096
40 
42 struct ha_storage_t;
43 
44 /*******************************************************************/
48 UNIV_INLINE
51 /*==============*/
52  ulint initial_heap_bytes,
53  ulint initial_hash_cells);
56 /*******************************************************************/
66 UNIV_INTERN
67 const void*
69 /*==================*/
70  ha_storage_t* storage,
71  const void* data,
72  ulint data_len,
73  ulint memlim);
75 /*******************************************************************/
81 #define ha_storage_put(storage, data, data_len) \
82  ha_storage_put_memlim((storage), (data), (data_len), 0)
83 
84 /*******************************************************************/
91 #define ha_storage_put_str(storage, str) \
92  ((const char*) ha_storage_put((storage), (str), strlen(str) + 1))
93 
94 /*******************************************************************/
103 #define ha_storage_put_str_memlim(storage, str, memlim) \
104  ((const char*) ha_storage_put_memlim((storage), (str), \
105  strlen(str) + 1, (memlim)))
106 
107 /*******************************************************************/
111 UNIV_INLINE
112 void
114 /*=============*/
115  ha_storage_t** storage);
117 /*******************************************************************/
121 UNIV_INLINE
122 void
124 /*============*/
125  ha_storage_t* storage);
127 /*******************************************************************/
130 UNIV_INLINE
131 ulint
133 /*================*/
134  const ha_storage_t* storage);
136 #ifndef UNIV_NONINL
137 #include "ha0storage.ic"
138 #endif
139 
140 #endif /* ha0storage_h */