pg 0.17.1 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data/BSDL +2 -2
  4. data/ChangeLog +0 -3506
  5. data/History.rdoc +308 -0
  6. data/Manifest.txt +35 -19
  7. data/README-Windows.rdoc +17 -28
  8. data/README.ja.rdoc +1 -2
  9. data/README.rdoc +113 -14
  10. data/Rakefile +67 -30
  11. data/Rakefile.cross +109 -83
  12. data/ext/errorcodes.def +101 -0
  13. data/ext/errorcodes.rb +1 -1
  14. data/ext/errorcodes.txt +33 -2
  15. data/ext/extconf.rb +55 -58
  16. data/ext/gvl_wrappers.c +4 -0
  17. data/ext/gvl_wrappers.h +27 -39
  18. data/ext/pg.c +262 -130
  19. data/ext/pg.h +266 -54
  20. data/ext/pg_binary_decoder.c +229 -0
  21. data/ext/pg_binary_encoder.c +163 -0
  22. data/ext/pg_coder.c +561 -0
  23. data/ext/pg_connection.c +1689 -990
  24. data/ext/pg_copy_coder.c +599 -0
  25. data/ext/pg_errors.c +6 -0
  26. data/ext/pg_record_coder.c +491 -0
  27. data/ext/pg_result.c +897 -164
  28. data/ext/pg_text_decoder.c +987 -0
  29. data/ext/pg_text_encoder.c +814 -0
  30. data/ext/pg_tuple.c +549 -0
  31. data/ext/pg_type_map.c +166 -0
  32. data/ext/pg_type_map_all_strings.c +116 -0
  33. data/ext/pg_type_map_by_class.c +244 -0
  34. data/ext/pg_type_map_by_column.c +313 -0
  35. data/ext/pg_type_map_by_mri_type.c +284 -0
  36. data/ext/pg_type_map_by_oid.c +356 -0
  37. data/ext/pg_type_map_in_ruby.c +299 -0
  38. data/ext/pg_util.c +149 -0
  39. data/ext/pg_util.h +65 -0
  40. data/lib/pg/basic_type_mapping.rb +522 -0
  41. data/lib/pg/binary_decoder.rb +23 -0
  42. data/lib/pg/coder.rb +104 -0
  43. data/lib/pg/connection.rb +153 -41
  44. data/lib/pg/constants.rb +2 -1
  45. data/lib/pg/exceptions.rb +2 -1
  46. data/lib/pg/result.rb +33 -6
  47. data/lib/pg/text_decoder.rb +46 -0
  48. data/lib/pg/text_encoder.rb +59 -0
  49. data/lib/pg/tuple.rb +30 -0
  50. data/lib/pg/type_map_by_column.rb +16 -0
  51. data/lib/pg.rb +29 -9
  52. data/spec/{lib/helpers.rb → helpers.rb} +151 -64
  53. data/spec/pg/basic_type_mapping_spec.rb +630 -0
  54. data/spec/pg/connection_spec.rb +1180 -477
  55. data/spec/pg/connection_sync_spec.rb +41 -0
  56. data/spec/pg/result_spec.rb +456 -120
  57. data/spec/pg/tuple_spec.rb +333 -0
  58. data/spec/pg/type_map_by_class_spec.rb +138 -0
  59. data/spec/pg/type_map_by_column_spec.rb +226 -0
  60. data/spec/pg/type_map_by_mri_type_spec.rb +136 -0
  61. data/spec/pg/type_map_by_oid_spec.rb +149 -0
  62. data/spec/pg/type_map_in_ruby_spec.rb +164 -0
  63. data/spec/pg/type_map_spec.rb +22 -0
  64. data/spec/pg/type_spec.rb +1123 -0
  65. data/spec/pg_spec.rb +26 -20
  66. data.tar.gz.sig +0 -0
  67. metadata +148 -91
  68. metadata.gz.sig +0 -0
  69. data/sample/array_insert.rb +0 -20
  70. data/sample/async_api.rb +0 -106
  71. data/sample/async_copyto.rb +0 -39
  72. data/sample/async_mixed.rb +0 -56
  73. data/sample/check_conn.rb +0 -21
  74. data/sample/copyfrom.rb +0 -81
  75. data/sample/copyto.rb +0 -19
  76. data/sample/cursor.rb +0 -21
  77. data/sample/disk_usage_report.rb +0 -186
  78. data/sample/issue-119.rb +0 -94
  79. data/sample/losample.rb +0 -69
  80. data/sample/minimal-testcase.rb +0 -17
  81. data/sample/notify_wait.rb +0 -72
  82. data/sample/pg_statistics.rb +0 -294
  83. data/sample/replication_monitor.rb +0 -231
  84. data/sample/test_binary_values.rb +0 -33
  85. data/sample/wal_shipper.rb +0 -434
  86. data/sample/warehouse_partitions.rb +0 -320
data/spec/pg_spec.rb CHANGED
@@ -1,43 +1,49 @@
1
- #!/usr/bin/env rspec
1
+ # -*- rspec -*-
2
2
  # encoding: utf-8
3
3
 
4
- BEGIN {
5
- require 'pathname'
4
+ require_relative 'helpers'
6
5
 
7
- basedir = Pathname( __FILE__ ).dirname.parent
8
- libdir = basedir + 'lib'
9
-
10
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
11
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
12
- }
13
-
14
- require 'rspec'
15
- require 'spec/lib/helpers'
16
6
  require 'pg'
17
7
 
18
8
  describe PG do
19
9
 
20
- it "knows what version of the libpq library is loaded", :postgresql_91 do
21
- PG.library_version.should be_an( Integer )
22
- PG.library_version.should >= 90100
10
+ it "knows what version of the libpq library is loaded" do
11
+ expect( PG.library_version ).to be_an( Integer )
12
+ expect( PG.library_version ).to be >= 90100
13
+ end
14
+
15
+ it "can select which of both security libraries to initialize" do
16
+ # This setting does nothing here, because there is already a connection
17
+ # to the server, at this point in time.
18
+ PG.init_openssl(false, true)
19
+ PG.init_openssl(1, 0)
20
+ end
21
+
22
+ it "can select whether security libraries to initialize" do
23
+ # This setting does nothing here, because there is already a connection
24
+ # to the server, at this point in time.
25
+ PG.init_ssl(false)
26
+ PG.init_ssl(1)
23
27
  end
24
28
 
25
29
 
26
30
  it "knows whether or not the library is threadsafe" do
27
- PG.should be_threadsafe()
31
+ expect( PG ).to be_threadsafe()
28
32
  end
29
33
 
30
34
  it "does have hierarchical error classes" do
31
- PG::UndefinedTable.ancestors[0,4].should == [
35
+ expect( PG::UndefinedTable.ancestors[0,4] ).to eq([
32
36
  PG::UndefinedTable,
33
37
  PG::SyntaxErrorOrAccessRuleViolation,
34
38
  PG::ServerError,
35
- PG::Error]
39
+ PG::Error
40
+ ])
36
41
 
37
- PG::InvalidSchemaName.ancestors[0,3].should == [
42
+ expect( PG::InvalidSchemaName.ancestors[0,3] ).to eq([
38
43
  PG::InvalidSchemaName,
39
44
  PG::ServerError,
40
- PG::Error]
45
+ PG::Error
46
+ ])
41
47
  end
42
48
 
43
49
  end
data.tar.gz.sig CHANGED
Binary file
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.17.1
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -11,130 +11,161 @@ bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQwwCgYDVQQDDANnZWQx
15
- GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
16
- HhcNMTMwMjI3MTY0ODU4WhcNMTQwMjI3MTY0ODU4WjA+MQwwCgYDVQQDDANnZWQx
17
- GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
18
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDb92mkyYwuGBg1oRxt2tkH
19
- +Uo3LAsaL/APBfSLzy8o3+B3AUHKCjMUaVeBoZdWtMHB75X3VQlvXfZMyBxj59Vo
20
- cDthr3zdao4HnyrzAIQf7BO5Y8KBwVD+yyXCD/N65TTwqsQnO3ie7U5/9ut1rnNr
21
- OkOzAscMwkfQxBkXDzjvAWa6UF4c5c9kR/T79iA21kDx9+bUMentU59aCJtUcbxa
22
- 7kcKJhPEYsk4OdxR9q2dphNMFDQsIdRO8rywX5FRHvcb+qnXC17RvxLHtOjysPtp
23
- EWsYoZMxyCDJpUqbwoeiM+tAHoz2ABMv3Ahie3Qeb6+MZNAtMmaWfBx3dg2u+/WN
24
- AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSZ0hCV
25
- qoHr122fGKelqffzEQBhszAcBgNVHREEFTATgRFnZWRARmFlcmllTVVELm9yZzAc
26
- BgNVHRIEFTATgRFnZWRARmFlcmllTVVELm9yZzANBgkqhkiG9w0BAQUFAAOCAQEA
27
- Vlcfyq6GwyE8i0QuFPCeVOwJaneSvcwx316DApjy9/tt2YD2HomLbtpXtji5QXor
28
- ON6oln4tWBIB3Klbr3szq5oR3Rc1D02SaBTalxSndp4M6UkW9hRFu5jn98pDB4fq
29
- 5l8wMMU0Xdmqx1VYvysVAjVFVC/W4NNvlmg+2mEgSVZP5K6Tc9qDh3eMQInoYw6h
30
- t1YA6RsUJHp5vGQyhP1x34YpLAaly8icbns/8PqOf7Osn9ztmg8bOMJCeb32eQLj
31
- 6mKCwjpegytE0oifXfF8k75A9105cBnNiMZOe1tXiqYc/exCgWvbggurzDOcRkZu
32
- /YSusaiDXHKU2O3Akc3htA==
14
+ MIID+DCCAmCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
15
+ REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEyMjQyMDE5NTFaFw0yMDEyMjMyMDE5
16
+ NTFaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
17
+ hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
18
+ L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
19
+ M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
20
+ 5PU2AEbf04GGSrmqADGWXeaslaoRdb1fu/0M5qfPTRn5V39sWD9umuDAF9qqil/x
21
+ Sl6phTvgBrG8GExHbNZpLARd3xrBYLEFsX7RvBn2UPfgsrtvpdXjsHGfpT3IPN+B
22
+ vQ66lts4alKC69TE5cuKasWBm+16A4aEe3XdZBRNmtOu/g81gvwA7fkJHKllJuaI
23
+ dXzdHqq+zbGZVSQ7pRYHYomD0IiDe1DbIouFnPWmagaBnGHwXkDT2bKKP+s2v21m
24
+ ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
25
+ N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYD
26
+ VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DANBgkqhkiG
27
+ 9w0BAQsFAAOCAYEAifxlz7x0EfT3fjhM520ZEIrWa+tLMuLKNefkY18u8tZnx4EX
28
+ Xxwh3tna3fvNfrOrdY5leIj1dbv4FTRg+gIBnIxAySqvpGvI/Axg5EdYbwninCLL
29
+ LAKCmRo+5QwaPMYN2zdHIjGrp8jg1neCo5zy6tVvyTv0DMI6FLrydVJYduMMDFSy
30
+ gQKR1rVOcCJtnBnLCF9+kKEUKohAHOmGsE7OBZFnjMIpH5yUDUVJKByv0gIipFt0
31
+ 1T6zff6oVU0w8WBiNKR381+6sF3wIZVnVY0XeJg6hNL+YecE8ILxLhHTmtT/BO0S
32
+ 3xPze9uXDR+iD6HYl8KU5QEg/dXFPhfQb512vVkTJDZvMcwu6PxDUjHFChLjAji/
33
+ AZXjg1C5E9znTkeUR8ieU9F1MOKoiH57a5lYSTI8Ga8PpsNXTxNeXc16Ob26CqrJ
34
+ 83uuAYSy65yXDGXXPVBeKPVnYrqp91pqpS5Nh7wfuiCrE8lgU8PATh7K4BV1UhAT
35
+ 0MHbAT42wTYkfUj3
33
36
  -----END CERTIFICATE-----
34
- date: 2013-12-19 00:00:00.000000000 Z
37
+ date: 2020-03-18 00:00:00.000000000 Z
35
38
  dependencies:
36
39
  - !ruby/object:Gem::Dependency
37
40
  name: hoe-mercurial
38
41
  requirement: !ruby/object:Gem::Requirement
39
42
  requirements:
40
- - - ~>
43
+ - - "~>"
41
44
  - !ruby/object:Gem::Version
42
- version: 1.4.0
45
+ version: '1.4'
43
46
  type: :development
44
47
  prerelease: false
45
48
  version_requirements: !ruby/object:Gem::Requirement
46
49
  requirements:
47
- - - ~>
50
+ - - "~>"
48
51
  - !ruby/object:Gem::Version
49
- version: 1.4.0
52
+ version: '1.4'
50
53
  - !ruby/object:Gem::Dependency
51
- name: hoe-highline
54
+ name: hoe-deveiate
52
55
  requirement: !ruby/object:Gem::Requirement
53
56
  requirements:
54
- - - ~>
57
+ - - "~>"
55
58
  - !ruby/object:Gem::Version
56
- version: 0.1.0
59
+ version: '0.10'
57
60
  type: :development
58
61
  prerelease: false
59
62
  version_requirements: !ruby/object:Gem::Requirement
60
63
  requirements:
61
- - - ~>
64
+ - - "~>"
62
65
  - !ruby/object:Gem::Version
63
- version: 0.1.0
66
+ version: '0.10'
64
67
  - !ruby/object:Gem::Dependency
65
- name: rdoc
68
+ name: hoe-highline
66
69
  requirement: !ruby/object:Gem::Requirement
67
70
  requirements:
68
- - - ~>
71
+ - - "~>"
69
72
  - !ruby/object:Gem::Version
70
- version: '4.0'
73
+ version: '0.2'
71
74
  type: :development
72
75
  prerelease: false
73
76
  version_requirements: !ruby/object:Gem::Requirement
74
77
  requirements:
75
- - - ~>
78
+ - - "~>"
76
79
  - !ruby/object:Gem::Version
77
- version: '4.0'
80
+ version: '0.2'
78
81
  - !ruby/object:Gem::Dependency
79
82
  name: rake-compiler
80
83
  requirement: !ruby/object:Gem::Requirement
81
84
  requirements:
82
- - - ~>
85
+ - - "~>"
83
86
  - !ruby/object:Gem::Version
84
- version: '0.9'
87
+ version: '1.0'
85
88
  type: :development
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
- - - ~>
92
+ - - "~>"
90
93
  - !ruby/object:Gem::Version
91
- version: '0.9'
94
+ version: '1.0'
92
95
  - !ruby/object:Gem::Dependency
93
- name: hoe
96
+ name: rake-compiler-dock
94
97
  requirement: !ruby/object:Gem::Requirement
95
98
  requirements:
96
- - - ~>
99
+ - - "~>"
97
100
  - !ruby/object:Gem::Version
98
- version: 3.5.1
101
+ version: '1.0'
99
102
  type: :development
100
103
  prerelease: false
101
104
  version_requirements: !ruby/object:Gem::Requirement
102
105
  requirements:
103
- - - ~>
106
+ - - "~>"
104
107
  - !ruby/object:Gem::Version
105
- version: 3.5.1
108
+ version: '1.0'
106
109
  - !ruby/object:Gem::Dependency
107
- name: hoe-deveiate
110
+ name: hoe-bundler
108
111
  requirement: !ruby/object:Gem::Requirement
109
112
  requirements:
110
- - - ~>
113
+ - - "~>"
111
114
  - !ruby/object:Gem::Version
112
- version: '0.2'
115
+ version: '1.0'
113
116
  type: :development
114
117
  prerelease: false
115
118
  version_requirements: !ruby/object:Gem::Requirement
116
119
  requirements:
117
- - - ~>
120
+ - - "~>"
118
121
  - !ruby/object:Gem::Version
119
- version: '0.2'
122
+ version: '1.0'
120
123
  - !ruby/object:Gem::Dependency
121
- name: hoe-bundler
124
+ name: rspec
122
125
  requirement: !ruby/object:Gem::Requirement
123
126
  requirements:
124
- - - ~>
127
+ - - "~>"
125
128
  - !ruby/object:Gem::Version
126
- version: '1.0'
129
+ version: '3.5'
127
130
  type: :development
128
131
  prerelease: false
129
132
  version_requirements: !ruby/object:Gem::Requirement
130
133
  requirements:
131
- - - ~>
134
+ - - "~>"
132
135
  - !ruby/object:Gem::Version
133
- version: '1.0'
136
+ version: '3.5'
137
+ - !ruby/object:Gem::Dependency
138
+ name: rdoc
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '5.1'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '5.1'
151
+ - !ruby/object:Gem::Dependency
152
+ name: hoe
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '3.20'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '3.20'
134
165
  description: |-
135
166
  Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].
136
167
 
137
- It works with {PostgreSQL 8.4 and later}[http://www.postgresql.org/support/versioning/].
168
+ It works with {PostgreSQL 9.2 and later}[http://www.postgresql.org/support/versioning/].
138
169
 
139
170
  A small example usage:
140
171
 
@@ -146,7 +177,7 @@ description: |-
146
177
  conn = PG.connect( dbname: 'sales' )
147
178
  conn.exec( "SELECT * FROM pg_stat_activity" ) do |result|
148
179
  puts " PID | User | Query"
149
- result.each do |row|
180
+ result.each do |row|
150
181
  puts " %7d | %-16s | %s " %
151
182
  row.values_at('procpid', 'usename', 'current_query')
152
183
  end
@@ -170,11 +201,27 @@ extra_rdoc_files:
170
201
  - LICENSE
171
202
  - ext/gvl_wrappers.c
172
203
  - ext/pg.c
204
+ - ext/pg_binary_decoder.c
205
+ - ext/pg_binary_encoder.c
206
+ - ext/pg_coder.c
173
207
  - ext/pg_connection.c
208
+ - ext/pg_copy_coder.c
174
209
  - ext/pg_errors.c
210
+ - ext/pg_record_coder.c
175
211
  - ext/pg_result.c
212
+ - ext/pg_text_decoder.c
213
+ - ext/pg_text_encoder.c
214
+ - ext/pg_tuple.c
215
+ - ext/pg_type_map.c
216
+ - ext/pg_type_map_all_strings.c
217
+ - ext/pg_type_map_by_class.c
218
+ - ext/pg_type_map_by_column.c
219
+ - ext/pg_type_map_by_mri_type.c
220
+ - ext/pg_type_map_by_oid.c
221
+ - ext/pg_type_map_in_ruby.c
222
+ - ext/pg_util.c
176
223
  files:
177
- - .gemtest
224
+ - ".gemtest"
178
225
  - BSDL
179
226
  - ChangeLog
180
227
  - Contributors.rdoc
@@ -196,70 +243,80 @@ files:
196
243
  - ext/gvl_wrappers.h
197
244
  - ext/pg.c
198
245
  - ext/pg.h
246
+ - ext/pg_binary_decoder.c
247
+ - ext/pg_binary_encoder.c
248
+ - ext/pg_coder.c
199
249
  - ext/pg_connection.c
250
+ - ext/pg_copy_coder.c
200
251
  - ext/pg_errors.c
252
+ - ext/pg_record_coder.c
201
253
  - ext/pg_result.c
254
+ - ext/pg_text_decoder.c
255
+ - ext/pg_text_encoder.c
256
+ - ext/pg_tuple.c
257
+ - ext/pg_type_map.c
258
+ - ext/pg_type_map_all_strings.c
259
+ - ext/pg_type_map_by_class.c
260
+ - ext/pg_type_map_by_column.c
261
+ - ext/pg_type_map_by_mri_type.c
262
+ - ext/pg_type_map_by_oid.c
263
+ - ext/pg_type_map_in_ruby.c
264
+ - ext/pg_util.c
265
+ - ext/pg_util.h
202
266
  - ext/vc/pg.sln
203
267
  - ext/vc/pg_18/pg.vcproj
204
268
  - ext/vc/pg_19/pg_19.vcproj
205
269
  - lib/pg.rb
270
+ - lib/pg/basic_type_mapping.rb
271
+ - lib/pg/binary_decoder.rb
272
+ - lib/pg/coder.rb
206
273
  - lib/pg/connection.rb
207
274
  - lib/pg/constants.rb
208
275
  - lib/pg/exceptions.rb
209
276
  - lib/pg/result.rb
210
- - sample/array_insert.rb
211
- - sample/async_api.rb
212
- - sample/async_copyto.rb
213
- - sample/async_mixed.rb
214
- - sample/check_conn.rb
215
- - sample/copyfrom.rb
216
- - sample/copyto.rb
217
- - sample/cursor.rb
218
- - sample/disk_usage_report.rb
219
- - sample/issue-119.rb
220
- - sample/losample.rb
221
- - sample/minimal-testcase.rb
222
- - sample/notify_wait.rb
223
- - sample/pg_statistics.rb
224
- - sample/replication_monitor.rb
225
- - sample/test_binary_values.rb
226
- - sample/wal_shipper.rb
227
- - sample/warehouse_partitions.rb
277
+ - lib/pg/text_decoder.rb
278
+ - lib/pg/text_encoder.rb
279
+ - lib/pg/tuple.rb
280
+ - lib/pg/type_map_by_column.rb
228
281
  - spec/data/expected_trace.out
229
282
  - spec/data/random_binary_data
230
- - spec/lib/helpers.rb
283
+ - spec/helpers.rb
284
+ - spec/pg/basic_type_mapping_spec.rb
231
285
  - spec/pg/connection_spec.rb
286
+ - spec/pg/connection_sync_spec.rb
232
287
  - spec/pg/result_spec.rb
288
+ - spec/pg/tuple_spec.rb
289
+ - spec/pg/type_map_by_class_spec.rb
290
+ - spec/pg/type_map_by_column_spec.rb
291
+ - spec/pg/type_map_by_mri_type_spec.rb
292
+ - spec/pg/type_map_by_oid_spec.rb
293
+ - spec/pg/type_map_in_ruby_spec.rb
294
+ - spec/pg/type_map_spec.rb
295
+ - spec/pg/type_spec.rb
233
296
  - spec/pg_spec.rb
234
- homepage: https://bitbucket.org/ged/ruby-pg
297
+ homepage: https://github.com/ged/ruby-pg
235
298
  licenses:
236
- - BSD
237
- - Ruby
238
- - GPL
239
- metadata: {}
299
+ - BSD-2-Clause
300
+ metadata:
301
+ homepage_uri: https://github.com/ged/ruby-pg
240
302
  post_install_message:
241
303
  rdoc_options:
242
- - -f
243
- - fivefish
244
- - -t
245
- - 'pg: The Ruby Interface to PostgreSQL'
246
- - -m
304
+ - "--main"
247
305
  - README.rdoc
248
306
  require_paths:
249
307
  - lib
250
308
  required_ruby_version: !ruby/object:Gem::Requirement
251
309
  requirements:
252
- - - '>='
310
+ - - ">="
253
311
  - !ruby/object:Gem::Version
254
- version: 1.8.7
312
+ version: '2.2'
255
313
  required_rubygems_version: !ruby/object:Gem::Requirement
256
314
  requirements:
257
- - - '>='
315
+ - - ">="
258
316
  - !ruby/object:Gem::Version
259
317
  version: '0'
260
318
  requirements: []
261
- rubyforge_project: pg
262
- rubygems_version: 2.1.11
319
+ rubygems_version: 3.0.6
263
320
  signing_key:
264
321
  specification_version: 4
265
322
  summary: Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]
metadata.gz.sig CHANGED
Binary file
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pg'
4
-
5
- c = PG.connect( dbname: 'test' )
6
-
7
- # this one works:
8
- c.exec( "DROP TABLE IF EXISTS foo" )
9
- c.exec( "CREATE TABLE foo (strings character varying[]);" )
10
-
11
- # But using a prepared statement works:
12
- c.set_error_verbosity( PG::PQERRORS_VERBOSE )
13
- c.prepare( 'stmt', "INSERT INTO foo VALUES ($1);" )
14
-
15
- # This won't work
16
- #c.exec_prepared( 'stmt', ["ARRAY['this','that']"] )
17
-
18
- # but this will:
19
- c.exec_prepared( 'stmt', ["{'this','that'}"] )
20
-