port fix from branch_1_1
[freeradius.git] / src / modules / rlm_sql / drivers / rlm_sql_postgresql / sql_postgresql.h
1 /* Copyright 2006 The FreeRADIUS server project */
2
3 #ifndef _SQL_POSTGRESQL_H_
4 #define _SQL_POSTGRESQL_H_
5
6 #include <freeradius-devel/ident.h>
7 RCSIDH(sql_postgresql_h, "$Id$")
8
9 /************************************************** 
10 * Error Codes and required information Lookup table
11 * Does this shite ever needed? Lets c.. 
12 ***************************************************/
13 typedef struct pgsql_error{
14         char *errorcode;
15         char *meaning;
16         int  shouldreconnect;
17 }pgerror;
18
19 pgerror errorcodes[]=
20 {
21         "1000", "WARNING", 0,
22         "0100C", "DYNAMIC RESULT SETS RETURNED", 0,
23         "1008", "IMPLICIT ZERO BIT PADDING", 0,
24         "1003", "NULL VALUE ELIMINATED IN SET FUNCTION", 0,
25         "1007", "PRIVILEGE NOT GRANTED", 0,
26         "1006", "PRIVILEGE NOT REVOKED", 0,
27         "1004", "STRING DATA RIGHT TRUNCATION", 0,
28         "01P01", "DEPRECATED FEATURE", 0,
29
30         "2000", "NO DATA", 0,
31         "2001", "NO ADDITIONAL DYNAMIC RESULT SETS RETURNED", 0,
32         
33         "3000", "SQL STATEMENT NOT YET COMPLETE", 0,
34
35         "8000", "CONNECTION EXCEPTION", 0,
36         "8003", "CONNECTION DOES NOT EXIST", 0,
37         "8006", "CONNECTION FAILURE", 0,
38         "8001", "SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION", 0,
39         "8004", "SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION", 0,
40         "8007", "TRANSACTION RESOLUTION UNKNOWN", 0,
41         "08P01", "PROTOCOL VIOLATION", 0,
42
43         "9000", "TRIGGERED ACTION EXCEPTION", 0,
44
45         "0A000", "FEATURE NOT SUPPORTED", 0,
46
47         "0B000", "INVALID TRANSACTION INITIATION", 0,
48
49         "0F000", "LOCATOR EXCEPTION", 0,
50         "0F001", "INVALID LOCATOR SPECIFICATION", 0,
51
52         "0L000", "INVALID GRANTOR", 0,
53         "0LP01", "INVALID GRANT OPERATION", 0,
54
55         "21000", "CARDINALITY VIOLATION", 0,
56
57         "22000", "DATA EXCEPTION", 0,
58         "2202E", "ARRAY SUBSCRIPT ERROR", 0,
59         "22021", "CHARACTER NOT IN REPERTOIRE", 0,
60         "22008", "DATETIME FIELD OVERFLOW", 0,
61         "22012", "DIVISION BY ZERO", 0,
62         "22005", "ERROR IN ASSIGNMENT", 0,
63         "2200B", "ESCAPE CHARACTER CONFLICT", 0,
64         "22022", "INDICATOR OVERFLOW", 0,
65         "22015", "INTERVAL FIELD OVERFLOW", 0,
66         "2201E", "INVALID ARGUMENT FOR LOGARITHM", 0,
67         "2201F", "INVALID ARGUMENT FOR POWER FUNCTION", 0,
68         "2201G", "INVALID ARGUMENT FOR WIDTH BUCKET FUNCTION", 0,
69         "22018", "INVALID CHARACTER VALUE FOR CAST", 0,
70         "22007", "INVALID DATETIME FORMAT", 0,
71         "22019", "INVALID ESCAPE CHARACTER", 0,
72         "2200D", "INVALID ESCAPE OCTET", 0,
73         "22025", "INVALID ESCAPE SEQUENCE", 0,
74         "22P06", "NONSTANDARD USE OF ESCAPE CHARACTER", 0,
75         "22010", "INVALID INDICATOR PARAMETER VALUE", 0,
76         "22020", "INVALID LIMIT VALUE", 0,
77         "22023", "INVALID PARAMETER VALUE", 0,
78         "2201B", "INVALID REGULAR EXPRESSION", 0,
79         "22009", "INVALID TIME ZONE DISPLACEMENT VALUE", 0,
80         "2200C", "INVALID USE OF ESCAPE CHARACTER", 0,
81         "2200G", "MOST SPECIFIC TYPE MISMATCH", 0,
82         "22004", "NULL VALUE NOT ALLOWED", 0,
83         "22002", "NULL VALUE NO INDICATOR PARAMETER", 0,
84         "22003", "NUMERIC VALUE OUT OF RANGE", 0,
85         "22026", "STRING DATA LENGTH MISMATCH", 0,
86         "22001", "STRING DATA RIGHT TRUNCATION", 0,
87         "22011", "SUBSTRING ERROR", 0,
88         "22027", "TRIM ERROR", 0,
89         "22024", "UNTERMINATED C STRING", 0,
90         "2200F", "ZERO LENGTH CHARACTER STRING", 0,
91         "22P01", "FLOATING POINT EXCEPTION", 0,
92         "22P02", "INVALID TEXT REPRESENTATION", 0,
93         "22P03", "INVALID BINARY REPRESENTATION", 0,
94         "22P04", "BAD COPY FILE FORMAT", 0,
95         "22P05", "UNTRANSLATABLE CHARACTER", 0,
96
97         "23000", "INTEGRITY CONSTRAINT VIOLATION", 0,
98         "23001", "RESTRICT VIOLATION", 0,
99         "23502", "NOT NULL VIOLATION", 0,
100         "23503", "FOREIGN KEY VIOLATION", 0,
101         "23505", "UNIQUE VIOLATION", 0,
102         "23514", "CHECK VIOLATION", 0,
103
104         "24000", "INVALID CURSOR STATE", 0,
105
106         "25000", "INVALID TRANSACTION STATE", 0,
107         "25001", "ACTIVE SQL TRANSACTION", 0,
108         "25002", "BRANCH TRANSACTION ALREADY ACTIVE", 0,
109         "25008", "HELD CURSOR REQUIRES SAME ISOLATION LEVEL", 0,
110         "25003", "INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION", 0,
111         "25004", "INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION", 0,
112         "25005", "NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION", 0,
113         "25006", "READ ONLY SQL TRANSACTION", 0,
114         "25007", "SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED", 0,
115         "25P01", "NO ACTIVE SQL TRANSACTION", 0,
116         "25P02", "IN FAILED SQL TRANSACTION", 0,
117
118         "26000", "INVALID SQL STATEMENT NAME", 0,
119
120         "27000", "TRIGGERED DATA CHANGE VIOLATION", 0,
121
122         "28000", "INVALID AUTHORIZATION SPECIFICATION", 0,
123
124         "2B000", "DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST", 0,
125         "2BP01", "DEPENDENT OBJECTS STILL EXIST", 0,
126         
127         "2D000", "INVALID TRANSACTION TERMINATION", 0,
128         
129         "2F000", "SQL ROUTINE EXCEPTION", 0,
130         "2F005", "FUNCTION EXECUTED NO RETURN STATEMENT", 0,
131         "2F002", "MODIFYING SQL DATA NOT PERMITTED", 0,
132         "2F003", "PROHIBITED SQL STATEMENT ATTEMPTED", 0,
133         "2F004", "READING SQL DATA NOT PERMITTED", 0,
134
135         "34000", "INVALID CURSOR NAME", 0,
136         
137         "38000", "EXTERNAL ROUTINE EXCEPTION", 0,
138         "38001", "CONTAINING SQL NOT PERMITTED", 0,
139         "38002", "MODIFYING SQL DATA NOT PERMITTED", 0,
140         "38003", "PROHIBITED SQL STATEMENT ATTEMPTED", 0,
141         "38004", "READING SQL DATA NOT PERMITTED", 0,
142
143         "39000", "EXTERNAL ROUTINE INVOCATION EXCEPTION", 0,
144         "39001", "INVALID SQLSTATE RETURNED", 0,
145         "39004", "NULL VALUE NOT ALLOWED", 0,
146         "39P01", "TRIGGER PROTOCOL VIOLATED", 0,
147         "39P02", "SRF PROTOCOL VIOLATED", 0,
148
149         "3B000", "SAVEPOINT EXCEPTION", 0,
150         "3B001", "INVALID SAVEPOINT SPECIFICATION", 0,
151
152         "3D000", "INVALID CATALOG NAME", 0,
153         "3F000", "INVALID SCHEMA NAME", 0,
154
155         "40000", "TRANSACTION ROLLBACK", 0,
156         "40002", "TRANSACTION INTEGRITY CONSTRAINT VIOLATION", 0,
157         "40001", "SERIALIZATION FAILURE", 0,
158         "40003", "STATEMENT COMPLETION UNKNOWN", 0,
159         "40P01", "DEADLOCK DETECTED", 0,
160
161         "44000", "WITH CHECK OPTION VIOLATION", 0,
162
163         "53000", "INSUFFICIENT RESOURCES", 0,
164         "53100", "DISK FULL", 0,
165         "53200", "OUT OF MEMORY", 0,
166         "53300", "TOO MANY CONNECTIONS", 0,
167         
168         "54000", "PROGRAM LIMIT EXCEEDED", 0,
169         "54001", "STATEMENT TOO COMPLEX", 0,
170         "54011", "TOO MANY COLUMNS", 0,
171         "54023", "TOO MANY ARGUMENTS", 0,
172
173         "55000", "OBJECT NOT IN PREREQUISITE STATE", 0,
174         "55006", "OBJECT IN USE", 0,
175         "55P02", "CANT CHANGE RUNTIME PARAM", 0,        
176         "55P03", "LOCK NOT AVAILABLE", 0,
177         
178         "57000", "OPERATOR INTERVENTION", 1,
179         "57014", "QUERY CANCELED", 1,
180         "57P01", "ADMIN SHUTDOWN", 1,
181         "57P02", "CRASH SHUTDOWN", 1,
182         "57P03", "CANNOT CONNECT NOW", 1,
183
184         "58030", "IO ERROR", 1,
185         "58P01", "UNDEFINED FILE", 1,
186         "58P02", "DUPLICATE FILE", 1,
187
188         "F0000", "CONFIG FILE ERROR", 1,
189         "F0001", "LOCK FILE EXISTS", 1,
190
191         "P0000", "PLPGSQL ERROR", 0,
192         "P0001", "RAISE EXCEPTION", 0,
193
194         "42000", "SYNTAX ERROR OR ACCESS RULE VIOLATION", 0,
195         "42601", "SYNTAX ERROR", 0,
196         "42501", "INSUFFICIENT PRIVILEGE", 0,
197         "42846", "CANNOT COERCE", 0,
198         "42803", "GROUPING ERROR", 0,
199         "42830", "INVALID FOREIGN KEY", 0,
200         "42602", "INVALID NAME", 0,
201         "42622", "NAME TOO LONG", 0,
202         "42939", "RESERVED NAME", 0,
203         "42804", "DATATYPE MISMATCH", 0,
204         "42P18", "INDETERMINATE DATATYPE", 0,
205         "42809", "WRONG OBJECT TYPE", 0,
206         "42703", "UNDEFINED COLUMN", 0,
207         "42883", "UNDEFINED FUNCTION", 0,
208         "42P01", "UNDEFINED TABLE", 0,
209         "42P02", "UNDEFINED PARAMETER", 0,
210         "42704", "UNDEFINED OBJECT", 0,
211         "42701", "DUPLICATE COLUMN", 0, 
212         "42P03", "DUPLICATE CURSOR", 0,
213         "42P04", "DUPLICATE DATABASE", 0,
214         "42723", "DUPLICATE FUNCTION", 0,
215         "42P05", "DUPLICATE PREPARED STATEMENT", 0,
216         "42P06", "DUPLICATE SCHEMA", 0,
217         "42P07", "DUPLICATE TABLE", 0,
218         "42712", "DUPLICATE ALIAS", 0,
219         "42710", "DUPLICATE OBJECT", 0,
220         "42702", "AMBIGUOUS COLUMN", 0,
221         "42725", "AMBIGUOUS FUNCTION", 0,
222         "42P08", "AMBIGUOUS PARAMETER", 0,
223         "42P09", "AMBIGUOUS ALIAS", 0,
224         "42P10", "INVALID COLUMN REFERENCE", 0,
225         "42611", "INVALID COLUMN DEFINITION", 0,
226         "42P11", "INVALID CURSOR DEFINITION", 0,
227         "42P12", "INVALID DATABASE DEFINITION", 0,
228         "42P13", "INVALID FUNCTION DEFINITION", 0,
229         "42P14", "INVALID PREPARED STATEMENT DEFINITION", 0,
230         "42P15", "INVALID SCHEMA DEFINITION", 0,
231         "42P16", "INVALID TABLE DEFINITION", 0,
232         "42P17", "INVALID OBJECT DEFINITION", 0,
233
234         "XX000", "INTERNAL ERROR", 0,
235         "XX001", "DATA CORRUPTED", 0,
236         "XX002", "INDEX CORRUPTED", 0,
237
238         NULL, NULL, 0
239 };
240
241 #endif /*_SQL_POSTGRESQL_H_*/