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