MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
innodb_engine_private.h
Go to the documentation of this file.
1 /***********************************************************************
2 
3 Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but
10 WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
12 Public License for more details.
13 
14 You should have received a copy of the GNU General Public License along
15 with 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 /**************************************************/
29 #ifndef innodb_engine_private_h
30 #define innodb_engine_private_h
31 
32 
35 /*******************************************************************/
38 static
39 const engine_info*
40 innodb_get_info(
41 /*============*/
42  ENGINE_HANDLE* handle);
45 /*******************************************************************/
48 static
49 ENGINE_ERROR_CODE
50 innodb_initialize(
51 /*==============*/
52  ENGINE_HANDLE* handle,
54  const char* config_str);
56 /*******************************************************************/
58 static
59 void
60 innodb_destroy(
61 /*===========*/
62  ENGINE_HANDLE* handle,
63  bool force);
65 /*******************************************************************/
70 static
71 ENGINE_ERROR_CODE
72 innodb_allocate(
73 /*============*/
74  ENGINE_HANDLE* handle,
75  const void* cookie,
76  item** item,
77  const void* key,
78  const size_t nkey,
79  const size_t nbytes,
80  const int flags,
81  const rel_time_t exptime);
83 /*******************************************************************/
86 static
87 ENGINE_ERROR_CODE
88 innodb_remove(
89 /*==========*/
90  ENGINE_HANDLE* handle,
91  const void* cookie,
92  const void* key,
93  const size_t nkey,
94  uint64_t cas,
95  uint16_t vbucket);
98 /*******************************************************************/
101 static
102 ENGINE_ERROR_CODE
103 innodb_bind(
104 /*========*/
105  ENGINE_HANDLE* handle,
106  const void* cookie,
107  const void* name,
108  const size_t name_len);
110 /*******************************************************************/
112 static
113 void
114 innodb_release(
115 /*===========*/
116  ENGINE_HANDLE* handle,
117  const void* cookie,
118  item* item);
120 /*******************************************************************/
122 static
123 void
124 innodb_clean_engine(
125 /*================*/
126  ENGINE_HANDLE* handle,
127  const void* cookie,
128  void* conn);
129 /*******************************************************************/
132 static
133 ENGINE_ERROR_CODE
134 innodb_get(
135 /*=======*/
136  ENGINE_HANDLE* handle,
137  const void* cookie,
138  item** item,
139  const void* key,
140  const int nkey,
141  uint16_t vbucket);
144 /*******************************************************************/
147 static
148 ENGINE_ERROR_CODE
149 innodb_get_stats(
150 /*=============*/
151  ENGINE_HANDLE* handle,
152  const void* cookie,
153  const char* stat_key,
154  int nkey,
155  ADD_STAT add_stat);
157 /*******************************************************************/
160 static
161 void
162 innodb_reset_stats(
163 /*===============*/
164  ENGINE_HANDLE* handle,
165  const void* cookie);
167 /*******************************************************************/
171 static
172 ENGINE_ERROR_CODE
173 innodb_store(
174 /*=========*/
175  ENGINE_HANDLE* handle,
176  const void* cookie,
177  item* item,
178  uint64_t* cas,
179  ENGINE_STORE_OPERATION op,
180  uint16_t vbucket);
183 /*******************************************************************/
187 static
188 ENGINE_ERROR_CODE
189 innodb_arithmetic(
190 /*==============*/
191  ENGINE_HANDLE* handle,
192  const void* cookie,
193  const void* key,
194  const int nkey,
195  const bool increment,
197  const bool create,
199  const uint64_t delta,
200  const uint64_t initial,
201  const rel_time_t exptime,
202  uint64_t* cas,
203  uint64_t* result,
204  uint16_t vbucket);
207 /*******************************************************************/
210 static
211 ENGINE_ERROR_CODE
212 innodb_flush(
213 /*=========*/
214  ENGINE_HANDLE* handle,
215  const void* cookie,
216  time_t when);
219 /*******************************************************************/
222 static
223 ENGINE_ERROR_CODE
224 innodb_unknown_command(
225 /*===================*/
226  ENGINE_HANDLE* handle,
227  const void* cookie,
229  ADD_RESPONSE response);
231 /*******************************************************************/
235 static
236 bool
237 innodb_get_item_info(
238 /*=================*/
239  ENGINE_HANDLE* handle,
240  const void* cookie,
241  const item* item,
242  item_info* item_info);
244 #endif /* innodb_engine_private_h */