pg 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +3 -0
  3. data.tar.gz.sig +0 -0
  4. data/.gemtest +0 -0
  5. data/BSDL +22 -0
  6. data/ChangeLog +6595 -0
  7. data/Contributors.rdoc +46 -0
  8. data/History.rdoc +492 -0
  9. data/LICENSE +56 -0
  10. data/Manifest.txt +72 -0
  11. data/POSTGRES +23 -0
  12. data/README-OS_X.rdoc +68 -0
  13. data/README-Windows.rdoc +56 -0
  14. data/README.ja.rdoc +14 -0
  15. data/README.rdoc +178 -0
  16. data/Rakefile +215 -0
  17. data/Rakefile.cross +298 -0
  18. data/ext/errorcodes.def +968 -0
  19. data/ext/errorcodes.rb +45 -0
  20. data/ext/errorcodes.txt +478 -0
  21. data/ext/extconf.rb +94 -0
  22. data/ext/gvl_wrappers.c +17 -0
  23. data/ext/gvl_wrappers.h +241 -0
  24. data/ext/pg.c +640 -0
  25. data/ext/pg.h +365 -0
  26. data/ext/pg_binary_decoder.c +229 -0
  27. data/ext/pg_binary_encoder.c +162 -0
  28. data/ext/pg_coder.c +549 -0
  29. data/ext/pg_connection.c +4252 -0
  30. data/ext/pg_copy_coder.c +596 -0
  31. data/ext/pg_errors.c +95 -0
  32. data/ext/pg_result.c +1501 -0
  33. data/ext/pg_text_decoder.c +981 -0
  34. data/ext/pg_text_encoder.c +682 -0
  35. data/ext/pg_tuple.c +541 -0
  36. data/ext/pg_type_map.c +166 -0
  37. data/ext/pg_type_map_all_strings.c +116 -0
  38. data/ext/pg_type_map_by_class.c +239 -0
  39. data/ext/pg_type_map_by_column.c +312 -0
  40. data/ext/pg_type_map_by_mri_type.c +284 -0
  41. data/ext/pg_type_map_by_oid.c +355 -0
  42. data/ext/pg_type_map_in_ruby.c +299 -0
  43. data/ext/util.c +149 -0
  44. data/ext/util.h +65 -0
  45. data/ext/vc/pg.sln +26 -0
  46. data/ext/vc/pg_18/pg.vcproj +216 -0
  47. data/ext/vc/pg_19/pg_19.vcproj +209 -0
  48. data/lib/pg.rb +74 -0
  49. data/lib/pg/basic_type_mapping.rb +459 -0
  50. data/lib/pg/binary_decoder.rb +22 -0
  51. data/lib/pg/coder.rb +83 -0
  52. data/lib/pg/connection.rb +291 -0
  53. data/lib/pg/constants.rb +11 -0
  54. data/lib/pg/exceptions.rb +11 -0
  55. data/lib/pg/result.rb +31 -0
  56. data/lib/pg/text_decoder.rb +47 -0
  57. data/lib/pg/text_encoder.rb +69 -0
  58. data/lib/pg/tuple.rb +30 -0
  59. data/lib/pg/type_map_by_column.rb +15 -0
  60. data/spec/data/expected_trace.out +26 -0
  61. data/spec/data/random_binary_data +0 -0
  62. data/spec/helpers.rb +380 -0
  63. data/spec/pg/basic_type_mapping_spec.rb +508 -0
  64. data/spec/pg/connection_spec.rb +1872 -0
  65. data/spec/pg/connection_sync_spec.rb +41 -0
  66. data/spec/pg/result_spec.rb +491 -0
  67. data/spec/pg/tuple_spec.rb +280 -0
  68. data/spec/pg/type_map_by_class_spec.rb +138 -0
  69. data/spec/pg/type_map_by_column_spec.rb +222 -0
  70. data/spec/pg/type_map_by_mri_type_spec.rb +136 -0
  71. data/spec/pg/type_map_by_oid_spec.rb +149 -0
  72. data/spec/pg/type_map_in_ruby_spec.rb +164 -0
  73. data/spec/pg/type_map_spec.rb +22 -0
  74. data/spec/pg/type_spec.rb +949 -0
  75. data/spec/pg_spec.rb +50 -0
  76. metadata +322 -0
  77. metadata.gz.sig +0 -0
@@ -0,0 +1,968 @@
1
+ /*
2
+ * ext/errorcodes.def - Definition of error classes.
3
+ *
4
+ * WARNING: This file is autogenerated. Please edit ext/errorcodes.rb !
5
+ *
6
+ */
7
+
8
+
9
+ {
10
+ VALUE klass = define_error_class( "SqlStatementNotYetComplete", NULL );
11
+ register_error_class( "03000", klass );
12
+ register_error_class( "03", klass );
13
+ }
14
+ {
15
+ VALUE klass = define_error_class( "ConnectionException", NULL );
16
+ register_error_class( "08000", klass );
17
+ register_error_class( "08", klass );
18
+ }
19
+ {
20
+ VALUE klass = define_error_class( "ConnectionDoesNotExist", "08" );
21
+ register_error_class( "08003", klass );
22
+ }
23
+ {
24
+ VALUE klass = define_error_class( "ConnectionFailure", "08" );
25
+ register_error_class( "08006", klass );
26
+ }
27
+ {
28
+ VALUE klass = define_error_class( "SqlclientUnableToEstablishSqlconnection", "08" );
29
+ register_error_class( "08001", klass );
30
+ }
31
+ {
32
+ VALUE klass = define_error_class( "SqlserverRejectedEstablishmentOfSqlconnection", "08" );
33
+ register_error_class( "08004", klass );
34
+ }
35
+ {
36
+ VALUE klass = define_error_class( "TransactionResolutionUnknown", "08" );
37
+ register_error_class( "08007", klass );
38
+ }
39
+ {
40
+ VALUE klass = define_error_class( "ProtocolViolation", "08" );
41
+ register_error_class( "08P01", klass );
42
+ }
43
+ {
44
+ VALUE klass = define_error_class( "TriggeredActionException", NULL );
45
+ register_error_class( "09000", klass );
46
+ register_error_class( "09", klass );
47
+ }
48
+ {
49
+ VALUE klass = define_error_class( "FeatureNotSupported", NULL );
50
+ register_error_class( "0A000", klass );
51
+ register_error_class( "0A", klass );
52
+ }
53
+ {
54
+ VALUE klass = define_error_class( "InvalidTransactionInitiation", NULL );
55
+ register_error_class( "0B000", klass );
56
+ register_error_class( "0B", klass );
57
+ }
58
+ {
59
+ VALUE klass = define_error_class( "LocatorException", NULL );
60
+ register_error_class( "0F000", klass );
61
+ register_error_class( "0F", klass );
62
+ }
63
+ {
64
+ VALUE klass = define_error_class( "LEInvalidSpecification", "0F" );
65
+ register_error_class( "0F001", klass );
66
+ }
67
+ {
68
+ VALUE klass = define_error_class( "InvalidGrantor", NULL );
69
+ register_error_class( "0L000", klass );
70
+ register_error_class( "0L", klass );
71
+ }
72
+ {
73
+ VALUE klass = define_error_class( "InvalidGrantOperation", "0L" );
74
+ register_error_class( "0LP01", klass );
75
+ }
76
+ {
77
+ VALUE klass = define_error_class( "InvalidRoleSpecification", NULL );
78
+ register_error_class( "0P000", klass );
79
+ register_error_class( "0P", klass );
80
+ }
81
+ {
82
+ VALUE klass = define_error_class( "DiagnosticsException", NULL );
83
+ register_error_class( "0Z000", klass );
84
+ register_error_class( "0Z", klass );
85
+ }
86
+ {
87
+ VALUE klass = define_error_class( "StackedDiagnosticsAccessedWithoutActiveHandler", "0Z" );
88
+ register_error_class( "0Z002", klass );
89
+ }
90
+ {
91
+ VALUE klass = define_error_class( "CaseNotFound", NULL );
92
+ register_error_class( "20000", klass );
93
+ register_error_class( "20", klass );
94
+ }
95
+ {
96
+ VALUE klass = define_error_class( "CardinalityViolation", NULL );
97
+ register_error_class( "21000", klass );
98
+ register_error_class( "21", klass );
99
+ }
100
+ {
101
+ VALUE klass = define_error_class( "DataException", NULL );
102
+ register_error_class( "22000", klass );
103
+ register_error_class( "22", klass );
104
+ }
105
+ {
106
+ VALUE klass = define_error_class( "ArraySubscriptError", "22" );
107
+ register_error_class( "2202E", klass );
108
+ }
109
+ {
110
+ VALUE klass = define_error_class( "CharacterNotInRepertoire", "22" );
111
+ register_error_class( "22021", klass );
112
+ }
113
+ {
114
+ VALUE klass = define_error_class( "DatetimeFieldOverflow", "22" );
115
+ register_error_class( "22008", klass );
116
+ }
117
+ {
118
+ VALUE klass = define_error_class( "DivisionByZero", "22" );
119
+ register_error_class( "22012", klass );
120
+ }
121
+ {
122
+ VALUE klass = define_error_class( "ErrorInAssignment", "22" );
123
+ register_error_class( "22005", klass );
124
+ }
125
+ {
126
+ VALUE klass = define_error_class( "EscapeCharacterConflict", "22" );
127
+ register_error_class( "2200B", klass );
128
+ }
129
+ {
130
+ VALUE klass = define_error_class( "IndicatorOverflow", "22" );
131
+ register_error_class( "22022", klass );
132
+ }
133
+ {
134
+ VALUE klass = define_error_class( "IntervalFieldOverflow", "22" );
135
+ register_error_class( "22015", klass );
136
+ }
137
+ {
138
+ VALUE klass = define_error_class( "InvalidArgumentForLog", "22" );
139
+ register_error_class( "2201E", klass );
140
+ }
141
+ {
142
+ VALUE klass = define_error_class( "InvalidArgumentForNtile", "22" );
143
+ register_error_class( "22014", klass );
144
+ }
145
+ {
146
+ VALUE klass = define_error_class( "InvalidArgumentForNthValue", "22" );
147
+ register_error_class( "22016", klass );
148
+ }
149
+ {
150
+ VALUE klass = define_error_class( "InvalidArgumentForPowerFunction", "22" );
151
+ register_error_class( "2201F", klass );
152
+ }
153
+ {
154
+ VALUE klass = define_error_class( "InvalidArgumentForWidthBucketFunction", "22" );
155
+ register_error_class( "2201G", klass );
156
+ }
157
+ {
158
+ VALUE klass = define_error_class( "InvalidCharacterValueForCast", "22" );
159
+ register_error_class( "22018", klass );
160
+ }
161
+ {
162
+ VALUE klass = define_error_class( "InvalidDatetimeFormat", "22" );
163
+ register_error_class( "22007", klass );
164
+ }
165
+ {
166
+ VALUE klass = define_error_class( "InvalidEscapeCharacter", "22" );
167
+ register_error_class( "22019", klass );
168
+ }
169
+ {
170
+ VALUE klass = define_error_class( "InvalidEscapeOctet", "22" );
171
+ register_error_class( "2200D", klass );
172
+ }
173
+ {
174
+ VALUE klass = define_error_class( "InvalidEscapeSequence", "22" );
175
+ register_error_class( "22025", klass );
176
+ }
177
+ {
178
+ VALUE klass = define_error_class( "NonstandardUseOfEscapeCharacter", "22" );
179
+ register_error_class( "22P06", klass );
180
+ }
181
+ {
182
+ VALUE klass = define_error_class( "InvalidIndicatorParameterValue", "22" );
183
+ register_error_class( "22010", klass );
184
+ }
185
+ {
186
+ VALUE klass = define_error_class( "InvalidParameterValue", "22" );
187
+ register_error_class( "22023", klass );
188
+ }
189
+ {
190
+ VALUE klass = define_error_class( "InvalidPrecedingOrFollowingSize", "22" );
191
+ register_error_class( "22013", klass );
192
+ }
193
+ {
194
+ VALUE klass = define_error_class( "InvalidRegularExpression", "22" );
195
+ register_error_class( "2201B", klass );
196
+ }
197
+ {
198
+ VALUE klass = define_error_class( "InvalidRowCountInLimitClause", "22" );
199
+ register_error_class( "2201W", klass );
200
+ }
201
+ {
202
+ VALUE klass = define_error_class( "InvalidRowCountInResultOffsetClause", "22" );
203
+ register_error_class( "2201X", klass );
204
+ }
205
+ {
206
+ VALUE klass = define_error_class( "InvalidTablesampleArgument", "22" );
207
+ register_error_class( "2202H", klass );
208
+ }
209
+ {
210
+ VALUE klass = define_error_class( "InvalidTablesampleRepeat", "22" );
211
+ register_error_class( "2202G", klass );
212
+ }
213
+ {
214
+ VALUE klass = define_error_class( "InvalidTimeZoneDisplacementValue", "22" );
215
+ register_error_class( "22009", klass );
216
+ }
217
+ {
218
+ VALUE klass = define_error_class( "InvalidUseOfEscapeCharacter", "22" );
219
+ register_error_class( "2200C", klass );
220
+ }
221
+ {
222
+ VALUE klass = define_error_class( "MostSpecificTypeMismatch", "22" );
223
+ register_error_class( "2200G", klass );
224
+ }
225
+ {
226
+ VALUE klass = define_error_class( "NullValueNotAllowed", "22" );
227
+ register_error_class( "22004", klass );
228
+ }
229
+ {
230
+ VALUE klass = define_error_class( "NullValueNoIndicatorParameter", "22" );
231
+ register_error_class( "22002", klass );
232
+ }
233
+ {
234
+ VALUE klass = define_error_class( "NumericValueOutOfRange", "22" );
235
+ register_error_class( "22003", klass );
236
+ }
237
+ {
238
+ VALUE klass = define_error_class( "SequenceGeneratorLimitExceeded", "22" );
239
+ register_error_class( "2200H", klass );
240
+ }
241
+ {
242
+ VALUE klass = define_error_class( "StringDataLengthMismatch", "22" );
243
+ register_error_class( "22026", klass );
244
+ }
245
+ {
246
+ VALUE klass = define_error_class( "StringDataRightTruncation", "22" );
247
+ register_error_class( "22001", klass );
248
+ }
249
+ {
250
+ VALUE klass = define_error_class( "SubstringError", "22" );
251
+ register_error_class( "22011", klass );
252
+ }
253
+ {
254
+ VALUE klass = define_error_class( "TrimError", "22" );
255
+ register_error_class( "22027", klass );
256
+ }
257
+ {
258
+ VALUE klass = define_error_class( "UnterminatedCString", "22" );
259
+ register_error_class( "22024", klass );
260
+ }
261
+ {
262
+ VALUE klass = define_error_class( "ZeroLengthCharacterString", "22" );
263
+ register_error_class( "2200F", klass );
264
+ }
265
+ {
266
+ VALUE klass = define_error_class( "FloatingPointException", "22" );
267
+ register_error_class( "22P01", klass );
268
+ }
269
+ {
270
+ VALUE klass = define_error_class( "InvalidTextRepresentation", "22" );
271
+ register_error_class( "22P02", klass );
272
+ }
273
+ {
274
+ VALUE klass = define_error_class( "InvalidBinaryRepresentation", "22" );
275
+ register_error_class( "22P03", klass );
276
+ }
277
+ {
278
+ VALUE klass = define_error_class( "BadCopyFileFormat", "22" );
279
+ register_error_class( "22P04", klass );
280
+ }
281
+ {
282
+ VALUE klass = define_error_class( "UntranslatableCharacter", "22" );
283
+ register_error_class( "22P05", klass );
284
+ }
285
+ {
286
+ VALUE klass = define_error_class( "NotAnXmlDocument", "22" );
287
+ register_error_class( "2200L", klass );
288
+ }
289
+ {
290
+ VALUE klass = define_error_class( "InvalidXmlDocument", "22" );
291
+ register_error_class( "2200M", klass );
292
+ }
293
+ {
294
+ VALUE klass = define_error_class( "InvalidXmlContent", "22" );
295
+ register_error_class( "2200N", klass );
296
+ }
297
+ {
298
+ VALUE klass = define_error_class( "InvalidXmlComment", "22" );
299
+ register_error_class( "2200S", klass );
300
+ }
301
+ {
302
+ VALUE klass = define_error_class( "InvalidXmlProcessingInstruction", "22" );
303
+ register_error_class( "2200T", klass );
304
+ }
305
+ {
306
+ VALUE klass = define_error_class( "IntegrityConstraintViolation", NULL );
307
+ register_error_class( "23000", klass );
308
+ register_error_class( "23", klass );
309
+ }
310
+ {
311
+ VALUE klass = define_error_class( "RestrictViolation", "23" );
312
+ register_error_class( "23001", klass );
313
+ }
314
+ {
315
+ VALUE klass = define_error_class( "NotNullViolation", "23" );
316
+ register_error_class( "23502", klass );
317
+ }
318
+ {
319
+ VALUE klass = define_error_class( "ForeignKeyViolation", "23" );
320
+ register_error_class( "23503", klass );
321
+ }
322
+ {
323
+ VALUE klass = define_error_class( "UniqueViolation", "23" );
324
+ register_error_class( "23505", klass );
325
+ }
326
+ {
327
+ VALUE klass = define_error_class( "CheckViolation", "23" );
328
+ register_error_class( "23514", klass );
329
+ }
330
+ {
331
+ VALUE klass = define_error_class( "ExclusionViolation", "23" );
332
+ register_error_class( "23P01", klass );
333
+ }
334
+ {
335
+ VALUE klass = define_error_class( "InvalidCursorState", NULL );
336
+ register_error_class( "24000", klass );
337
+ register_error_class( "24", klass );
338
+ }
339
+ {
340
+ VALUE klass = define_error_class( "InvalidTransactionState", NULL );
341
+ register_error_class( "25000", klass );
342
+ register_error_class( "25", klass );
343
+ }
344
+ {
345
+ VALUE klass = define_error_class( "ActiveSqlTransaction", "25" );
346
+ register_error_class( "25001", klass );
347
+ }
348
+ {
349
+ VALUE klass = define_error_class( "BranchTransactionAlreadyActive", "25" );
350
+ register_error_class( "25002", klass );
351
+ }
352
+ {
353
+ VALUE klass = define_error_class( "HeldCursorRequiresSameIsolationLevel", "25" );
354
+ register_error_class( "25008", klass );
355
+ }
356
+ {
357
+ VALUE klass = define_error_class( "InappropriateAccessModeForBranchTransaction", "25" );
358
+ register_error_class( "25003", klass );
359
+ }
360
+ {
361
+ VALUE klass = define_error_class( "InappropriateIsolationLevelForBranchTransaction", "25" );
362
+ register_error_class( "25004", klass );
363
+ }
364
+ {
365
+ VALUE klass = define_error_class( "NoActiveSqlTransactionForBranchTransaction", "25" );
366
+ register_error_class( "25005", klass );
367
+ }
368
+ {
369
+ VALUE klass = define_error_class( "ReadOnlySqlTransaction", "25" );
370
+ register_error_class( "25006", klass );
371
+ }
372
+ {
373
+ VALUE klass = define_error_class( "SchemaAndDataStatementMixingNotSupported", "25" );
374
+ register_error_class( "25007", klass );
375
+ }
376
+ {
377
+ VALUE klass = define_error_class( "NoActiveSqlTransaction", "25" );
378
+ register_error_class( "25P01", klass );
379
+ }
380
+ {
381
+ VALUE klass = define_error_class( "InFailedSqlTransaction", "25" );
382
+ register_error_class( "25P02", klass );
383
+ }
384
+ {
385
+ VALUE klass = define_error_class( "IdleInTransactionSessionTimeout", "25" );
386
+ register_error_class( "25P03", klass );
387
+ }
388
+ {
389
+ VALUE klass = define_error_class( "InvalidSqlStatementName", NULL );
390
+ register_error_class( "26000", klass );
391
+ register_error_class( "26", klass );
392
+ }
393
+ {
394
+ VALUE klass = define_error_class( "TriggeredDataChangeViolation", NULL );
395
+ register_error_class( "27000", klass );
396
+ register_error_class( "27", klass );
397
+ }
398
+ {
399
+ VALUE klass = define_error_class( "InvalidAuthorizationSpecification", NULL );
400
+ register_error_class( "28000", klass );
401
+ register_error_class( "28", klass );
402
+ }
403
+ {
404
+ VALUE klass = define_error_class( "InvalidPassword", "28" );
405
+ register_error_class( "28P01", klass );
406
+ }
407
+ {
408
+ VALUE klass = define_error_class( "DependentPrivilegeDescriptorsStillExist", NULL );
409
+ register_error_class( "2B000", klass );
410
+ register_error_class( "2B", klass );
411
+ }
412
+ {
413
+ VALUE klass = define_error_class( "DependentObjectsStillExist", "2B" );
414
+ register_error_class( "2BP01", klass );
415
+ }
416
+ {
417
+ VALUE klass = define_error_class( "InvalidTransactionTermination", NULL );
418
+ register_error_class( "2D000", klass );
419
+ register_error_class( "2D", klass );
420
+ }
421
+ {
422
+ VALUE klass = define_error_class( "SqlRoutineException", NULL );
423
+ register_error_class( "2F000", klass );
424
+ register_error_class( "2F", klass );
425
+ }
426
+ {
427
+ VALUE klass = define_error_class( "SREFunctionExecutedNoReturnStatement", "2F" );
428
+ register_error_class( "2F005", klass );
429
+ }
430
+ {
431
+ VALUE klass = define_error_class( "SREModifyingSqlDataNotPermitted", "2F" );
432
+ register_error_class( "2F002", klass );
433
+ }
434
+ {
435
+ VALUE klass = define_error_class( "SREProhibitedSqlStatementAttempted", "2F" );
436
+ register_error_class( "2F003", klass );
437
+ }
438
+ {
439
+ VALUE klass = define_error_class( "SREReadingSqlDataNotPermitted", "2F" );
440
+ register_error_class( "2F004", klass );
441
+ }
442
+ {
443
+ VALUE klass = define_error_class( "InvalidCursorName", NULL );
444
+ register_error_class( "34000", klass );
445
+ register_error_class( "34", klass );
446
+ }
447
+ {
448
+ VALUE klass = define_error_class( "ExternalRoutineException", NULL );
449
+ register_error_class( "38000", klass );
450
+ register_error_class( "38", klass );
451
+ }
452
+ {
453
+ VALUE klass = define_error_class( "EREContainingSqlNotPermitted", "38" );
454
+ register_error_class( "38001", klass );
455
+ }
456
+ {
457
+ VALUE klass = define_error_class( "EREModifyingSqlDataNotPermitted", "38" );
458
+ register_error_class( "38002", klass );
459
+ }
460
+ {
461
+ VALUE klass = define_error_class( "EREProhibitedSqlStatementAttempted", "38" );
462
+ register_error_class( "38003", klass );
463
+ }
464
+ {
465
+ VALUE klass = define_error_class( "EREReadingSqlDataNotPermitted", "38" );
466
+ register_error_class( "38004", klass );
467
+ }
468
+ {
469
+ VALUE klass = define_error_class( "ExternalRoutineInvocationException", NULL );
470
+ register_error_class( "39000", klass );
471
+ register_error_class( "39", klass );
472
+ }
473
+ {
474
+ VALUE klass = define_error_class( "ERIEInvalidSqlstateReturned", "39" );
475
+ register_error_class( "39001", klass );
476
+ }
477
+ {
478
+ VALUE klass = define_error_class( "ERIENullValueNotAllowed", "39" );
479
+ register_error_class( "39004", klass );
480
+ }
481
+ {
482
+ VALUE klass = define_error_class( "ERIETriggerProtocolViolated", "39" );
483
+ register_error_class( "39P01", klass );
484
+ }
485
+ {
486
+ VALUE klass = define_error_class( "ERIESrfProtocolViolated", "39" );
487
+ register_error_class( "39P02", klass );
488
+ }
489
+ {
490
+ VALUE klass = define_error_class( "ERIEEventTriggerProtocolViolated", "39" );
491
+ register_error_class( "39P03", klass );
492
+ }
493
+ {
494
+ VALUE klass = define_error_class( "SavepointException", NULL );
495
+ register_error_class( "3B000", klass );
496
+ register_error_class( "3B", klass );
497
+ }
498
+ {
499
+ VALUE klass = define_error_class( "SEInvalidSpecification", "3B" );
500
+ register_error_class( "3B001", klass );
501
+ }
502
+ {
503
+ VALUE klass = define_error_class( "InvalidCatalogName", NULL );
504
+ register_error_class( "3D000", klass );
505
+ register_error_class( "3D", klass );
506
+ }
507
+ {
508
+ VALUE klass = define_error_class( "InvalidSchemaName", NULL );
509
+ register_error_class( "3F000", klass );
510
+ register_error_class( "3F", klass );
511
+ }
512
+ {
513
+ VALUE klass = define_error_class( "TransactionRollback", NULL );
514
+ register_error_class( "40000", klass );
515
+ register_error_class( "40", klass );
516
+ }
517
+ {
518
+ VALUE klass = define_error_class( "TRIntegrityConstraintViolation", "40" );
519
+ register_error_class( "40002", klass );
520
+ }
521
+ {
522
+ VALUE klass = define_error_class( "TRSerializationFailure", "40" );
523
+ register_error_class( "40001", klass );
524
+ }
525
+ {
526
+ VALUE klass = define_error_class( "TRStatementCompletionUnknown", "40" );
527
+ register_error_class( "40003", klass );
528
+ }
529
+ {
530
+ VALUE klass = define_error_class( "TRDeadlockDetected", "40" );
531
+ register_error_class( "40P01", klass );
532
+ }
533
+ {
534
+ VALUE klass = define_error_class( "SyntaxErrorOrAccessRuleViolation", NULL );
535
+ register_error_class( "42000", klass );
536
+ register_error_class( "42", klass );
537
+ }
538
+ {
539
+ VALUE klass = define_error_class( "SyntaxError", "42" );
540
+ register_error_class( "42601", klass );
541
+ }
542
+ {
543
+ VALUE klass = define_error_class( "InsufficientPrivilege", "42" );
544
+ register_error_class( "42501", klass );
545
+ }
546
+ {
547
+ VALUE klass = define_error_class( "CannotCoerce", "42" );
548
+ register_error_class( "42846", klass );
549
+ }
550
+ {
551
+ VALUE klass = define_error_class( "GroupingError", "42" );
552
+ register_error_class( "42803", klass );
553
+ }
554
+ {
555
+ VALUE klass = define_error_class( "WindowingError", "42" );
556
+ register_error_class( "42P20", klass );
557
+ }
558
+ {
559
+ VALUE klass = define_error_class( "InvalidRecursion", "42" );
560
+ register_error_class( "42P19", klass );
561
+ }
562
+ {
563
+ VALUE klass = define_error_class( "InvalidForeignKey", "42" );
564
+ register_error_class( "42830", klass );
565
+ }
566
+ {
567
+ VALUE klass = define_error_class( "InvalidName", "42" );
568
+ register_error_class( "42602", klass );
569
+ }
570
+ {
571
+ VALUE klass = define_error_class( "NameTooLong", "42" );
572
+ register_error_class( "42622", klass );
573
+ }
574
+ {
575
+ VALUE klass = define_error_class( "ReservedName", "42" );
576
+ register_error_class( "42939", klass );
577
+ }
578
+ {
579
+ VALUE klass = define_error_class( "DatatypeMismatch", "42" );
580
+ register_error_class( "42804", klass );
581
+ }
582
+ {
583
+ VALUE klass = define_error_class( "IndeterminateDatatype", "42" );
584
+ register_error_class( "42P18", klass );
585
+ }
586
+ {
587
+ VALUE klass = define_error_class( "CollationMismatch", "42" );
588
+ register_error_class( "42P21", klass );
589
+ }
590
+ {
591
+ VALUE klass = define_error_class( "IndeterminateCollation", "42" );
592
+ register_error_class( "42P22", klass );
593
+ }
594
+ {
595
+ VALUE klass = define_error_class( "WrongObjectType", "42" );
596
+ register_error_class( "42809", klass );
597
+ }
598
+ {
599
+ VALUE klass = define_error_class( "GeneratedAlways", "42" );
600
+ register_error_class( "428C9", klass );
601
+ }
602
+ {
603
+ VALUE klass = define_error_class( "UndefinedColumn", "42" );
604
+ register_error_class( "42703", klass );
605
+ }
606
+ {
607
+ VALUE klass = define_error_class( "UndefinedFunction", "42" );
608
+ register_error_class( "42883", klass );
609
+ }
610
+ {
611
+ VALUE klass = define_error_class( "UndefinedTable", "42" );
612
+ register_error_class( "42P01", klass );
613
+ }
614
+ {
615
+ VALUE klass = define_error_class( "UndefinedParameter", "42" );
616
+ register_error_class( "42P02", klass );
617
+ }
618
+ {
619
+ VALUE klass = define_error_class( "UndefinedObject", "42" );
620
+ register_error_class( "42704", klass );
621
+ }
622
+ {
623
+ VALUE klass = define_error_class( "DuplicateColumn", "42" );
624
+ register_error_class( "42701", klass );
625
+ }
626
+ {
627
+ VALUE klass = define_error_class( "DuplicateCursor", "42" );
628
+ register_error_class( "42P03", klass );
629
+ }
630
+ {
631
+ VALUE klass = define_error_class( "DuplicateDatabase", "42" );
632
+ register_error_class( "42P04", klass );
633
+ }
634
+ {
635
+ VALUE klass = define_error_class( "DuplicateFunction", "42" );
636
+ register_error_class( "42723", klass );
637
+ }
638
+ {
639
+ VALUE klass = define_error_class( "DuplicatePstatement", "42" );
640
+ register_error_class( "42P05", klass );
641
+ }
642
+ {
643
+ VALUE klass = define_error_class( "DuplicateSchema", "42" );
644
+ register_error_class( "42P06", klass );
645
+ }
646
+ {
647
+ VALUE klass = define_error_class( "DuplicateTable", "42" );
648
+ register_error_class( "42P07", klass );
649
+ }
650
+ {
651
+ VALUE klass = define_error_class( "DuplicateAlias", "42" );
652
+ register_error_class( "42712", klass );
653
+ }
654
+ {
655
+ VALUE klass = define_error_class( "DuplicateObject", "42" );
656
+ register_error_class( "42710", klass );
657
+ }
658
+ {
659
+ VALUE klass = define_error_class( "AmbiguousColumn", "42" );
660
+ register_error_class( "42702", klass );
661
+ }
662
+ {
663
+ VALUE klass = define_error_class( "AmbiguousFunction", "42" );
664
+ register_error_class( "42725", klass );
665
+ }
666
+ {
667
+ VALUE klass = define_error_class( "AmbiguousParameter", "42" );
668
+ register_error_class( "42P08", klass );
669
+ }
670
+ {
671
+ VALUE klass = define_error_class( "AmbiguousAlias", "42" );
672
+ register_error_class( "42P09", klass );
673
+ }
674
+ {
675
+ VALUE klass = define_error_class( "InvalidColumnReference", "42" );
676
+ register_error_class( "42P10", klass );
677
+ }
678
+ {
679
+ VALUE klass = define_error_class( "InvalidColumnDefinition", "42" );
680
+ register_error_class( "42611", klass );
681
+ }
682
+ {
683
+ VALUE klass = define_error_class( "InvalidCursorDefinition", "42" );
684
+ register_error_class( "42P11", klass );
685
+ }
686
+ {
687
+ VALUE klass = define_error_class( "InvalidDatabaseDefinition", "42" );
688
+ register_error_class( "42P12", klass );
689
+ }
690
+ {
691
+ VALUE klass = define_error_class( "InvalidFunctionDefinition", "42" );
692
+ register_error_class( "42P13", klass );
693
+ }
694
+ {
695
+ VALUE klass = define_error_class( "InvalidPstatementDefinition", "42" );
696
+ register_error_class( "42P14", klass );
697
+ }
698
+ {
699
+ VALUE klass = define_error_class( "InvalidSchemaDefinition", "42" );
700
+ register_error_class( "42P15", klass );
701
+ }
702
+ {
703
+ VALUE klass = define_error_class( "InvalidTableDefinition", "42" );
704
+ register_error_class( "42P16", klass );
705
+ }
706
+ {
707
+ VALUE klass = define_error_class( "InvalidObjectDefinition", "42" );
708
+ register_error_class( "42P17", klass );
709
+ }
710
+ {
711
+ VALUE klass = define_error_class( "WithCheckOptionViolation", NULL );
712
+ register_error_class( "44000", klass );
713
+ register_error_class( "44", klass );
714
+ }
715
+ {
716
+ VALUE klass = define_error_class( "InsufficientResources", NULL );
717
+ register_error_class( "53000", klass );
718
+ register_error_class( "53", klass );
719
+ }
720
+ {
721
+ VALUE klass = define_error_class( "DiskFull", "53" );
722
+ register_error_class( "53100", klass );
723
+ }
724
+ {
725
+ VALUE klass = define_error_class( "OutOfMemory", "53" );
726
+ register_error_class( "53200", klass );
727
+ }
728
+ {
729
+ VALUE klass = define_error_class( "TooManyConnections", "53" );
730
+ register_error_class( "53300", klass );
731
+ }
732
+ {
733
+ VALUE klass = define_error_class( "ConfigurationLimitExceeded", "53" );
734
+ register_error_class( "53400", klass );
735
+ }
736
+ {
737
+ VALUE klass = define_error_class( "ProgramLimitExceeded", NULL );
738
+ register_error_class( "54000", klass );
739
+ register_error_class( "54", klass );
740
+ }
741
+ {
742
+ VALUE klass = define_error_class( "StatementTooComplex", "54" );
743
+ register_error_class( "54001", klass );
744
+ }
745
+ {
746
+ VALUE klass = define_error_class( "TooManyColumns", "54" );
747
+ register_error_class( "54011", klass );
748
+ }
749
+ {
750
+ VALUE klass = define_error_class( "TooManyArguments", "54" );
751
+ register_error_class( "54023", klass );
752
+ }
753
+ {
754
+ VALUE klass = define_error_class( "ObjectNotInPrerequisiteState", NULL );
755
+ register_error_class( "55000", klass );
756
+ register_error_class( "55", klass );
757
+ }
758
+ {
759
+ VALUE klass = define_error_class( "ObjectInUse", "55" );
760
+ register_error_class( "55006", klass );
761
+ }
762
+ {
763
+ VALUE klass = define_error_class( "CantChangeRuntimeParam", "55" );
764
+ register_error_class( "55P02", klass );
765
+ }
766
+ {
767
+ VALUE klass = define_error_class( "LockNotAvailable", "55" );
768
+ register_error_class( "55P03", klass );
769
+ }
770
+ {
771
+ VALUE klass = define_error_class( "OperatorIntervention", NULL );
772
+ register_error_class( "57000", klass );
773
+ register_error_class( "57", klass );
774
+ }
775
+ {
776
+ VALUE klass = define_error_class( "QueryCanceled", "57" );
777
+ register_error_class( "57014", klass );
778
+ }
779
+ {
780
+ VALUE klass = define_error_class( "AdminShutdown", "57" );
781
+ register_error_class( "57P01", klass );
782
+ }
783
+ {
784
+ VALUE klass = define_error_class( "CrashShutdown", "57" );
785
+ register_error_class( "57P02", klass );
786
+ }
787
+ {
788
+ VALUE klass = define_error_class( "CannotConnectNow", "57" );
789
+ register_error_class( "57P03", klass );
790
+ }
791
+ {
792
+ VALUE klass = define_error_class( "DatabaseDropped", "57" );
793
+ register_error_class( "57P04", klass );
794
+ }
795
+ {
796
+ VALUE klass = define_error_class( "SystemError", NULL );
797
+ register_error_class( "58000", klass );
798
+ register_error_class( "58", klass );
799
+ }
800
+ {
801
+ VALUE klass = define_error_class( "IoError", "58" );
802
+ register_error_class( "58030", klass );
803
+ }
804
+ {
805
+ VALUE klass = define_error_class( "UndefinedFile", "58" );
806
+ register_error_class( "58P01", klass );
807
+ }
808
+ {
809
+ VALUE klass = define_error_class( "DuplicateFile", "58" );
810
+ register_error_class( "58P02", klass );
811
+ }
812
+ {
813
+ VALUE klass = define_error_class( "SnapshotTooOld", NULL );
814
+ register_error_class( "72000", klass );
815
+ register_error_class( "72", klass );
816
+ }
817
+ {
818
+ VALUE klass = define_error_class( "ConfigFileError", NULL );
819
+ register_error_class( "F0000", klass );
820
+ register_error_class( "F0", klass );
821
+ }
822
+ {
823
+ VALUE klass = define_error_class( "LockFileExists", "F0" );
824
+ register_error_class( "F0001", klass );
825
+ }
826
+ {
827
+ VALUE klass = define_error_class( "FdwError", NULL );
828
+ register_error_class( "HV000", klass );
829
+ register_error_class( "HV", klass );
830
+ }
831
+ {
832
+ VALUE klass = define_error_class( "FdwColumnNameNotFound", "HV" );
833
+ register_error_class( "HV005", klass );
834
+ }
835
+ {
836
+ VALUE klass = define_error_class( "FdwDynamicParameterValueNeeded", "HV" );
837
+ register_error_class( "HV002", klass );
838
+ }
839
+ {
840
+ VALUE klass = define_error_class( "FdwFunctionSequenceError", "HV" );
841
+ register_error_class( "HV010", klass );
842
+ }
843
+ {
844
+ VALUE klass = define_error_class( "FdwInconsistentDescriptorInformation", "HV" );
845
+ register_error_class( "HV021", klass );
846
+ }
847
+ {
848
+ VALUE klass = define_error_class( "FdwInvalidAttributeValue", "HV" );
849
+ register_error_class( "HV024", klass );
850
+ }
851
+ {
852
+ VALUE klass = define_error_class( "FdwInvalidColumnName", "HV" );
853
+ register_error_class( "HV007", klass );
854
+ }
855
+ {
856
+ VALUE klass = define_error_class( "FdwInvalidColumnNumber", "HV" );
857
+ register_error_class( "HV008", klass );
858
+ }
859
+ {
860
+ VALUE klass = define_error_class( "FdwInvalidDataType", "HV" );
861
+ register_error_class( "HV004", klass );
862
+ }
863
+ {
864
+ VALUE klass = define_error_class( "FdwInvalidDataTypeDescriptors", "HV" );
865
+ register_error_class( "HV006", klass );
866
+ }
867
+ {
868
+ VALUE klass = define_error_class( "FdwInvalidDescriptorFieldIdentifier", "HV" );
869
+ register_error_class( "HV091", klass );
870
+ }
871
+ {
872
+ VALUE klass = define_error_class( "FdwInvalidHandle", "HV" );
873
+ register_error_class( "HV00B", klass );
874
+ }
875
+ {
876
+ VALUE klass = define_error_class( "FdwInvalidOptionIndex", "HV" );
877
+ register_error_class( "HV00C", klass );
878
+ }
879
+ {
880
+ VALUE klass = define_error_class( "FdwInvalidOptionName", "HV" );
881
+ register_error_class( "HV00D", klass );
882
+ }
883
+ {
884
+ VALUE klass = define_error_class( "FdwInvalidStringLengthOrBufferLength", "HV" );
885
+ register_error_class( "HV090", klass );
886
+ }
887
+ {
888
+ VALUE klass = define_error_class( "FdwInvalidStringFormat", "HV" );
889
+ register_error_class( "HV00A", klass );
890
+ }
891
+ {
892
+ VALUE klass = define_error_class( "FdwInvalidUseOfNullPointer", "HV" );
893
+ register_error_class( "HV009", klass );
894
+ }
895
+ {
896
+ VALUE klass = define_error_class( "FdwTooManyHandles", "HV" );
897
+ register_error_class( "HV014", klass );
898
+ }
899
+ {
900
+ VALUE klass = define_error_class( "FdwOutOfMemory", "HV" );
901
+ register_error_class( "HV001", klass );
902
+ }
903
+ {
904
+ VALUE klass = define_error_class( "FdwNoSchemas", "HV" );
905
+ register_error_class( "HV00P", klass );
906
+ }
907
+ {
908
+ VALUE klass = define_error_class( "FdwOptionNameNotFound", "HV" );
909
+ register_error_class( "HV00J", klass );
910
+ }
911
+ {
912
+ VALUE klass = define_error_class( "FdwReplyHandle", "HV" );
913
+ register_error_class( "HV00K", klass );
914
+ }
915
+ {
916
+ VALUE klass = define_error_class( "FdwSchemaNotFound", "HV" );
917
+ register_error_class( "HV00Q", klass );
918
+ }
919
+ {
920
+ VALUE klass = define_error_class( "FdwTableNotFound", "HV" );
921
+ register_error_class( "HV00R", klass );
922
+ }
923
+ {
924
+ VALUE klass = define_error_class( "FdwUnableToCreateExecution", "HV" );
925
+ register_error_class( "HV00L", klass );
926
+ }
927
+ {
928
+ VALUE klass = define_error_class( "FdwUnableToCreateReply", "HV" );
929
+ register_error_class( "HV00M", klass );
930
+ }
931
+ {
932
+ VALUE klass = define_error_class( "FdwUnableToEstablishConnection", "HV" );
933
+ register_error_class( "HV00N", klass );
934
+ }
935
+ {
936
+ VALUE klass = define_error_class( "PlpgsqlError", NULL );
937
+ register_error_class( "P0000", klass );
938
+ register_error_class( "P0", klass );
939
+ }
940
+ {
941
+ VALUE klass = define_error_class( "RaiseException", "P0" );
942
+ register_error_class( "P0001", klass );
943
+ }
944
+ {
945
+ VALUE klass = define_error_class( "NoDataFound", "P0" );
946
+ register_error_class( "P0002", klass );
947
+ }
948
+ {
949
+ VALUE klass = define_error_class( "TooManyRows", "P0" );
950
+ register_error_class( "P0003", klass );
951
+ }
952
+ {
953
+ VALUE klass = define_error_class( "AssertFailure", "P0" );
954
+ register_error_class( "P0004", klass );
955
+ }
956
+ {
957
+ VALUE klass = define_error_class( "InternalError", NULL );
958
+ register_error_class( "XX000", klass );
959
+ register_error_class( "XX", klass );
960
+ }
961
+ {
962
+ VALUE klass = define_error_class( "DataCorrupted", "XX" );
963
+ register_error_class( "XX001", klass );
964
+ }
965
+ {
966
+ VALUE klass = define_error_class( "IndexCorrupted", "XX" );
967
+ register_error_class( "XX002", klass );
968
+ }