pg 1.0.0 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/ChangeLog +0 -6595
  5. data/History.rdoc +156 -0
  6. data/Manifest.txt +8 -2
  7. data/README-Windows.rdoc +4 -4
  8. data/README.ja.rdoc +1 -2
  9. data/README.rdoc +55 -9
  10. data/Rakefile +9 -7
  11. data/Rakefile.cross +58 -57
  12. data/ext/errorcodes.def +68 -0
  13. data/ext/errorcodes.rb +1 -1
  14. data/ext/errorcodes.txt +19 -2
  15. data/ext/extconf.rb +7 -5
  16. data/ext/pg.c +141 -98
  17. data/ext/pg.h +64 -21
  18. data/ext/pg_binary_decoder.c +82 -15
  19. data/ext/pg_binary_encoder.c +13 -12
  20. data/ext/pg_coder.c +73 -12
  21. data/ext/pg_connection.c +625 -346
  22. data/ext/pg_copy_coder.c +16 -8
  23. data/ext/pg_record_coder.c +491 -0
  24. data/ext/pg_result.c +571 -191
  25. data/ext/pg_text_decoder.c +606 -40
  26. data/ext/pg_text_encoder.c +185 -54
  27. data/ext/pg_tuple.c +549 -0
  28. data/ext/pg_type_map.c +1 -1
  29. data/ext/pg_type_map_all_strings.c +4 -4
  30. data/ext/pg_type_map_by_class.c +9 -4
  31. data/ext/pg_type_map_by_column.c +7 -6
  32. data/ext/pg_type_map_by_mri_type.c +1 -1
  33. data/ext/pg_type_map_by_oid.c +3 -2
  34. data/ext/pg_type_map_in_ruby.c +1 -1
  35. data/ext/{util.c → pg_util.c} +10 -10
  36. data/ext/{util.h → pg_util.h} +2 -2
  37. data/lib/pg.rb +8 -6
  38. data/lib/pg/basic_type_mapping.rb +121 -25
  39. data/lib/pg/binary_decoder.rb +23 -0
  40. data/lib/pg/coder.rb +23 -2
  41. data/lib/pg/connection.rb +22 -3
  42. data/lib/pg/constants.rb +2 -1
  43. data/lib/pg/exceptions.rb +2 -1
  44. data/lib/pg/result.rb +14 -2
  45. data/lib/pg/text_decoder.rb +21 -26
  46. data/lib/pg/text_encoder.rb +32 -8
  47. data/lib/pg/tuple.rb +30 -0
  48. data/lib/pg/type_map_by_column.rb +3 -2
  49. data/spec/helpers.rb +52 -20
  50. data/spec/pg/basic_type_mapping_spec.rb +362 -37
  51. data/spec/pg/connection_spec.rb +376 -146
  52. data/spec/pg/connection_sync_spec.rb +41 -0
  53. data/spec/pg/result_spec.rb +240 -15
  54. data/spec/pg/tuple_spec.rb +333 -0
  55. data/spec/pg/type_map_by_class_spec.rb +2 -2
  56. data/spec/pg/type_map_by_column_spec.rb +6 -2
  57. data/spec/pg/type_map_by_mri_type_spec.rb +1 -1
  58. data/spec/pg/type_map_by_oid_spec.rb +3 -3
  59. data/spec/pg/type_map_in_ruby_spec.rb +1 -1
  60. data/spec/pg/type_map_spec.rb +1 -1
  61. data/spec/pg/type_spec.rb +363 -17
  62. data/spec/pg_spec.rb +1 -1
  63. metadata +47 -47
  64. metadata.gz.sig +0 -0
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env rspec
1
+ # -*- rspec -*-
2
2
  # encoding: utf-8
3
3
 
4
4
  require_relative 'helpers'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -11,32 +11,30 @@ bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- 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
- GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
16
- 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
- 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
- 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
- 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
- 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
- TH5UHsOtUU7k9TYARt/TgYZKuaoAMZZd5qyVqhF1vV+7/Qzmp89NGflXf2xYP26a
22
- 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
- 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
- +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
- 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
- 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
- BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFHKN/nkRusdqCJEuq3lgB3fJvyTg
28
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
35
+ 0MHbAT42wTYkfUj3
38
36
  -----END CERTIFICATE-----
39
- date: 2018-01-10 00:00:00.000000000 Z
37
+ date: 2020-03-18 00:00:00.000000000 Z
40
38
  dependencies:
41
39
  - !ruby/object:Gem::Dependency
42
40
  name: hoe-mercurial
@@ -58,14 +56,14 @@ dependencies:
58
56
  requirements:
59
57
  - - "~>"
60
58
  - !ruby/object:Gem::Version
61
- version: '0.9'
59
+ version: '0.10'
62
60
  type: :development
63
61
  prerelease: false
64
62
  version_requirements: !ruby/object:Gem::Requirement
65
63
  requirements:
66
64
  - - "~>"
67
65
  - !ruby/object:Gem::Version
68
- version: '0.9'
66
+ version: '0.10'
69
67
  - !ruby/object:Gem::Dependency
70
68
  name: hoe-highline
71
69
  requirement: !ruby/object:Gem::Requirement
@@ -100,20 +98,14 @@ dependencies:
100
98
  requirements:
101
99
  - - "~>"
102
100
  - !ruby/object:Gem::Version
103
- version: '0.6'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.6.2
101
+ version: '1.0'
107
102
  type: :development
108
103
  prerelease: false
109
104
  version_requirements: !ruby/object:Gem::Requirement
110
105
  requirements:
111
106
  - - "~>"
112
107
  - !ruby/object:Gem::Version
113
- version: '0.6'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 0.6.2
108
+ version: '1.0'
117
109
  - !ruby/object:Gem::Dependency
118
110
  name: hoe-bundler
119
111
  requirement: !ruby/object:Gem::Requirement
@@ -162,14 +154,14 @@ dependencies:
162
154
  requirements:
163
155
  - - "~>"
164
156
  - !ruby/object:Gem::Version
165
- version: '3.16'
157
+ version: '3.20'
166
158
  type: :development
167
159
  prerelease: false
168
160
  version_requirements: !ruby/object:Gem::Requirement
169
161
  requirements:
170
162
  - - "~>"
171
163
  - !ruby/object:Gem::Version
172
- version: '3.16'
164
+ version: '3.20'
173
165
  description: |-
174
166
  Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].
175
167
 
@@ -215,9 +207,11 @@ extra_rdoc_files:
215
207
  - ext/pg_connection.c
216
208
  - ext/pg_copy_coder.c
217
209
  - ext/pg_errors.c
210
+ - ext/pg_record_coder.c
218
211
  - ext/pg_result.c
219
212
  - ext/pg_text_decoder.c
220
213
  - ext/pg_text_encoder.c
214
+ - ext/pg_tuple.c
221
215
  - ext/pg_type_map.c
222
216
  - ext/pg_type_map_all_strings.c
223
217
  - ext/pg_type_map_by_class.c
@@ -225,7 +219,7 @@ extra_rdoc_files:
225
219
  - ext/pg_type_map_by_mri_type.c
226
220
  - ext/pg_type_map_by_oid.c
227
221
  - ext/pg_type_map_in_ruby.c
228
- - ext/util.c
222
+ - ext/pg_util.c
229
223
  files:
230
224
  - ".gemtest"
231
225
  - BSDL
@@ -255,9 +249,11 @@ files:
255
249
  - ext/pg_connection.c
256
250
  - ext/pg_copy_coder.c
257
251
  - ext/pg_errors.c
252
+ - ext/pg_record_coder.c
258
253
  - ext/pg_result.c
259
254
  - ext/pg_text_decoder.c
260
255
  - ext/pg_text_encoder.c
256
+ - ext/pg_tuple.c
261
257
  - ext/pg_type_map.c
262
258
  - ext/pg_type_map_all_strings.c
263
259
  - ext/pg_type_map_by_class.c
@@ -265,13 +261,14 @@ files:
265
261
  - ext/pg_type_map_by_mri_type.c
266
262
  - ext/pg_type_map_by_oid.c
267
263
  - ext/pg_type_map_in_ruby.c
268
- - ext/util.c
269
- - ext/util.h
264
+ - ext/pg_util.c
265
+ - ext/pg_util.h
270
266
  - ext/vc/pg.sln
271
267
  - ext/vc/pg_18/pg.vcproj
272
268
  - ext/vc/pg_19/pg_19.vcproj
273
269
  - lib/pg.rb
274
270
  - lib/pg/basic_type_mapping.rb
271
+ - lib/pg/binary_decoder.rb
275
272
  - lib/pg/coder.rb
276
273
  - lib/pg/connection.rb
277
274
  - lib/pg/constants.rb
@@ -279,13 +276,16 @@ files:
279
276
  - lib/pg/result.rb
280
277
  - lib/pg/text_decoder.rb
281
278
  - lib/pg/text_encoder.rb
279
+ - lib/pg/tuple.rb
282
280
  - lib/pg/type_map_by_column.rb
283
281
  - spec/data/expected_trace.out
284
282
  - spec/data/random_binary_data
285
283
  - spec/helpers.rb
286
284
  - spec/pg/basic_type_mapping_spec.rb
287
285
  - spec/pg/connection_spec.rb
286
+ - spec/pg/connection_sync_spec.rb
288
287
  - spec/pg/result_spec.rb
288
+ - spec/pg/tuple_spec.rb
289
289
  - spec/pg/type_map_by_class_spec.rb
290
290
  - spec/pg/type_map_by_column_spec.rb
291
291
  - spec/pg/type_map_by_mri_type_spec.rb
@@ -294,10 +294,11 @@ files:
294
294
  - spec/pg/type_map_spec.rb
295
295
  - spec/pg/type_spec.rb
296
296
  - spec/pg_spec.rb
297
- homepage: https://bitbucket.org/ged/ruby-pg
297
+ homepage: https://github.com/ged/ruby-pg
298
298
  licenses:
299
- - BSD-3-Clause
300
- metadata: {}
299
+ - BSD-2-Clause
300
+ metadata:
301
+ homepage_uri: https://github.com/ged/ruby-pg
301
302
  post_install_message:
302
303
  rdoc_options:
303
304
  - "--main"
@@ -308,15 +309,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
309
  requirements:
309
310
  - - ">="
310
311
  - !ruby/object:Gem::Version
311
- version: 2.0.0
312
+ version: '2.2'
312
313
  required_rubygems_version: !ruby/object:Gem::Requirement
313
314
  requirements:
314
315
  - - ">="
315
316
  - !ruby/object:Gem::Version
316
317
  version: '0'
317
318
  requirements: []
318
- rubyforge_project:
319
- rubygems_version: 2.7.3
319
+ rubygems_version: 3.0.6
320
320
  signing_key:
321
321
  specification_version: 4
322
322
  summary: Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]
metadata.gz.sig CHANGED
Binary file