1/* src/interfaces/ecpg/include/ecpgerrno.h */
2
3#ifndef _ECPG_ERRNO_H
4#define _ECPG_ERRNO_H
5
6#include <errno.h>
7
8/* This is a list of all error codes the embedded SQL program can return */
9#define ECPG_NO_ERROR 0
10#define ECPG_NOT_FOUND 100
11
12/* system error codes returned by ecpglib get the correct number,
13 * but are made negative
14 */
15#define ECPG_OUT_OF_MEMORY -ENOMEM
16
17/* first we have a set of ecpg messages, they start at 200 */
18#define ECPG_UNSUPPORTED -200
19#define ECPG_TOO_MANY_ARGUMENTS -201
20#define ECPG_TOO_FEW_ARGUMENTS -202
21#define ECPG_TOO_MANY_MATCHES -203
22#define ECPG_INT_FORMAT -204
23#define ECPG_UINT_FORMAT -205
24#define ECPG_FLOAT_FORMAT -206
25#define ECPG_NUMERIC_FORMAT -207
26#define ECPG_INTERVAL_FORMAT -208
27#define ECPG_DATE_FORMAT -209
28#define ECPG_TIMESTAMP_FORMAT -210
29#define ECPG_CONVERT_BOOL -211
30#define ECPG_EMPTY -212
31#define ECPG_MISSING_INDICATOR -213
32#define ECPG_NO_ARRAY -214
33#define ECPG_DATA_NOT_ARRAY -215
34#define ECPG_ARRAY_INSERT -216
35
36#define ECPG_NO_CONN -220
37#define ECPG_NOT_CONN -221
38
39#define ECPG_INVALID_STMT -230
40
41/* dynamic SQL related */
42#define ECPG_UNKNOWN_DESCRIPTOR -240
43#define ECPG_INVALID_DESCRIPTOR_INDEX -241
44#define ECPG_UNKNOWN_DESCRIPTOR_ITEM -242
45#define ECPG_VAR_NOT_NUMERIC -243
46#define ECPG_VAR_NOT_CHAR -244
47
48/* finally the backend error messages, they start at 400 */
49#define ECPG_PGSQL -400
50#define ECPG_TRANS -401
51#define ECPG_CONNECT -402
52#define ECPG_DUPLICATE_KEY -403
53#define ECPG_SUBSELECT_NOT_ONE -404
54
55/* for compatibility we define some different error codes for the same error
56 * if adding a new one make sure to not double define it */
57#define ECPG_INFORMIX_DUPLICATE_KEY -239
58#define ECPG_INFORMIX_SUBSELECT_NOT_ONE -284
59
60/* backend WARNINGs, starting at 600 */
61#define ECPG_WARNING_UNRECOGNIZED -600
62 /* WARNING: (transaction aborted): queries ignored until END */
63
64 /*
65 * WARNING: current transaction is aborted, queries ignored until end of
66 * transaction block
67 */
68#define ECPG_WARNING_QUERY_IGNORED -601
69 /* WARNING: PerformPortalClose: portal "*" not found */
70#define ECPG_WARNING_UNKNOWN_PORTAL -602
71 /* WARNING: BEGIN: already a transaction in progress */
72#define ECPG_WARNING_IN_TRANSACTION -603
73 /* WARNING: AbortTransaction and not in in-progress state */
74 /* WARNING: COMMIT: no transaction in progress */
75#define ECPG_WARNING_NO_TRANSACTION -604
76 /* WARNING: BlankPortalAssignName: portal * already exists */
77#define ECPG_WARNING_PORTAL_EXISTS -605
78
79#endif /* !_ECPG_ERRNO_H */
80