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