pg 0.17.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/BSDL +2 -2
- data/ChangeLog +0 -3506
- data/History.rdoc +308 -0
- data/Manifest.txt +35 -19
- data/README-Windows.rdoc +17 -28
- data/README.ja.rdoc +1 -2
- data/README.rdoc +113 -14
- data/Rakefile +67 -30
- data/Rakefile.cross +109 -83
- data/ext/errorcodes.def +101 -0
- data/ext/errorcodes.rb +1 -1
- data/ext/errorcodes.txt +33 -2
- data/ext/extconf.rb +55 -58
- data/ext/gvl_wrappers.c +4 -0
- data/ext/gvl_wrappers.h +27 -39
- data/ext/pg.c +262 -130
- data/ext/pg.h +266 -54
- data/ext/pg_binary_decoder.c +229 -0
- data/ext/pg_binary_encoder.c +163 -0
- data/ext/pg_coder.c +561 -0
- data/ext/pg_connection.c +1689 -990
- data/ext/pg_copy_coder.c +599 -0
- data/ext/pg_errors.c +6 -0
- data/ext/pg_record_coder.c +491 -0
- data/ext/pg_result.c +897 -164
- data/ext/pg_text_decoder.c +987 -0
- data/ext/pg_text_encoder.c +814 -0
- data/ext/pg_tuple.c +549 -0
- data/ext/pg_type_map.c +166 -0
- data/ext/pg_type_map_all_strings.c +116 -0
- data/ext/pg_type_map_by_class.c +244 -0
- data/ext/pg_type_map_by_column.c +313 -0
- data/ext/pg_type_map_by_mri_type.c +284 -0
- data/ext/pg_type_map_by_oid.c +356 -0
- data/ext/pg_type_map_in_ruby.c +299 -0
- data/ext/pg_util.c +149 -0
- data/ext/pg_util.h +65 -0
- data/lib/pg/basic_type_mapping.rb +522 -0
- data/lib/pg/binary_decoder.rb +23 -0
- data/lib/pg/coder.rb +104 -0
- data/lib/pg/connection.rb +153 -41
- data/lib/pg/constants.rb +2 -1
- data/lib/pg/exceptions.rb +2 -1
- data/lib/pg/result.rb +33 -6
- data/lib/pg/text_decoder.rb +46 -0
- data/lib/pg/text_encoder.rb +59 -0
- data/lib/pg/tuple.rb +30 -0
- data/lib/pg/type_map_by_column.rb +16 -0
- data/lib/pg.rb +29 -9
- data/spec/{lib/helpers.rb → helpers.rb} +151 -64
- data/spec/pg/basic_type_mapping_spec.rb +630 -0
- data/spec/pg/connection_spec.rb +1180 -477
- data/spec/pg/connection_sync_spec.rb +41 -0
- data/spec/pg/result_spec.rb +456 -120
- data/spec/pg/tuple_spec.rb +333 -0
- data/spec/pg/type_map_by_class_spec.rb +138 -0
- data/spec/pg/type_map_by_column_spec.rb +226 -0
- data/spec/pg/type_map_by_mri_type_spec.rb +136 -0
- data/spec/pg/type_map_by_oid_spec.rb +149 -0
- data/spec/pg/type_map_in_ruby_spec.rb +164 -0
- data/spec/pg/type_map_spec.rb +22 -0
- data/spec/pg/type_spec.rb +1123 -0
- data/spec/pg_spec.rb +26 -20
- data.tar.gz.sig +0 -0
- metadata +148 -91
- metadata.gz.sig +0 -0
- data/sample/array_insert.rb +0 -20
- data/sample/async_api.rb +0 -106
- data/sample/async_copyto.rb +0 -39
- data/sample/async_mixed.rb +0 -56
- data/sample/check_conn.rb +0 -21
- data/sample/copyfrom.rb +0 -81
- data/sample/copyto.rb +0 -19
- data/sample/cursor.rb +0 -21
- data/sample/disk_usage_report.rb +0 -186
- data/sample/issue-119.rb +0 -94
- data/sample/losample.rb +0 -69
- data/sample/minimal-testcase.rb +0 -17
- data/sample/notify_wait.rb +0 -72
- data/sample/pg_statistics.rb +0 -294
- data/sample/replication_monitor.rb +0 -231
- data/sample/test_binary_values.rb +0 -33
- data/sample/wal_shipper.rb +0 -434
- data/sample/warehouse_partitions.rb +0 -320
data/spec/pg_spec.rb
CHANGED
@@ -1,43 +1,49 @@
|
|
1
|
-
|
1
|
+
# -*- rspec -*-
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
|
-
|
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"
|
21
|
-
PG.library_version.
|
22
|
-
PG.library_version.
|
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.
|
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].
|
35
|
+
expect( PG::UndefinedTable.ancestors[0,4] ).to eq([
|
32
36
|
PG::UndefinedTable,
|
33
37
|
PG::SyntaxErrorOrAccessRuleViolation,
|
34
38
|
PG::ServerError,
|
35
|
-
|
39
|
+
PG::Error
|
40
|
+
])
|
36
41
|
|
37
|
-
PG::InvalidSchemaName.ancestors[0,3].
|
42
|
+
expect( PG::InvalidSchemaName.ancestors[0,3] ).to eq([
|
38
43
|
PG::InvalidSchemaName,
|
39
44
|
PG::ServerError,
|
40
|
-
|
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:
|
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
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
+
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
/
|
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:
|
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
|
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
|
52
|
+
version: '1.4'
|
50
53
|
- !ruby/object:Gem::Dependency
|
51
|
-
name: hoe-
|
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.
|
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.
|
66
|
+
version: '0.10'
|
64
67
|
- !ruby/object:Gem::Dependency
|
65
|
-
name:
|
68
|
+
name: hoe-highline
|
66
69
|
requirement: !ruby/object:Gem::Requirement
|
67
70
|
requirements:
|
68
|
-
- - ~>
|
71
|
+
- - "~>"
|
69
72
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
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: '
|
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
|
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
|
94
|
+
version: '1.0'
|
92
95
|
- !ruby/object:Gem::Dependency
|
93
|
-
name:
|
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:
|
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:
|
108
|
+
version: '1.0'
|
106
109
|
- !ruby/object:Gem::Dependency
|
107
|
-
name: hoe-
|
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
|
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
|
122
|
+
version: '1.0'
|
120
123
|
- !ruby/object:Gem::Dependency
|
121
|
-
name:
|
124
|
+
name: rspec
|
122
125
|
requirement: !ruby/object:Gem::Requirement
|
123
126
|
requirements:
|
124
|
-
- - ~>
|
127
|
+
- - "~>"
|
125
128
|
- !ruby/object:Gem::Version
|
126
|
-
version: '
|
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: '
|
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
|
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
|
-
|
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
|
-
-
|
211
|
-
-
|
212
|
-
-
|
213
|
-
-
|
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/
|
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://
|
297
|
+
homepage: https://github.com/ged/ruby-pg
|
235
298
|
licenses:
|
236
|
-
- BSD
|
237
|
-
|
238
|
-
-
|
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
|
-
-
|
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:
|
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
|
-
|
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
|
data/sample/array_insert.rb
DELETED
@@ -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
|
-
|