All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
64 
65  /***************************************************************************
66  * ERRORS (all >= 100)
67  **************************************************************************/
68 
69  /**
70  * Generic error.
71  */
73 
74  /***************************************************************************
75  * CLIENT API USAGE
76  **************************************************************************/
77 
78  /**
79  * Generic client API usage error.
80  */
82 
83  /**
84  * Invalid client API parameter.
85  */
87 
88  /***************************************************************************
89  * CLUSTER DISCOVERY & CONNECTION
90  **************************************************************************/
91 
92  /**
93  * Generic cluster discovery & connection error.
94  */
96 
97  /***************************************************************************
98  * INCOMPLETE REQUESTS (i.e. NOT from server-returned error codes)
99  **************************************************************************/
100 
101  /**
102  * Request timed out.
103  */
105 
106  /**
107  * Request randomly dropped by client for throttling.
108  * @warning Not yet supported.
109  */
111 
112  /***************************************************************************
113  * COMPLETED REQUESTS (all >= 500, from server-returned error codes)
114  **************************************************************************/
115 
116  /**
117  * Generic error returned by server.
118  */
120 
121  /**
122  * Request protocol invalid, or invalid protocol field.
123  */
125 
126  /**
127  * Namespace in request not found on server.
128  * @warning Not yet supported, shows as AEROSPIKE_ERR_REQUEST_INVALID.
129  */
131 
132  /**
133  * The server node is running out of memory and/or storage device space
134  * reserved for the specified namespace.
135  */
137 
138  /**
139  * A cluster state change occurred during the request. This may also be
140  * returned by scan operations with the fail_on_cluster_change flag set.
141  */
143 
144  /**
145  * Sometimes our doc, or our customers wishes, get ahead of us. We may have
146  * processed something that the server is not ready for (unsupported feature).
147  */
149 
150  /**
151  * The server node's storage device(s) can't keep up with the write load.
152  */
154 
155  /***************************************************************************
156  * RECORD-SPECIFIC
157  **************************************************************************/
158 
159  /**
160  * Generic record error.
161  */
163 
164  /**
165  * Too may concurrent requests for one record - a "hot-key" situation.
166  */
168 
169  /**
170  * Record does not exist in database. May be returned by read, or write
171  * with policy AS_POLICY_EXISTS_UPDATE.
172  * @warning AS_POLICY_EXISTS_UPDATE not yet supported.
173  */
175 
176  /**
177  * Record already exists. May be returned by write with policy
178  * AS_POLICY_EXISTS_CREATE.
179  */
181 
182  /**
183  * Generation of record in database does not satisfy write policy.
184  */
186 
187  /**
188  * Record being (re-)written can't fit in a storage write block.
189  */
191 
192  /**
193  * Bin modification operation can't be done on an existing bin due to its
194  * value type.
195  */
197 
198  /**
199  * Record key sent with transaction did not match key stored on server.
200  */
202 
203  /***************************************************************************
204  * XDR-SPECIFIC
205  **************************************************************************/
206 
207  /**
208  * XDR is not available for the cluster.
209  */
211 
212  /***************************************************************************
213  * SCAN OPERATIONS
214  **************************************************************************/
215 
216  /**
217  * Generic scan error.
218  */
220 
221  /**
222  * Scan aborted by user.
223  */
225 
226  /***************************************************************************
227  * QUERY OPERATIONS
228  **************************************************************************/
229 
230  /**
231  * Generic query error.
232  */
234 
235  /**
236  * Query was aborted.
237  */
239 
240  /**
241  * Query processing queue is full.
242  */
244 
245  /***************************************************************************
246  * SECONDARY INDEX OPERATIONS
247  **************************************************************************/
248 
249  /**
250  * Generic secondary index error.
251  */
253 
254  /**
255  * Index is out of memory
256  */
258 
259  /**
260  * Index not found
261  */
263 
264  /**
265  * Index found.
266  */
268 
269  /**
270  * Unable to read the index.
271  */
273 
274  /**
275  * Index name is too long.
276  */
278 
279  /**
280  * System already has maximum allowed indices.
281  */
283 
284  /***************************************************************************
285  * UDF OPERATIONS
286  **************************************************************************/
287 
288  /**
289  * Generic UDF error.
290  */
292 
293  /**
294  * UDF does not exist.
295  */
297  /**
298  * LUA file does not exist.
299  */
301 
302  /***************************************************************************
303  * Large Data Type (LDT) OPERATIONS
304  **************************************************************************/
305 
306  /** Internal LDT error. */
308 
309  /** LDT item not found */
311 
312  /** Unique key violation: Duplicated item inserted when 'unique key" was set.*/
314 
315  /** General error during insert operation. */
317 
318  /** General error during search operation. */
320 
321  /** General error during delete operation. */
323 
324 
325  /** General input parameter error. */
327 
328  // -------------------------------------------------
329 
330  /** LDT Type mismatch for this bin. */
332 
333  /** The supplied LDT bin name is null. */
335 
336  /** The supplied LDT bin name must be a string. */
338 
339  /** The supplied LDT bin name exceeded the 14 char limit. */
341 
342  /** Internal Error: too many open records at one time. */
344 
345  /** Internal Error: Top Record not found. */
347 
348  /** Internal Error: Sub Record not found. */
350 
351  /** LDT Bin does not exist. */
353 
354  /** Collision: LDT Bin already exists. */
356 
357  /** LDT control structures in the Top Record are damaged. Cannot proceed. */
359 
360  // -------------------------------------------------
361 
362  /** Internal Error: LDT Subrecord pool is damaged. */
364 
365  /** LDT control structures in the Sub Record are damaged. Cannot proceed. */
367 
368  /** Error encountered while opening a Sub Record. */
370 
371  /** Error encountered while updating a Sub Record. */
373 
374  /** Error encountered while creating a Sub Record. */
376 
377  /** Error encountered while deleting a Sub Record. */
379 
380  /** Error encountered while closing a Sub Record. */
382 
383  /** Error encountered while updating a TOP Record. */
385 
386  /** Error encountered while creating a TOP Record. */
388 
389  // -------------------------------------------------
390 
391  /** The filter function name was invalid. */
393 
394  /** The filter function was not found. */
396 
397  /** The function to extract the Unique Value from a complex object was invalid. */
399 
400  /** The function to extract the Unique Value from a complex object was not found. */
402 
403  /** The function to transform an object into a binary form was invalid. */
405 
406  /** The function to transform an object into a binary form was not found. */
408 
409  /** The function to untransform an object from binary form to live form was invalid. */
411 
412  /** The function to untransform an object from binary form to live form not found. */
414 
415  /** The UDF user module name for LDT Overrides was invalid */
417 
418  /** The UDF user module name for LDT Overrides was not found */
420 
421 } as_status;
as_status
Definition: as_status.h:32