pg 0.21.0 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/ChangeLog +0 -6595
  5. data/History.rdoc +184 -0
  6. data/Manifest.txt +8 -3
  7. data/README-Windows.rdoc +4 -4
  8. data/README.ja.rdoc +1 -2
  9. data/README.rdoc +58 -13
  10. data/Rakefile +10 -9
  11. data/Rakefile.cross +68 -71
  12. data/ext/errorcodes.def +76 -0
  13. data/ext/errorcodes.rb +1 -1
  14. data/ext/errorcodes.txt +21 -2
  15. data/ext/extconf.rb +18 -36
  16. data/ext/gvl_wrappers.c +4 -0
  17. data/ext/gvl_wrappers.h +23 -39
  18. data/ext/pg.c +154 -144
  19. data/ext/pg.h +68 -95
  20. data/ext/pg_binary_decoder.c +82 -15
  21. data/ext/pg_binary_encoder.c +13 -12
  22. data/ext/pg_coder.c +73 -12
  23. data/ext/pg_connection.c +699 -459
  24. data/ext/pg_copy_coder.c +16 -8
  25. data/ext/pg_record_coder.c +491 -0
  26. data/ext/pg_result.c +571 -195
  27. data/ext/pg_text_decoder.c +606 -40
  28. data/ext/pg_text_encoder.c +185 -54
  29. data/ext/pg_tuple.c +549 -0
  30. data/ext/pg_type_map.c +1 -1
  31. data/ext/pg_type_map_all_strings.c +4 -4
  32. data/ext/pg_type_map_by_class.c +9 -4
  33. data/ext/pg_type_map_by_column.c +7 -6
  34. data/ext/pg_type_map_by_mri_type.c +1 -1
  35. data/ext/pg_type_map_by_oid.c +3 -2
  36. data/ext/pg_type_map_in_ruby.c +1 -1
  37. data/ext/{util.c → pg_util.c} +10 -10
  38. data/ext/{util.h → pg_util.h} +2 -2
  39. data/lib/pg.rb +8 -10
  40. data/lib/pg/basic_type_mapping.rb +121 -25
  41. data/lib/pg/binary_decoder.rb +23 -0
  42. data/lib/pg/coder.rb +23 -2
  43. data/lib/pg/connection.rb +28 -4
  44. data/lib/pg/constants.rb +2 -1
  45. data/lib/pg/exceptions.rb +2 -1
  46. data/lib/pg/result.rb +14 -2
  47. data/lib/pg/text_decoder.rb +21 -26
  48. data/lib/pg/text_encoder.rb +32 -8
  49. data/lib/pg/tuple.rb +30 -0
  50. data/lib/pg/type_map_by_column.rb +3 -2
  51. data/spec/helpers.rb +61 -33
  52. data/spec/pg/basic_type_mapping_spec.rb +362 -37
  53. data/spec/pg/connection_spec.rb +602 -329
  54. data/spec/pg/connection_sync_spec.rb +41 -0
  55. data/spec/pg/result_spec.rb +242 -17
  56. data/spec/pg/tuple_spec.rb +333 -0
  57. data/spec/pg/type_map_by_class_spec.rb +2 -2
  58. data/spec/pg/type_map_by_column_spec.rb +6 -2
  59. data/spec/pg/type_map_by_mri_type_spec.rb +1 -1
  60. data/spec/pg/type_map_by_oid_spec.rb +3 -3
  61. data/spec/pg/type_map_in_ruby_spec.rb +1 -1
  62. data/spec/pg/type_map_spec.rb +1 -1
  63. data/spec/pg/type_spec.rb +364 -18
  64. data/spec/pg_spec.rb +2 -2
  65. metadata +48 -43
  66. metadata.gz.sig +0 -0
  67. data/lib/pg/deprecated_constants.rb +0 -21
data/spec/pg_spec.rb CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env rspec
1
+ # -*- rspec -*-
2
2
  # encoding: utf-8
3
3
 
4
4
  require_relative 'helpers'
@@ -7,7 +7,7 @@ require 'pg'
7
7
 
8
8
  describe PG do
9
9
 
10
- it "knows what version of the libpq library is loaded", :postgresql_91 do
10
+ it "knows what version of the libpq library is loaded" do
11
11
  expect( PG.library_version ).to be_an( Integer )
12
12
  expect( PG.library_version ).to be >= 90100
13
13
  end
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: 0.21.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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
- 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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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
- 4MAX2qqKX/FKXqmFO+AGsbwYTEds1mksBF3fGsFgsQWxftG8GfZQ9+Cyu2+l1eOw
23
- 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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: 2017-06-12 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,14 +98,14 @@ dependencies:
100
98
  requirements:
101
99
  - - "~>"
102
100
  - !ruby/object:Gem::Version
103
- version: '0.6'
101
+ version: '1.0'
104
102
  type: :development
105
103
  prerelease: false
106
104
  version_requirements: !ruby/object:Gem::Requirement
107
105
  requirements:
108
106
  - - "~>"
109
107
  - !ruby/object:Gem::Version
110
- version: '0.6'
108
+ version: '1.0'
111
109
  - !ruby/object:Gem::Dependency
112
110
  name: hoe-bundler
113
111
  requirement: !ruby/object:Gem::Requirement
@@ -156,18 +154,18 @@ dependencies:
156
154
  requirements:
157
155
  - - "~>"
158
156
  - !ruby/object:Gem::Version
159
- version: '3.16'
157
+ version: '3.20'
160
158
  type: :development
161
159
  prerelease: false
162
160
  version_requirements: !ruby/object:Gem::Requirement
163
161
  requirements:
164
162
  - - "~>"
165
163
  - !ruby/object:Gem::Version
166
- version: '3.16'
164
+ version: '3.20'
167
165
  description: |-
168
166
  Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].
169
167
 
170
- It works with {PostgreSQL 9.1 and later}[http://www.postgresql.org/support/versioning/].
168
+ It works with {PostgreSQL 9.2 and later}[http://www.postgresql.org/support/versioning/].
171
169
 
172
170
  A small example usage:
173
171
 
@@ -209,9 +207,11 @@ extra_rdoc_files:
209
207
  - ext/pg_connection.c
210
208
  - ext/pg_copy_coder.c
211
209
  - ext/pg_errors.c
210
+ - ext/pg_record_coder.c
212
211
  - ext/pg_result.c
213
212
  - ext/pg_text_decoder.c
214
213
  - ext/pg_text_encoder.c
214
+ - ext/pg_tuple.c
215
215
  - ext/pg_type_map.c
216
216
  - ext/pg_type_map_all_strings.c
217
217
  - ext/pg_type_map_by_class.c
@@ -219,7 +219,7 @@ extra_rdoc_files:
219
219
  - ext/pg_type_map_by_mri_type.c
220
220
  - ext/pg_type_map_by_oid.c
221
221
  - ext/pg_type_map_in_ruby.c
222
- - ext/util.c
222
+ - ext/pg_util.c
223
223
  files:
224
224
  - ".gemtest"
225
225
  - BSDL
@@ -249,9 +249,11 @@ files:
249
249
  - ext/pg_connection.c
250
250
  - ext/pg_copy_coder.c
251
251
  - ext/pg_errors.c
252
+ - ext/pg_record_coder.c
252
253
  - ext/pg_result.c
253
254
  - ext/pg_text_decoder.c
254
255
  - ext/pg_text_encoder.c
256
+ - ext/pg_tuple.c
255
257
  - ext/pg_type_map.c
256
258
  - ext/pg_type_map_all_strings.c
257
259
  - ext/pg_type_map_by_class.c
@@ -259,28 +261,31 @@ files:
259
261
  - ext/pg_type_map_by_mri_type.c
260
262
  - ext/pg_type_map_by_oid.c
261
263
  - ext/pg_type_map_in_ruby.c
262
- - ext/util.c
263
- - ext/util.h
264
+ - ext/pg_util.c
265
+ - ext/pg_util.h
264
266
  - ext/vc/pg.sln
265
267
  - ext/vc/pg_18/pg.vcproj
266
268
  - ext/vc/pg_19/pg_19.vcproj
267
269
  - lib/pg.rb
268
270
  - lib/pg/basic_type_mapping.rb
271
+ - lib/pg/binary_decoder.rb
269
272
  - lib/pg/coder.rb
270
273
  - lib/pg/connection.rb
271
274
  - lib/pg/constants.rb
272
- - lib/pg/deprecated_constants.rb
273
275
  - lib/pg/exceptions.rb
274
276
  - lib/pg/result.rb
275
277
  - lib/pg/text_decoder.rb
276
278
  - lib/pg/text_encoder.rb
279
+ - lib/pg/tuple.rb
277
280
  - lib/pg/type_map_by_column.rb
278
281
  - spec/data/expected_trace.out
279
282
  - spec/data/random_binary_data
280
283
  - spec/helpers.rb
281
284
  - spec/pg/basic_type_mapping_spec.rb
282
285
  - spec/pg/connection_spec.rb
286
+ - spec/pg/connection_sync_spec.rb
283
287
  - spec/pg/result_spec.rb
288
+ - spec/pg/tuple_spec.rb
284
289
  - spec/pg/type_map_by_class_spec.rb
285
290
  - spec/pg/type_map_by_column_spec.rb
286
291
  - spec/pg/type_map_by_mri_type_spec.rb
@@ -289,10 +294,11 @@ files:
289
294
  - spec/pg/type_map_spec.rb
290
295
  - spec/pg/type_spec.rb
291
296
  - spec/pg_spec.rb
292
- homepage: https://bitbucket.org/ged/ruby-pg
297
+ homepage: https://github.com/ged/ruby-pg
293
298
  licenses:
294
- - BSD-3-Clause
295
- metadata: {}
299
+ - BSD-2-Clause
300
+ metadata:
301
+ homepage_uri: https://github.com/ged/ruby-pg
296
302
  post_install_message:
297
303
  rdoc_options:
298
304
  - "--main"
@@ -303,15 +309,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
309
  requirements:
304
310
  - - ">="
305
311
  - !ruby/object:Gem::Version
306
- version: 2.0.0
312
+ version: '2.2'
307
313
  required_rubygems_version: !ruby/object:Gem::Requirement
308
314
  requirements:
309
315
  - - ">="
310
316
  - !ruby/object:Gem::Version
311
317
  version: '0'
312
318
  requirements: []
313
- rubyforge_project:
314
- rubygems_version: 2.6.12
319
+ rubygems_version: 3.0.6
315
320
  signing_key:
316
321
  specification_version: 4
317
322
  summary: Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]
metadata.gz.sig CHANGED
Binary file
@@ -1,21 +0,0 @@
1
- # -*- ruby -*-
2
- #encoding: utf-8
3
-
4
- # Warn about use of deprecated constants when this is autoloaded
5
- callsite = caller(3).first
6
-
7
- warn <<END_OF_WARNING
8
- The PGconn, PGresult, and PGError constants are deprecated, and will be
9
- removed as of version 1.0.
10
-
11
- You should use PG::Connection, PG::Result, and PG::Error instead, respectively.
12
-
13
- Called from #{callsite}
14
- END_OF_WARNING
15
-
16
-
17
-
18
- PGconn = PG::Connection
19
- PGresult = PG::Result
20
- PGError = PG::Error
21
-