pg 1.6.0.rc1-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +4 -0
  3. data/BSDL +22 -0
  4. data/Contributors.rdoc +46 -0
  5. data/Gemfile +23 -0
  6. data/History.md +958 -0
  7. data/LICENSE +56 -0
  8. data/Manifest.txt +72 -0
  9. data/POSTGRES +23 -0
  10. data/README-OS_X.rdoc +68 -0
  11. data/README-Windows.rdoc +56 -0
  12. data/README.ja.md +300 -0
  13. data/README.md +286 -0
  14. data/Rakefile +161 -0
  15. data/certs/ged.pem +24 -0
  16. data/certs/kanis@comcard.de.pem +20 -0
  17. data/certs/larskanis-2022.pem +26 -0
  18. data/certs/larskanis-2023.pem +24 -0
  19. data/certs/larskanis-2024.pem +24 -0
  20. data/ext/errorcodes.def +1043 -0
  21. data/ext/errorcodes.rb +45 -0
  22. data/ext/errorcodes.txt +494 -0
  23. data/ext/extconf.rb +282 -0
  24. data/ext/gvl_wrappers.c +32 -0
  25. data/ext/gvl_wrappers.h +297 -0
  26. data/ext/pg.c +703 -0
  27. data/ext/pg.h +390 -0
  28. data/ext/pg_binary_decoder.c +460 -0
  29. data/ext/pg_binary_encoder.c +583 -0
  30. data/ext/pg_cancel_connection.c +360 -0
  31. data/ext/pg_coder.c +622 -0
  32. data/ext/pg_connection.c +4869 -0
  33. data/ext/pg_copy_coder.c +921 -0
  34. data/ext/pg_errors.c +95 -0
  35. data/ext/pg_record_coder.c +522 -0
  36. data/ext/pg_result.c +1764 -0
  37. data/ext/pg_text_decoder.c +1008 -0
  38. data/ext/pg_text_encoder.c +833 -0
  39. data/ext/pg_tuple.c +572 -0
  40. data/ext/pg_type_map.c +200 -0
  41. data/ext/pg_type_map_all_strings.c +130 -0
  42. data/ext/pg_type_map_by_class.c +271 -0
  43. data/ext/pg_type_map_by_column.c +355 -0
  44. data/ext/pg_type_map_by_mri_type.c +313 -0
  45. data/ext/pg_type_map_by_oid.c +388 -0
  46. data/ext/pg_type_map_in_ruby.c +333 -0
  47. data/ext/pg_util.c +149 -0
  48. data/ext/pg_util.h +65 -0
  49. data/ext/vc/pg.sln +26 -0
  50. data/ext/vc/pg_18/pg.vcproj +216 -0
  51. data/ext/vc/pg_19/pg_19.vcproj +209 -0
  52. data/lib/2.7/pg_ext.so +0 -0
  53. data/lib/3.0/pg_ext.so +0 -0
  54. data/lib/3.1/pg_ext.so +0 -0
  55. data/lib/3.2/pg_ext.so +0 -0
  56. data/lib/3.3/pg_ext.so +0 -0
  57. data/lib/pg/basic_type_map_based_on_result.rb +67 -0
  58. data/lib/pg/basic_type_map_for_queries.rb +202 -0
  59. data/lib/pg/basic_type_map_for_results.rb +104 -0
  60. data/lib/pg/basic_type_registry.rb +311 -0
  61. data/lib/pg/binary_decoder/date.rb +9 -0
  62. data/lib/pg/binary_decoder/timestamp.rb +26 -0
  63. data/lib/pg/binary_encoder/timestamp.rb +20 -0
  64. data/lib/pg/cancel_connection.rb +30 -0
  65. data/lib/pg/coder.rb +106 -0
  66. data/lib/pg/connection.rb +1027 -0
  67. data/lib/pg/exceptions.rb +31 -0
  68. data/lib/pg/result.rb +43 -0
  69. data/lib/pg/text_decoder/date.rb +21 -0
  70. data/lib/pg/text_decoder/inet.rb +9 -0
  71. data/lib/pg/text_decoder/json.rb +17 -0
  72. data/lib/pg/text_decoder/numeric.rb +9 -0
  73. data/lib/pg/text_decoder/timestamp.rb +30 -0
  74. data/lib/pg/text_encoder/date.rb +13 -0
  75. data/lib/pg/text_encoder/inet.rb +31 -0
  76. data/lib/pg/text_encoder/json.rb +17 -0
  77. data/lib/pg/text_encoder/numeric.rb +9 -0
  78. data/lib/pg/text_encoder/timestamp.rb +24 -0
  79. data/lib/pg/tuple.rb +30 -0
  80. data/lib/pg/type_map_by_column.rb +16 -0
  81. data/lib/pg/version.rb +4 -0
  82. data/lib/pg.rb +144 -0
  83. data/misc/openssl-pg-segfault.rb +31 -0
  84. data/misc/postgres/History.txt +9 -0
  85. data/misc/postgres/Manifest.txt +5 -0
  86. data/misc/postgres/README.txt +21 -0
  87. data/misc/postgres/Rakefile +21 -0
  88. data/misc/postgres/lib/postgres.rb +16 -0
  89. data/misc/ruby-pg/History.txt +9 -0
  90. data/misc/ruby-pg/Manifest.txt +5 -0
  91. data/misc/ruby-pg/README.txt +21 -0
  92. data/misc/ruby-pg/Rakefile +21 -0
  93. data/misc/ruby-pg/lib/ruby/pg.rb +16 -0
  94. data/pg.gemspec +36 -0
  95. data/ports/x86_64-linux/lib/libpq-ruby-pg.so.1 +0 -0
  96. data/rakelib/task_extension.rb +46 -0
  97. data/sample/array_insert.rb +20 -0
  98. data/sample/async_api.rb +102 -0
  99. data/sample/async_copyto.rb +39 -0
  100. data/sample/async_mixed.rb +56 -0
  101. data/sample/check_conn.rb +21 -0
  102. data/sample/copydata.rb +71 -0
  103. data/sample/copyfrom.rb +81 -0
  104. data/sample/copyto.rb +19 -0
  105. data/sample/cursor.rb +21 -0
  106. data/sample/disk_usage_report.rb +177 -0
  107. data/sample/issue-119.rb +94 -0
  108. data/sample/losample.rb +69 -0
  109. data/sample/minimal-testcase.rb +17 -0
  110. data/sample/notify_wait.rb +72 -0
  111. data/sample/pg_statistics.rb +285 -0
  112. data/sample/replication_monitor.rb +222 -0
  113. data/sample/test_binary_values.rb +33 -0
  114. data/sample/wal_shipper.rb +434 -0
  115. data/sample/warehouse_partitions.rb +311 -0
  116. data.tar.gz.sig +0 -0
  117. metadata +252 -0
  118. metadata.gz.sig +0 -0
@@ -0,0 +1,1043 @@
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( "DuplicateJsonObjectKeyValue", "22" );
307
+ register_error_class( "22030", klass );
308
+ }
309
+ {
310
+ VALUE klass = define_error_class( "InvalidArgumentForSqlJsonDatetimeFunction", "22" );
311
+ register_error_class( "22031", klass );
312
+ }
313
+ {
314
+ VALUE klass = define_error_class( "InvalidJsonText", "22" );
315
+ register_error_class( "22032", klass );
316
+ }
317
+ {
318
+ VALUE klass = define_error_class( "InvalidSqlJsonSubscript", "22" );
319
+ register_error_class( "22033", klass );
320
+ }
321
+ {
322
+ VALUE klass = define_error_class( "MoreThanOneSqlJsonItem", "22" );
323
+ register_error_class( "22034", klass );
324
+ }
325
+ {
326
+ VALUE klass = define_error_class( "NoSqlJsonItem", "22" );
327
+ register_error_class( "22035", klass );
328
+ }
329
+ {
330
+ VALUE klass = define_error_class( "NonNumericSqlJsonItem", "22" );
331
+ register_error_class( "22036", klass );
332
+ }
333
+ {
334
+ VALUE klass = define_error_class( "NonUniqueKeysInAJsonObject", "22" );
335
+ register_error_class( "22037", klass );
336
+ }
337
+ {
338
+ VALUE klass = define_error_class( "SingletonSqlJsonItemRequired", "22" );
339
+ register_error_class( "22038", klass );
340
+ }
341
+ {
342
+ VALUE klass = define_error_class( "SqlJsonArrayNotFound", "22" );
343
+ register_error_class( "22039", klass );
344
+ }
345
+ {
346
+ VALUE klass = define_error_class( "SqlJsonMemberNotFound", "22" );
347
+ register_error_class( "2203A", klass );
348
+ }
349
+ {
350
+ VALUE klass = define_error_class( "SqlJsonNumberNotFound", "22" );
351
+ register_error_class( "2203B", klass );
352
+ }
353
+ {
354
+ VALUE klass = define_error_class( "SqlJsonObjectNotFound", "22" );
355
+ register_error_class( "2203C", klass );
356
+ }
357
+ {
358
+ VALUE klass = define_error_class( "TooManyJsonArrayElements", "22" );
359
+ register_error_class( "2203D", klass );
360
+ }
361
+ {
362
+ VALUE klass = define_error_class( "TooManyJsonObjectMembers", "22" );
363
+ register_error_class( "2203E", klass );
364
+ }
365
+ {
366
+ VALUE klass = define_error_class( "SqlJsonScalarRequired", "22" );
367
+ register_error_class( "2203F", klass );
368
+ }
369
+ {
370
+ VALUE klass = define_error_class( "SqlJsonItemCannotBeCastToTargetType", "22" );
371
+ register_error_class( "2203G", klass );
372
+ }
373
+ {
374
+ VALUE klass = define_error_class( "IntegrityConstraintViolation", NULL );
375
+ register_error_class( "23000", klass );
376
+ register_error_class( "23", klass );
377
+ }
378
+ {
379
+ VALUE klass = define_error_class( "RestrictViolation", "23" );
380
+ register_error_class( "23001", klass );
381
+ }
382
+ {
383
+ VALUE klass = define_error_class( "NotNullViolation", "23" );
384
+ register_error_class( "23502", klass );
385
+ }
386
+ {
387
+ VALUE klass = define_error_class( "ForeignKeyViolation", "23" );
388
+ register_error_class( "23503", klass );
389
+ }
390
+ {
391
+ VALUE klass = define_error_class( "UniqueViolation", "23" );
392
+ register_error_class( "23505", klass );
393
+ }
394
+ {
395
+ VALUE klass = define_error_class( "CheckViolation", "23" );
396
+ register_error_class( "23514", klass );
397
+ }
398
+ {
399
+ VALUE klass = define_error_class( "ExclusionViolation", "23" );
400
+ register_error_class( "23P01", klass );
401
+ }
402
+ {
403
+ VALUE klass = define_error_class( "InvalidCursorState", NULL );
404
+ register_error_class( "24000", klass );
405
+ register_error_class( "24", klass );
406
+ }
407
+ {
408
+ VALUE klass = define_error_class( "InvalidTransactionState", NULL );
409
+ register_error_class( "25000", klass );
410
+ register_error_class( "25", klass );
411
+ }
412
+ {
413
+ VALUE klass = define_error_class( "ActiveSqlTransaction", "25" );
414
+ register_error_class( "25001", klass );
415
+ }
416
+ {
417
+ VALUE klass = define_error_class( "BranchTransactionAlreadyActive", "25" );
418
+ register_error_class( "25002", klass );
419
+ }
420
+ {
421
+ VALUE klass = define_error_class( "HeldCursorRequiresSameIsolationLevel", "25" );
422
+ register_error_class( "25008", klass );
423
+ }
424
+ {
425
+ VALUE klass = define_error_class( "InappropriateAccessModeForBranchTransaction", "25" );
426
+ register_error_class( "25003", klass );
427
+ }
428
+ {
429
+ VALUE klass = define_error_class( "InappropriateIsolationLevelForBranchTransaction", "25" );
430
+ register_error_class( "25004", klass );
431
+ }
432
+ {
433
+ VALUE klass = define_error_class( "NoActiveSqlTransactionForBranchTransaction", "25" );
434
+ register_error_class( "25005", klass );
435
+ }
436
+ {
437
+ VALUE klass = define_error_class( "ReadOnlySqlTransaction", "25" );
438
+ register_error_class( "25006", klass );
439
+ }
440
+ {
441
+ VALUE klass = define_error_class( "SchemaAndDataStatementMixingNotSupported", "25" );
442
+ register_error_class( "25007", klass );
443
+ }
444
+ {
445
+ VALUE klass = define_error_class( "NoActiveSqlTransaction", "25" );
446
+ register_error_class( "25P01", klass );
447
+ }
448
+ {
449
+ VALUE klass = define_error_class( "InFailedSqlTransaction", "25" );
450
+ register_error_class( "25P02", klass );
451
+ }
452
+ {
453
+ VALUE klass = define_error_class( "IdleInTransactionSessionTimeout", "25" );
454
+ register_error_class( "25P03", klass );
455
+ }
456
+ {
457
+ VALUE klass = define_error_class( "TransactionTimeout", "25" );
458
+ register_error_class( "25P04", klass );
459
+ }
460
+ {
461
+ VALUE klass = define_error_class( "InvalidSqlStatementName", NULL );
462
+ register_error_class( "26000", klass );
463
+ register_error_class( "26", klass );
464
+ }
465
+ {
466
+ VALUE klass = define_error_class( "TriggeredDataChangeViolation", NULL );
467
+ register_error_class( "27000", klass );
468
+ register_error_class( "27", klass );
469
+ }
470
+ {
471
+ VALUE klass = define_error_class( "InvalidAuthorizationSpecification", NULL );
472
+ register_error_class( "28000", klass );
473
+ register_error_class( "28", klass );
474
+ }
475
+ {
476
+ VALUE klass = define_error_class( "InvalidPassword", "28" );
477
+ register_error_class( "28P01", klass );
478
+ }
479
+ {
480
+ VALUE klass = define_error_class( "DependentPrivilegeDescriptorsStillExist", NULL );
481
+ register_error_class( "2B000", klass );
482
+ register_error_class( "2B", klass );
483
+ }
484
+ {
485
+ VALUE klass = define_error_class( "DependentObjectsStillExist", "2B" );
486
+ register_error_class( "2BP01", klass );
487
+ }
488
+ {
489
+ VALUE klass = define_error_class( "InvalidTransactionTermination", NULL );
490
+ register_error_class( "2D000", klass );
491
+ register_error_class( "2D", klass );
492
+ }
493
+ {
494
+ VALUE klass = define_error_class( "SqlRoutineException", NULL );
495
+ register_error_class( "2F000", klass );
496
+ register_error_class( "2F", klass );
497
+ }
498
+ {
499
+ VALUE klass = define_error_class( "SREFunctionExecutedNoReturnStatement", "2F" );
500
+ register_error_class( "2F005", klass );
501
+ }
502
+ {
503
+ VALUE klass = define_error_class( "SREModifyingSqlDataNotPermitted", "2F" );
504
+ register_error_class( "2F002", klass );
505
+ }
506
+ {
507
+ VALUE klass = define_error_class( "SREProhibitedSqlStatementAttempted", "2F" );
508
+ register_error_class( "2F003", klass );
509
+ }
510
+ {
511
+ VALUE klass = define_error_class( "SREReadingSqlDataNotPermitted", "2F" );
512
+ register_error_class( "2F004", klass );
513
+ }
514
+ {
515
+ VALUE klass = define_error_class( "InvalidCursorName", NULL );
516
+ register_error_class( "34000", klass );
517
+ register_error_class( "34", klass );
518
+ }
519
+ {
520
+ VALUE klass = define_error_class( "ExternalRoutineException", NULL );
521
+ register_error_class( "38000", klass );
522
+ register_error_class( "38", klass );
523
+ }
524
+ {
525
+ VALUE klass = define_error_class( "EREContainingSqlNotPermitted", "38" );
526
+ register_error_class( "38001", klass );
527
+ }
528
+ {
529
+ VALUE klass = define_error_class( "EREModifyingSqlDataNotPermitted", "38" );
530
+ register_error_class( "38002", klass );
531
+ }
532
+ {
533
+ VALUE klass = define_error_class( "EREProhibitedSqlStatementAttempted", "38" );
534
+ register_error_class( "38003", klass );
535
+ }
536
+ {
537
+ VALUE klass = define_error_class( "EREReadingSqlDataNotPermitted", "38" );
538
+ register_error_class( "38004", klass );
539
+ }
540
+ {
541
+ VALUE klass = define_error_class( "ExternalRoutineInvocationException", NULL );
542
+ register_error_class( "39000", klass );
543
+ register_error_class( "39", klass );
544
+ }
545
+ {
546
+ VALUE klass = define_error_class( "ERIEInvalidSqlstateReturned", "39" );
547
+ register_error_class( "39001", klass );
548
+ }
549
+ {
550
+ VALUE klass = define_error_class( "ERIENullValueNotAllowed", "39" );
551
+ register_error_class( "39004", klass );
552
+ }
553
+ {
554
+ VALUE klass = define_error_class( "ERIETriggerProtocolViolated", "39" );
555
+ register_error_class( "39P01", klass );
556
+ }
557
+ {
558
+ VALUE klass = define_error_class( "ERIESrfProtocolViolated", "39" );
559
+ register_error_class( "39P02", klass );
560
+ }
561
+ {
562
+ VALUE klass = define_error_class( "ERIEEventTriggerProtocolViolated", "39" );
563
+ register_error_class( "39P03", klass );
564
+ }
565
+ {
566
+ VALUE klass = define_error_class( "SavepointException", NULL );
567
+ register_error_class( "3B000", klass );
568
+ register_error_class( "3B", klass );
569
+ }
570
+ {
571
+ VALUE klass = define_error_class( "SEInvalidSpecification", "3B" );
572
+ register_error_class( "3B001", klass );
573
+ }
574
+ {
575
+ VALUE klass = define_error_class( "InvalidCatalogName", NULL );
576
+ register_error_class( "3D000", klass );
577
+ register_error_class( "3D", klass );
578
+ }
579
+ {
580
+ VALUE klass = define_error_class( "InvalidSchemaName", NULL );
581
+ register_error_class( "3F000", klass );
582
+ register_error_class( "3F", klass );
583
+ }
584
+ {
585
+ VALUE klass = define_error_class( "TransactionRollback", NULL );
586
+ register_error_class( "40000", klass );
587
+ register_error_class( "40", klass );
588
+ }
589
+ {
590
+ VALUE klass = define_error_class( "TRIntegrityConstraintViolation", "40" );
591
+ register_error_class( "40002", klass );
592
+ }
593
+ {
594
+ VALUE klass = define_error_class( "TRSerializationFailure", "40" );
595
+ register_error_class( "40001", klass );
596
+ }
597
+ {
598
+ VALUE klass = define_error_class( "TRStatementCompletionUnknown", "40" );
599
+ register_error_class( "40003", klass );
600
+ }
601
+ {
602
+ VALUE klass = define_error_class( "TRDeadlockDetected", "40" );
603
+ register_error_class( "40P01", klass );
604
+ }
605
+ {
606
+ VALUE klass = define_error_class( "SyntaxErrorOrAccessRuleViolation", NULL );
607
+ register_error_class( "42000", klass );
608
+ register_error_class( "42", klass );
609
+ }
610
+ {
611
+ VALUE klass = define_error_class( "SyntaxError", "42" );
612
+ register_error_class( "42601", klass );
613
+ }
614
+ {
615
+ VALUE klass = define_error_class( "InsufficientPrivilege", "42" );
616
+ register_error_class( "42501", klass );
617
+ }
618
+ {
619
+ VALUE klass = define_error_class( "CannotCoerce", "42" );
620
+ register_error_class( "42846", klass );
621
+ }
622
+ {
623
+ VALUE klass = define_error_class( "GroupingError", "42" );
624
+ register_error_class( "42803", klass );
625
+ }
626
+ {
627
+ VALUE klass = define_error_class( "WindowingError", "42" );
628
+ register_error_class( "42P20", klass );
629
+ }
630
+ {
631
+ VALUE klass = define_error_class( "InvalidRecursion", "42" );
632
+ register_error_class( "42P19", klass );
633
+ }
634
+ {
635
+ VALUE klass = define_error_class( "InvalidForeignKey", "42" );
636
+ register_error_class( "42830", klass );
637
+ }
638
+ {
639
+ VALUE klass = define_error_class( "InvalidName", "42" );
640
+ register_error_class( "42602", klass );
641
+ }
642
+ {
643
+ VALUE klass = define_error_class( "NameTooLong", "42" );
644
+ register_error_class( "42622", klass );
645
+ }
646
+ {
647
+ VALUE klass = define_error_class( "ReservedName", "42" );
648
+ register_error_class( "42939", klass );
649
+ }
650
+ {
651
+ VALUE klass = define_error_class( "DatatypeMismatch", "42" );
652
+ register_error_class( "42804", klass );
653
+ }
654
+ {
655
+ VALUE klass = define_error_class( "IndeterminateDatatype", "42" );
656
+ register_error_class( "42P18", klass );
657
+ }
658
+ {
659
+ VALUE klass = define_error_class( "CollationMismatch", "42" );
660
+ register_error_class( "42P21", klass );
661
+ }
662
+ {
663
+ VALUE klass = define_error_class( "IndeterminateCollation", "42" );
664
+ register_error_class( "42P22", klass );
665
+ }
666
+ {
667
+ VALUE klass = define_error_class( "WrongObjectType", "42" );
668
+ register_error_class( "42809", klass );
669
+ }
670
+ {
671
+ VALUE klass = define_error_class( "GeneratedAlways", "42" );
672
+ register_error_class( "428C9", klass );
673
+ }
674
+ {
675
+ VALUE klass = define_error_class( "UndefinedColumn", "42" );
676
+ register_error_class( "42703", klass );
677
+ }
678
+ {
679
+ VALUE klass = define_error_class( "UndefinedFunction", "42" );
680
+ register_error_class( "42883", klass );
681
+ }
682
+ {
683
+ VALUE klass = define_error_class( "UndefinedTable", "42" );
684
+ register_error_class( "42P01", klass );
685
+ }
686
+ {
687
+ VALUE klass = define_error_class( "UndefinedParameter", "42" );
688
+ register_error_class( "42P02", klass );
689
+ }
690
+ {
691
+ VALUE klass = define_error_class( "UndefinedObject", "42" );
692
+ register_error_class( "42704", klass );
693
+ }
694
+ {
695
+ VALUE klass = define_error_class( "DuplicateColumn", "42" );
696
+ register_error_class( "42701", klass );
697
+ }
698
+ {
699
+ VALUE klass = define_error_class( "DuplicateCursor", "42" );
700
+ register_error_class( "42P03", klass );
701
+ }
702
+ {
703
+ VALUE klass = define_error_class( "DuplicateDatabase", "42" );
704
+ register_error_class( "42P04", klass );
705
+ }
706
+ {
707
+ VALUE klass = define_error_class( "DuplicateFunction", "42" );
708
+ register_error_class( "42723", klass );
709
+ }
710
+ {
711
+ VALUE klass = define_error_class( "DuplicatePstatement", "42" );
712
+ register_error_class( "42P05", klass );
713
+ }
714
+ {
715
+ VALUE klass = define_error_class( "DuplicateSchema", "42" );
716
+ register_error_class( "42P06", klass );
717
+ }
718
+ {
719
+ VALUE klass = define_error_class( "DuplicateTable", "42" );
720
+ register_error_class( "42P07", klass );
721
+ }
722
+ {
723
+ VALUE klass = define_error_class( "DuplicateAlias", "42" );
724
+ register_error_class( "42712", klass );
725
+ }
726
+ {
727
+ VALUE klass = define_error_class( "DuplicateObject", "42" );
728
+ register_error_class( "42710", klass );
729
+ }
730
+ {
731
+ VALUE klass = define_error_class( "AmbiguousColumn", "42" );
732
+ register_error_class( "42702", klass );
733
+ }
734
+ {
735
+ VALUE klass = define_error_class( "AmbiguousFunction", "42" );
736
+ register_error_class( "42725", klass );
737
+ }
738
+ {
739
+ VALUE klass = define_error_class( "AmbiguousParameter", "42" );
740
+ register_error_class( "42P08", klass );
741
+ }
742
+ {
743
+ VALUE klass = define_error_class( "AmbiguousAlias", "42" );
744
+ register_error_class( "42P09", klass );
745
+ }
746
+ {
747
+ VALUE klass = define_error_class( "InvalidColumnReference", "42" );
748
+ register_error_class( "42P10", klass );
749
+ }
750
+ {
751
+ VALUE klass = define_error_class( "InvalidColumnDefinition", "42" );
752
+ register_error_class( "42611", klass );
753
+ }
754
+ {
755
+ VALUE klass = define_error_class( "InvalidCursorDefinition", "42" );
756
+ register_error_class( "42P11", klass );
757
+ }
758
+ {
759
+ VALUE klass = define_error_class( "InvalidDatabaseDefinition", "42" );
760
+ register_error_class( "42P12", klass );
761
+ }
762
+ {
763
+ VALUE klass = define_error_class( "InvalidFunctionDefinition", "42" );
764
+ register_error_class( "42P13", klass );
765
+ }
766
+ {
767
+ VALUE klass = define_error_class( "InvalidPstatementDefinition", "42" );
768
+ register_error_class( "42P14", klass );
769
+ }
770
+ {
771
+ VALUE klass = define_error_class( "InvalidSchemaDefinition", "42" );
772
+ register_error_class( "42P15", klass );
773
+ }
774
+ {
775
+ VALUE klass = define_error_class( "InvalidTableDefinition", "42" );
776
+ register_error_class( "42P16", klass );
777
+ }
778
+ {
779
+ VALUE klass = define_error_class( "InvalidObjectDefinition", "42" );
780
+ register_error_class( "42P17", klass );
781
+ }
782
+ {
783
+ VALUE klass = define_error_class( "WithCheckOptionViolation", NULL );
784
+ register_error_class( "44000", klass );
785
+ register_error_class( "44", klass );
786
+ }
787
+ {
788
+ VALUE klass = define_error_class( "InsufficientResources", NULL );
789
+ register_error_class( "53000", klass );
790
+ register_error_class( "53", klass );
791
+ }
792
+ {
793
+ VALUE klass = define_error_class( "DiskFull", "53" );
794
+ register_error_class( "53100", klass );
795
+ }
796
+ {
797
+ VALUE klass = define_error_class( "OutOfMemory", "53" );
798
+ register_error_class( "53200", klass );
799
+ }
800
+ {
801
+ VALUE klass = define_error_class( "TooManyConnections", "53" );
802
+ register_error_class( "53300", klass );
803
+ }
804
+ {
805
+ VALUE klass = define_error_class( "ConfigurationLimitExceeded", "53" );
806
+ register_error_class( "53400", klass );
807
+ }
808
+ {
809
+ VALUE klass = define_error_class( "ProgramLimitExceeded", NULL );
810
+ register_error_class( "54000", klass );
811
+ register_error_class( "54", klass );
812
+ }
813
+ {
814
+ VALUE klass = define_error_class( "StatementTooComplex", "54" );
815
+ register_error_class( "54001", klass );
816
+ }
817
+ {
818
+ VALUE klass = define_error_class( "TooManyColumns", "54" );
819
+ register_error_class( "54011", klass );
820
+ }
821
+ {
822
+ VALUE klass = define_error_class( "TooManyArguments", "54" );
823
+ register_error_class( "54023", klass );
824
+ }
825
+ {
826
+ VALUE klass = define_error_class( "ObjectNotInPrerequisiteState", NULL );
827
+ register_error_class( "55000", klass );
828
+ register_error_class( "55", klass );
829
+ }
830
+ {
831
+ VALUE klass = define_error_class( "ObjectInUse", "55" );
832
+ register_error_class( "55006", klass );
833
+ }
834
+ {
835
+ VALUE klass = define_error_class( "CantChangeRuntimeParam", "55" );
836
+ register_error_class( "55P02", klass );
837
+ }
838
+ {
839
+ VALUE klass = define_error_class( "LockNotAvailable", "55" );
840
+ register_error_class( "55P03", klass );
841
+ }
842
+ {
843
+ VALUE klass = define_error_class( "UnsafeNewEnumValueUsage", "55" );
844
+ register_error_class( "55P04", klass );
845
+ }
846
+ {
847
+ VALUE klass = define_error_class( "OperatorIntervention", NULL );
848
+ register_error_class( "57000", klass );
849
+ register_error_class( "57", klass );
850
+ }
851
+ {
852
+ VALUE klass = define_error_class( "QueryCanceled", "57" );
853
+ register_error_class( "57014", klass );
854
+ }
855
+ {
856
+ VALUE klass = define_error_class( "AdminShutdown", "57" );
857
+ register_error_class( "57P01", klass );
858
+ }
859
+ {
860
+ VALUE klass = define_error_class( "CrashShutdown", "57" );
861
+ register_error_class( "57P02", klass );
862
+ }
863
+ {
864
+ VALUE klass = define_error_class( "CannotConnectNow", "57" );
865
+ register_error_class( "57P03", klass );
866
+ }
867
+ {
868
+ VALUE klass = define_error_class( "DatabaseDropped", "57" );
869
+ register_error_class( "57P04", klass );
870
+ }
871
+ {
872
+ VALUE klass = define_error_class( "IdleSessionTimeout", "57" );
873
+ register_error_class( "57P05", klass );
874
+ }
875
+ {
876
+ VALUE klass = define_error_class( "SystemError", NULL );
877
+ register_error_class( "58000", klass );
878
+ register_error_class( "58", klass );
879
+ }
880
+ {
881
+ VALUE klass = define_error_class( "IoError", "58" );
882
+ register_error_class( "58030", klass );
883
+ }
884
+ {
885
+ VALUE klass = define_error_class( "UndefinedFile", "58" );
886
+ register_error_class( "58P01", klass );
887
+ }
888
+ {
889
+ VALUE klass = define_error_class( "DuplicateFile", "58" );
890
+ register_error_class( "58P02", klass );
891
+ }
892
+ {
893
+ VALUE klass = define_error_class( "ConfigFileError", NULL );
894
+ register_error_class( "F0000", klass );
895
+ register_error_class( "F0", klass );
896
+ }
897
+ {
898
+ VALUE klass = define_error_class( "LockFileExists", "F0" );
899
+ register_error_class( "F0001", klass );
900
+ }
901
+ {
902
+ VALUE klass = define_error_class( "FdwError", NULL );
903
+ register_error_class( "HV000", klass );
904
+ register_error_class( "HV", klass );
905
+ }
906
+ {
907
+ VALUE klass = define_error_class( "FdwColumnNameNotFound", "HV" );
908
+ register_error_class( "HV005", klass );
909
+ }
910
+ {
911
+ VALUE klass = define_error_class( "FdwDynamicParameterValueNeeded", "HV" );
912
+ register_error_class( "HV002", klass );
913
+ }
914
+ {
915
+ VALUE klass = define_error_class( "FdwFunctionSequenceError", "HV" );
916
+ register_error_class( "HV010", klass );
917
+ }
918
+ {
919
+ VALUE klass = define_error_class( "FdwInconsistentDescriptorInformation", "HV" );
920
+ register_error_class( "HV021", klass );
921
+ }
922
+ {
923
+ VALUE klass = define_error_class( "FdwInvalidAttributeValue", "HV" );
924
+ register_error_class( "HV024", klass );
925
+ }
926
+ {
927
+ VALUE klass = define_error_class( "FdwInvalidColumnName", "HV" );
928
+ register_error_class( "HV007", klass );
929
+ }
930
+ {
931
+ VALUE klass = define_error_class( "FdwInvalidColumnNumber", "HV" );
932
+ register_error_class( "HV008", klass );
933
+ }
934
+ {
935
+ VALUE klass = define_error_class( "FdwInvalidDataType", "HV" );
936
+ register_error_class( "HV004", klass );
937
+ }
938
+ {
939
+ VALUE klass = define_error_class( "FdwInvalidDataTypeDescriptors", "HV" );
940
+ register_error_class( "HV006", klass );
941
+ }
942
+ {
943
+ VALUE klass = define_error_class( "FdwInvalidDescriptorFieldIdentifier", "HV" );
944
+ register_error_class( "HV091", klass );
945
+ }
946
+ {
947
+ VALUE klass = define_error_class( "FdwInvalidHandle", "HV" );
948
+ register_error_class( "HV00B", klass );
949
+ }
950
+ {
951
+ VALUE klass = define_error_class( "FdwInvalidOptionIndex", "HV" );
952
+ register_error_class( "HV00C", klass );
953
+ }
954
+ {
955
+ VALUE klass = define_error_class( "FdwInvalidOptionName", "HV" );
956
+ register_error_class( "HV00D", klass );
957
+ }
958
+ {
959
+ VALUE klass = define_error_class( "FdwInvalidStringLengthOrBufferLength", "HV" );
960
+ register_error_class( "HV090", klass );
961
+ }
962
+ {
963
+ VALUE klass = define_error_class( "FdwInvalidStringFormat", "HV" );
964
+ register_error_class( "HV00A", klass );
965
+ }
966
+ {
967
+ VALUE klass = define_error_class( "FdwInvalidUseOfNullPointer", "HV" );
968
+ register_error_class( "HV009", klass );
969
+ }
970
+ {
971
+ VALUE klass = define_error_class( "FdwTooManyHandles", "HV" );
972
+ register_error_class( "HV014", klass );
973
+ }
974
+ {
975
+ VALUE klass = define_error_class( "FdwOutOfMemory", "HV" );
976
+ register_error_class( "HV001", klass );
977
+ }
978
+ {
979
+ VALUE klass = define_error_class( "FdwNoSchemas", "HV" );
980
+ register_error_class( "HV00P", klass );
981
+ }
982
+ {
983
+ VALUE klass = define_error_class( "FdwOptionNameNotFound", "HV" );
984
+ register_error_class( "HV00J", klass );
985
+ }
986
+ {
987
+ VALUE klass = define_error_class( "FdwReplyHandle", "HV" );
988
+ register_error_class( "HV00K", klass );
989
+ }
990
+ {
991
+ VALUE klass = define_error_class( "FdwSchemaNotFound", "HV" );
992
+ register_error_class( "HV00Q", klass );
993
+ }
994
+ {
995
+ VALUE klass = define_error_class( "FdwTableNotFound", "HV" );
996
+ register_error_class( "HV00R", klass );
997
+ }
998
+ {
999
+ VALUE klass = define_error_class( "FdwUnableToCreateExecution", "HV" );
1000
+ register_error_class( "HV00L", klass );
1001
+ }
1002
+ {
1003
+ VALUE klass = define_error_class( "FdwUnableToCreateReply", "HV" );
1004
+ register_error_class( "HV00M", klass );
1005
+ }
1006
+ {
1007
+ VALUE klass = define_error_class( "FdwUnableToEstablishConnection", "HV" );
1008
+ register_error_class( "HV00N", klass );
1009
+ }
1010
+ {
1011
+ VALUE klass = define_error_class( "PlpgsqlError", NULL );
1012
+ register_error_class( "P0000", klass );
1013
+ register_error_class( "P0", klass );
1014
+ }
1015
+ {
1016
+ VALUE klass = define_error_class( "RaiseException", "P0" );
1017
+ register_error_class( "P0001", klass );
1018
+ }
1019
+ {
1020
+ VALUE klass = define_error_class( "NoDataFound", "P0" );
1021
+ register_error_class( "P0002", klass );
1022
+ }
1023
+ {
1024
+ VALUE klass = define_error_class( "TooManyRows", "P0" );
1025
+ register_error_class( "P0003", klass );
1026
+ }
1027
+ {
1028
+ VALUE klass = define_error_class( "AssertFailure", "P0" );
1029
+ register_error_class( "P0004", klass );
1030
+ }
1031
+ {
1032
+ VALUE klass = define_error_class( "InternalError", NULL );
1033
+ register_error_class( "XX000", klass );
1034
+ register_error_class( "XX", klass );
1035
+ }
1036
+ {
1037
+ VALUE klass = define_error_class( "DataCorrupted", "XX" );
1038
+ register_error_class( "XX001", klass );
1039
+ }
1040
+ {
1041
+ VALUE klass = define_error_class( "IndexCorrupted", "XX" );
1042
+ register_error_class( "XX002", klass );
1043
+ }