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 
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  * RECORD-SPECIFIC
124  **************************************************************************/
125 
126  /**
127  * Generic record error.
128  */
130 
131  /**
132  * Too may concurrent requests for one record - a "hot-key" situation.
133  */
135 
136  /**
137  * Record does not exist in database. May be returned by read, or write
138  * with policy AS_POLICY_EXISTS_UPDATE.
139  * @warning AS_POLICY_EXISTS_UPDATE not yet supported.
140  */
142 
143  /**
144  * Record already exists. May be returned by write with policy
145  * AS_POLICY_EXISTS_CREATE.
146  */
148 
149  /**
150  * Generation of record in database does not satisfy write policy.
151  */
153 
154  /**
155  * Record being (re-)written can't fit in a storage write block.
156  */
158 
159  /**
160  * Bin modification operation can't be done on an existing bin due to its
161  * value type.
162  */
164 
165  /***************************************************************************
166  * XDR-SPECIFIC
167  **************************************************************************/
168 
169  /**
170  * XDR is not available for the cluster.
171  */
173 
174  /***************************************************************************
175  * SCAN OPERATIONS
176  **************************************************************************/
177 
178  /**
179  * Generic scan error.
180  */
182 
183  /**
184  * Scan aborted by user.
185  */
187 
188  /***************************************************************************
189  * QUERY OPERATIONS
190  **************************************************************************/
191 
192  /**
193  * Generic query error.
194  */
196 
197  /**
198  * Query was aborted.
199  */
201 
202  /**
203  * Query processing queue is full.
204  */
206 
207  /***************************************************************************
208  * SECONDARY INDEX OPERATIONS
209  **************************************************************************/
210 
211  /**
212  * Generic secondary index error.
213  */
215 
216  /**
217  * Index is out of memory
218  */
220 
221  /**
222  * Index not found
223  */
225 
226  /**
227  * Index found.
228  */
230 
231  /**
232  * Unable to read the index.
233  */
235 
236  /***************************************************************************
237  * UDF OPERATIONS
238  **************************************************************************/
239 
240  /**
241  * Generic UDF error.
242  */
244 
245  /**
246  * UDF does not exist.
247  */
249 
250 
251  /***************************************************************************
252  * Large Data Type (LDT) OPERATIONS
253  **************************************************************************/
254 
255  /** Internal LDT error. */
257 
258  /** LDT item not found */
260 
261  /** Unique key violation: Duplicated item inserted when 'unique key" was set.*/
263 
264  /** General error during insert operation. */
266 
267  /** General error during search operation. */
269 
270  /** General error during delete operation. */
272 
273 
274  /** General input parameter error. */
276 
277  // -------------------------------------------------
278 
279  /** LDT Type mismatch for this bin. */
281 
282  /** The supplied LDT bin name is null. */
284 
285  /** The supplied LDT bin name must be a string. */
287 
288  /** The supplied LDT bin name exceeded the 14 char limit. */
290 
291  /** Internal Error: too many open records at one time. */
293 
294  /** Internal Error: Top Record not found. */
296 
297  /** Internal Error: Sub Record not found. */
299 
300  /** LDT Bin does not exist. */
302 
303  /** Collision: LDT Bin already exists. */
305 
306  /** LDT control structures in the Top Record are damaged. Cannot proceed. */
308 
309  // -------------------------------------------------
310 
311  /** Internal Error: LDT Subrecord pool is damaged. */
313 
314  /** LDT control structures in the Sub Record are damaged. Cannot proceed. */
316 
317  /** Error encountered while opening a Sub Record. */
319 
320  /** Error encountered while updating a Sub Record. */
322 
323  /** Error encountered while creating a Sub Record. */
325 
326  /** Error encountered while deleting a Sub Record. */
328 
329  /** Error encountered while closing a Sub Record. */
331 
332  // -------------------------------------------------
333 
334  /** The filter function name was invalid. */
336 
337  /** The filter function was not found. */
339 
340  /** The function to extract the Unique Value from a complex object was invalid. */
342 
343  /** The function to extract the Unique Value from a complex object was not found. */
345 
346  /** The function to transform an object into a binary form was invalid. */
348 
349  /** The function to transform an object into a binary form was not found. */
351 
352  /** The function to untransform an object from binary form to live form was invalid. */
354 
355  /** The function to untransform an object from binary form to live form not found. */
357 
358  /** The UDF user module name for LDT Overrides was invalid */
360 
361  /** The UDF user module name for LDT Overrides was not found */
363 
364 } as_status;
as_status
Definition: as_status.h:32