All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
target/Linux-x86_64/include/aerospike/as_status.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright 2008-2013 by Aerospike.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to
6  * deal in the Software without restriction, including without limitation the
7  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8  * sell copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20  * IN THE SOFTWARE.
21  ******************************************************************************/
22 
23 #pragma once
24 
25 /*******************************************************************************
26  * TYPES
27  ******************************************************************************/
28 
29 /**
30  * Status codes used as return values as as_error.code values.
31  */
32 typedef enum as_status_e {
33 
34  /***************************************************************************
35  * SUCCESS (all < 100)
36  **************************************************************************/
37 
38  /**
39  * Generic success.
40  */
42 
43  /***************************************************************************
44  * ERRORS (all >= 100)
45  **************************************************************************/
46 
47  /**
48  * Generic error.
49  */
51 
52  /***************************************************************************
53  * CLIENT API USAGE
54  **************************************************************************/
55 
56  /**
57  * Generic client API usage error.
58  */
60 
61  /**
62  * Invalid client API parameter.
63  */
65 
66  /***************************************************************************
67  * CLUSTER DISCOVERY & CONNECTION
68  **************************************************************************/
69 
70  /**
71  * Generic cluster discovery & connection error.
72  */
74 
75  /***************************************************************************
76  * INCOMPLETE REQUESTS (i.e. NOT from server-returned error codes)
77  **************************************************************************/
78 
79  /**
80  * Request timed out.
81  */
83 
84  /**
85  * Request randomly dropped by client for throttling.
86  * @warning Not yet supported.
87  */
89 
90  /***************************************************************************
91  * COMPLETED REQUESTS (all >= 500, from server-returned error codes)
92  **************************************************************************/
93 
94  /**
95  * Generic error returned by server.
96  */
98 
99  /**
100  * Request protocol invalid, or invalid protocol field.
101  */
103 
104  /**
105  * Namespace in request not found on server.
106  * @warning Not yet supported, shows as AEROSPIKE_ERR_REQUEST_INVALID.
107  */
109 
110  /**
111  * The server node is running out of memory and/or storage device space
112  * reserved for the specified namespace.
113  */
115 
116  /**
117  * A cluster state change occurred during the request. This may also be
118  * returned by scan operations with the fail_on_cluster_change flag set.
119  */
121 
122  /**
123  * Sometimes our doc, or our customers wishes, get ahead of us. We may have
124  * processed something that the server is not ready for (unsupported feature).
125  */
127 
128  /**
129  * The server node's storage device(s) can't keep up with the write load.
130  */
132 
133  /***************************************************************************
134  * RECORD-SPECIFIC
135  **************************************************************************/
136 
137  /**
138  * Generic record error.
139  */
141 
142  /**
143  * Too may concurrent requests for one record - a "hot-key" situation.
144  */
146 
147  /**
148  * Record does not exist in database. May be returned by read, or write
149  * with policy AS_POLICY_EXISTS_UPDATE.
150  * @warning AS_POLICY_EXISTS_UPDATE not yet supported.
151  */
153 
154  /**
155  * Record already exists. May be returned by write with policy
156  * AS_POLICY_EXISTS_CREATE.
157  */
159 
160  /**
161  * Generation of record in database does not satisfy write policy.
162  */
164 
165  /**
166  * Record being (re-)written can't fit in a storage write block.
167  */
169 
170  /**
171  * Bin modification operation can't be done on an existing bin due to its
172  * value type.
173  */
175 
176  /**
177  * Record key sent with transaction did not match key stored on server.
178  */
180 
181  /***************************************************************************
182  * XDR-SPECIFIC
183  **************************************************************************/
184 
185  /**
186  * XDR is not available for the cluster.
187  */
189 
190  /***************************************************************************
191  * SCAN OPERATIONS
192  **************************************************************************/
193 
194  /**
195  * Generic scan error.
196  */
198 
199  /**
200  * Scan aborted by user.
201  */
203 
204  /***************************************************************************
205  * QUERY OPERATIONS
206  **************************************************************************/
207 
208  /**
209  * Generic query error.
210  */
212 
213  /**
214  * Query was aborted.
215  */
217 
218  /**
219  * Query processing queue is full.
220  */
222 
223  /***************************************************************************
224  * SECONDARY INDEX OPERATIONS
225  **************************************************************************/
226 
227  /**
228  * Generic secondary index error.
229  */
231 
232  /**
233  * Index is out of memory
234  */
236 
237  /**
238  * Index not found
239  */
241 
242  /**
243  * Index found.
244  */
246 
247  /**
248  * Unable to read the index.
249  */
251 
252  /**
253  * Index name is too long.
254  */
256 
257  /**
258  * System already has maximum allowed indices.
259  */
261 
262  /***************************************************************************
263  * UDF OPERATIONS
264  **************************************************************************/
265 
266  /**
267  * Generic UDF error.
268  */
270 
271  /**
272  * UDF does not exist.
273  */
275 
276  /***************************************************************************
277  * Large Data Type (LDT) OPERATIONS
278  **************************************************************************/
279 
280  /** Internal LDT error. */
282 
283  /** LDT item not found */
285 
286  /** Unique key violation: Duplicated item inserted when 'unique key" was set.*/
288 
289  /** General error during insert operation. */
291 
292  /** General error during search operation. */
294 
295  /** General error during delete operation. */
297 
298 
299  /** General input parameter error. */
301 
302  // -------------------------------------------------
303 
304  /** LDT Type mismatch for this bin. */
306 
307  /** The supplied LDT bin name is null. */
309 
310  /** The supplied LDT bin name must be a string. */
312 
313  /** The supplied LDT bin name exceeded the 14 char limit. */
315 
316  /** Internal Error: too many open records at one time. */
318 
319  /** Internal Error: Top Record not found. */
321 
322  /** Internal Error: Sub Record not found. */
324 
325  /** LDT Bin does not exist. */
327 
328  /** Collision: LDT Bin already exists. */
330 
331  /** LDT control structures in the Top Record are damaged. Cannot proceed. */
333 
334  // -------------------------------------------------
335 
336  /** Internal Error: LDT Subrecord pool is damaged. */
338 
339  /** LDT control structures in the Sub Record are damaged. Cannot proceed. */
341 
342  /** Error encountered while opening a Sub Record. */
344 
345  /** Error encountered while updating a Sub Record. */
347 
348  /** Error encountered while creating a Sub Record. */
350 
351  /** Error encountered while deleting a Sub Record. */
353 
354  /** Error encountered while closing a Sub Record. */
356 
357  /** Error encountered while updating a TOP Record. */
359 
360  /** Error encountered while creating a TOP Record. */
362 
363  // -------------------------------------------------
364 
365  /** The filter function name was invalid. */
367 
368  /** The filter function was not found. */
370 
371  /** The function to extract the Unique Value from a complex object was invalid. */
373 
374  /** The function to extract the Unique Value from a complex object was not found. */
376 
377  /** The function to transform an object into a binary form was invalid. */
379 
380  /** The function to transform an object into a binary form was not found. */
382 
383  /** The function to untransform an object from binary form to live form was invalid. */
385 
386  /** The function to untransform an object from binary form to live form not found. */
388 
389  /** The UDF user module name for LDT Overrides was invalid */
391 
392  /** The UDF user module name for LDT Overrides was not found */
394 
395 } as_status;