| 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 | |