pg 0.18.4 → 0.19.0.pre20160409114042

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e802023c7320274316216de2f75c7bc54459a23
4
- data.tar.gz: c07502af262fe81db01d5c66d9519938ff6f9038
3
+ metadata.gz: 289c4dd1931372026b0402639de07f34a3752290
4
+ data.tar.gz: 416233d977b03b4300a149f2faf8ea9c8407e2ab
5
5
  SHA512:
6
- metadata.gz: befad3519208bb8149a222cc231542289da851c6c5a3b538f487c833755818bfb956ebc149a3f1042002b71ea79925718857ffdcaa9d4228a6f5250a4d6d0100
7
- data.tar.gz: 5e963d5cad53bf673913c9f9c399e1337bceda26901b8a2fb54b34a39224a7600d95ad8f69d5f8deb370d38637b6b9c0da634003c68926276246f4408174b12e
6
+ metadata.gz: 46f8ca660e0530f7960601605277d2abbeef7ff14b5f45ccd337d197d37a4ac5339c468708d3559f3cf3051b65cca09eefd6c9f403a506e1027688bcdbdd62f4
7
+ data.tar.gz: 18bceda423c242eeb630b9f53593b1527cb21e73ba0294259730d4d3ae2fb5fa61ebf9d9dfbf8d0afab8ec6b57841c04b6edaa094c99ebe44a3adfc09c9cef86
data/ChangeLog CHANGED
@@ -1,8 +1,306 @@
1
+ 2016-04-09 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * ext/extconf.rb:
4
+ Add mechanism for trying to build without pg_config
5
+ [22a3a8ef3244] [tip]
6
+
7
+ 2015-12-25 Lars Kanis <lars@greiz-reinsdorf.de>
8
+
9
+ * ext/pg.h, ext/pg_binary_encoder.c, ext/pg_coder.c,
10
+ ext/pg_connection.c, ext/pg_copy_coder.c, ext/pg_text_encoder.c,
11
+ spec/pg/connection_spec.rb, spec/pg/type_map_by_class_spec.rb,
12
+ spec/pg/type_map_by_mri_type_spec.rb, spec/pg/type_spec.rb:
13
+ Respect character encoding of all strings sent to the server.
14
+
15
+ Previously all strings sent to the server were sent in their
16
+ internal binary representation, without respecting the character
17
+ encoding of strings. Now the encoding of all strings is compared
18
+ with the current connection encoding and converted if they are
19
+ different.
20
+
21
+ Since coders are independent from any database connection, this adds
22
+ a second parameter to PG::Coder#encode, that allows to define the
23
+ destination encoding, which previously was always ASCII_8BIT. This
24
+ encoding should be set to the connection encoding, in practice.
25
+
26
+ This also adds a lot of tests for encoding and decoding data.
27
+
28
+ This implements issue #231 : https://bitbucket.org/ged/ruby-
29
+ pg/issues/231
30
+ [e61a06f1f5ed]
31
+
32
+ 2016-03-22 Michael Granger <ged@FaerieMUD.org>
33
+
34
+ * Rakefile, pg.gemspec:
35
+ Remove GPL from the `licenses` of the Hoespec/gemspec (fixes #72)
36
+ [14d4f1399922]
37
+
38
+ 2016-01-31 Michael Granger <ged@FaerieMUD.org>
39
+
40
+ * Rakefile, pg.gemspec:
41
+ Fix `hg:precheckin` task to re-generate the gemspec.
42
+ [6294e7bdfd2b]
43
+
44
+ * .hoerc, Gemfile, Rakefile, certs/ged.pem:
45
+ Add gem cert, trying out gemspec-based setup.
46
+
47
+ Hopefully Travis and Appveyor will work this way.
48
+ [b3946987e6f4]
49
+
50
+ * lib/pg/basic_type_mapping.rb:
51
+ Fix the example for PG::BasicTypeMapForQueries.
52
+
53
+ Fixes #213.
54
+ [11f13477e4b9]
55
+
56
+ * ext/pg_connection.c, ext/pg_result.c, lib/pg/connection.rb,
57
+ lib/pg/result.rb:
58
+ Small documentation fixes.
59
+
60
+ - Make PG::Connection and PG::Result show up instead of PGconn and
61
+ PGresult.
62
+ - Add docs for PG::Result#inspect.
63
+ - Swap `PGconn.open` for `PG.connect` in an example.
64
+ - Add explicit returns to a few methods.
65
+ [982082c0d77b]
66
+
67
+ * ext/pg_connection.c:
68
+ Clarify differences between class and instance escape methods.
69
+
70
+ Borrow the wording from the PostgreSQL docs about the difference
71
+ between class and instance variants of `escape_string` and
72
+ `escape_bytea` for PG::Connection. Fixes #205.
73
+ [01a8e779edb2]
74
+
75
+ 2016-01-30 Lars Kanis <lars@greiz-reinsdorf.de>
76
+
77
+ * Gemfile:
78
+ Update hoe-deveiate
79
+ [7e95a9dae248]
80
+
81
+ * Rakefile.cross:
82
+ rake-compiler-dock-0.5.1 fixes the issue with bundler while cross
83
+ compilation
84
+
85
+ So we no longer need to disable rubygems.
86
+ [7ad087272591]
87
+
88
+ 2016-01-30 Lars Kanis <larskanis@gmail.com>
89
+
90
+ * Merge pull request #13 from akito19/update_openssl
91
+
92
+ update version OpenSSL
93
+ [9917a9eefcd8]
94
+
95
+ 2016-01-30 Akito Kasai <a.kasai415@gmail.com>
96
+
97
+ * Rakefile.cross:
98
+ update version OpenSSL
99
+ [a9b7e8cbd788]
100
+
101
+ 2016-01-30 Lars Kanis <larskanis@gmail.com>
102
+
103
+ * Merge pull request #12 from akito19/fix_indent_on_README
104
+
105
+ fix indent sample code [skip ci]
106
+ [4e0e144275a2]
107
+
108
+ 2016-01-30 Akito Kasai <a.kasai415@gmail.com>
109
+
110
+ * README.rdoc:
111
+ fix indent sample code
112
+ [dec5b785d96c]
113
+
114
+ 2016-01-12 Lars Kanis <lars@greiz-reinsdorf.de>
115
+
116
+ * ext/pg_connection.c:
117
+ Add missing ifdef for PostgreSQL < 9.5
118
+ [df51313f26b9]
119
+
120
+ 2016-01-11 Lars Kanis <lars@greiz-reinsdorf.de>
121
+
122
+ * ext/extconf.rb, ext/pg_connection.c, lib/pg/connection.rb,
123
+ spec/pg/connection_spec.rb:
124
+ Add PostgreSQL-9.5 functions PQsslInUse(), PQsslAttribute() and
125
+ PQsslAttributeNames().
126
+ [5a437ad15148]
127
+
128
+ 2016-01-12 Lars Kanis <lars@greiz-reinsdorf.de>
129
+
130
+ * spec/helpers.rb:
131
+ Add rspec filter for PostgreSQL-9.5.
132
+ [3b4857e5401c]
133
+
134
+ 2016-01-11 Lars Kanis <lars@greiz-reinsdorf.de>
135
+
136
+ * ext/pg.h:
137
+ Avoid compiler warning about undeclared function gettimeofday().
138
+
139
+ ../../../../ext/pg_connection.c: In function ‘wait_socket_readable’:
140
+ ../../../../ext/pg_connection.c:2393:3: warning: implicit
141
+ declaration of function ‘gettimeofday’ [-Wimplicit-function-
142
+ declaration] gettimeofday(&currtime, NULL);
143
+ [bdd4f3c8fc73]
144
+
145
+ 2016-01-09 Lars Kanis <lars@greiz-reinsdorf.de>
146
+
147
+ * spec/pg/connection_spec.rb:
148
+ Adjust timings in tests for better compat with Windows, which has
149
+ less exact timers.
150
+ [e51a84966ce6]
151
+
152
+ * .travis.yml:
153
+ Bundler is not installed per default on ruby-2.3.0 on travis-ci.
154
+ [d94ffc08a04f]
155
+
156
+ * .rvmrc:
157
+ Remove .rvmrc from repository.
158
+
159
+ This currently breaks the build on travis-ci.
160
+ [fbaac4e36b9e]
161
+
162
+ 2015-08-29 Lars Kanis <lars@greiz-reinsdorf.de>
163
+
164
+ * .travis.yml:
165
+ Switch windows binary gem build on travis-ci to docker.
166
+
167
+ This is faster and the recommended ways to buid the gems now.
168
+ [5fa0071f377a]
169
+
170
+ 2016-01-09 Lars Kanis <lars@greiz-reinsdorf.de>
171
+
172
+ * .travis.yml, appveyor.yml:
173
+ Update appveyor and travis-ci tests from 9.4 and 9.0 to 9.5 and 9.1.
174
+ [a66cd5015f50]
175
+
176
+ 2015-08-29 Lars Kanis <lars@greiz-reinsdorf.de>
177
+
178
+ * Rakefile, Rakefile.cross, lib/pg.rb:
179
+ Remove needless platform specific subdirectory for libpq.dll.
180
+ [b3a270f74fdd]
181
+
182
+ * Rakefile.cross:
183
+ Don't abort 'rake gem:windows' when there are no key/certs for gem
184
+ signing.
185
+ [6c7d9a357ac3]
186
+
187
+ * Rakefile:
188
+ Don't abort the tests, if the pg_ext file is missing.
189
+
190
+ This is required to run the tests with fat binary gems.
191
+ [0115baee0e15]
192
+
193
+ 2016-01-09 Lars Kanis <lars@greiz-reinsdorf.de>
194
+
195
+ * .travis.yml:
196
+ Use ruby '2.3.0' in travis-ci, since the alias '2.3' isn't
197
+ available.
198
+ [d28332e23fbc]
199
+
200
+ * .travis.yml:
201
+ Remove ruby 1.9.3 from travis-ci, since it fails anyway.
202
+ [4173b84490f0]
203
+
204
+ 2016-01-08 Lars Kanis <lars@greiz-reinsdorf.de>
205
+
206
+ * ext/pg_connection.c:
207
+ PQescapeString takes size_t, so RSTRING_LEN is correct.
208
+ [9c8027a0934f]
209
+
210
+ * Rakefile.cross:
211
+ Update PostgreSQL version for cross build to 9.5.0
212
+ [8048fe08c330]
213
+
214
+ 2015-12-31 Lars Kanis <lars@greiz-reinsdorf.de>
215
+
216
+ * ext/pg_connection.c:
217
+ Fix description of encoder_for_put_copy_data
218
+ [4d4de8d69dc0]
219
+
220
+ 2015-12-30 Lars Kanis <lars@greiz-reinsdorf.de>
221
+
222
+ * ext/pg_connection.c:
223
+ Mark local functions as static.
224
+ [1a2c1d85a8fd]
225
+
226
+ 2015-12-29 Lars Kanis <lars@greiz-reinsdorf.de>
227
+
228
+ * ext/pg_connection.c:
229
+ Improve performance of conn.escape by 50%.
230
+
231
+ Copying the string twice and calling rb_obj_is_kind_of() twice isn't
232
+ necessary.
233
+ [a8ebc0163f6b]
234
+
235
+ * ext/pg_connection.c:
236
+ Describe more exactly the difference between quote_ident and
237
+ escape_identifier.
238
+ [b458c0c3d40e]
239
+
240
+ 2016-01-08 Lars Kanis <lars@greiz-reinsdorf.de>
241
+
242
+ * ext/errorcodes.txt:
243
+ Add new error codes introduced in PostgreSQL-9.5 per 'rake
244
+ update_error_codes'
245
+ [698e36b52c7d]
246
+
247
+ 2015-12-26 Lars Kanis <lars@greiz-reinsdorf.de>
248
+
249
+ * .travis.yml:
250
+ Add ruby-2.3 on travis-ci.
251
+ [e53198935b4a]
252
+
253
+ * Rakefile.cross:
254
+ Update libraries for Windows cross build.
255
+ [de4fdcd96eb3]
256
+
257
+ * Gemfile, Rakefile, Rakefile.cross:
258
+ Enable Windows cross build for Ruby-2.3.
259
+ [1a6f2861f9d3]
260
+
261
+ * README.rdoc:
262
+ Merge branch 'master@1' of ../ruby-pg.git.bare
263
+ [b324f3f65a0c]
264
+
265
+ * README.rdoc, ext/pg_copy_coder.c, lib/pg/basic_type_mapping.rb,
266
+ lib/pg/connection.rb:
267
+ Add a lot more of documentation, how COPY can be used with type
268
+ coders and type maps.
269
+ [256c059e4802]
270
+
1
271
  2015-11-13 Michael Granger <ged@FaerieMUD.org>
2
272
 
273
+ * .hgtags:
274
+ Added tag v0.18.4 for changeset f61127650cd0
275
+ [fdfa6657502e]
276
+
277
+ * .hgsigs:
278
+ Added signature for changeset 75d4f016a17f
279
+ [f61127650cd0] [v0.18.4]
280
+
281
+ * .hgtags:
282
+ Removed tag v0.18.4
283
+ [75d4f016a17f]
284
+
285
+ * README.rdoc:
286
+ Move the gitter link below the extracted links in the README
287
+ [588ea20370ff]
288
+
289
+ * .hgtags:
290
+ Added tag v0.18.4 for changeset 94ef4830540d
291
+ [81cc8a52985e]
292
+
293
+ * .hgsigs:
294
+ Added signature for changeset da42b972b5ab
295
+ [94ef4830540d]
296
+
297
+ * History.rdoc, lib/pg.rb:
298
+ Bump the version, add date to History
299
+ [da42b972b5ab]
300
+
3
301
  * .hgignore:
4
302
  Ignore some build artifacts
5
- [f4bd9e53ccab] [tip]
303
+ [f4bd9e53ccab]
6
304
 
7
305
  * Rakefile:
8
306
  Only use fivefish formatter when building from repo
@@ -281,11 +579,11 @@
281
579
 
282
580
  * ext/pg_connection.c:
283
581
  Change instance_of checks to kind_of for subclassing [#220]
284
- [eb4d3c003bd6] [github/kind-of-fix]
582
+ [eb4d3c003bd6]
285
583
 
286
584
  * lib/pg/basic_type_mapping.rb:
287
585
  Whitespace fixes
288
- [4a4368e30bcf] [github/master]
586
+ [4a4368e30bcf]
289
587
 
290
588
  2015-05-14 Michael Granger <ged@FaerieMUD.org>
291
589
 
@@ -3123,13 +3421,13 @@
3123
3421
  PQexecParams() itself.
3124
3422
 
3125
3423
  Thanks to Aaron Patterson for the idea.
3126
- [7c313c2355b7] [github/exec_params]
3424
+ [7c313c2355b7]
3127
3425
 
3128
3426
  2013-01-31 Michael Granger <ged@FaerieMUD.org>
3129
3427
 
3130
3428
  * ext/extconf.rb:
3131
3429
  Add experimental -rpath to the LDFLAGS
3132
- [8496c624dffd] [github/rpath_ldflag]
3430
+ [8496c624dffd]
3133
3431
 
3134
3432
  2013-01-30 Michael Granger <ged@FaerieMUD.org>
3135
3433
 
@@ -23,7 +23,7 @@ A small example usage:
23
23
  conn = PG.connect( dbname: 'sales' )
24
24
  conn.exec( "SELECT * FROM pg_stat_activity" ) do |result|
25
25
  puts " PID | User | Query"
26
- result.each do |row|
26
+ result.each do |row|
27
27
  puts " %7d | %-16s | %s " %
28
28
  row.values_at('procpid', 'usename', 'current_query')
29
29
  end
@@ -112,7 +112,7 @@ needs for type casting. The default type map is PG::TypeMapAllStrings.
112
112
 
113
113
  A type map can be assigned per connection or per query respectively per
114
114
  result set. Type maps can also be used for COPY in and out data streaming.
115
-
115
+ See PG::Connection#copy_data .
116
116
 
117
117
  == Contributing
118
118
 
data/Rakefile CHANGED
@@ -55,22 +55,21 @@ $hoespec = Hoe.spec 'pg' do
55
55
  self.extra_rdoc_files = Rake::FileList[ '*.rdoc' ]
56
56
  self.extra_rdoc_files.include( 'POSTGRES', 'LICENSE' )
57
57
  self.extra_rdoc_files.include( 'ext/*.c' )
58
- self.license :BSD
58
+ self.license 'BSD-3-Clause'
59
59
 
60
60
  self.developer 'Michael Granger', 'ged@FaerieMUD.org'
61
61
  self.developer 'Lars Kanis', 'lars@greiz-reinsdorf.de'
62
62
 
63
63
  self.dependency 'rake-compiler', '~> 0.9', :developer
64
- self.dependency 'rake-compiler-dock', '~> 0.3', :developer
64
+ self.dependency 'rake-compiler-dock', '~> 0.5', :developer
65
65
  self.dependency 'hoe', '~> 3.12', :developer
66
66
  self.dependency 'hoe-deveiate', '~> 0.6', :developer
67
67
  self.dependency 'hoe-bundler', '~> 1.0', :developer
68
68
  self.dependency 'rspec', '~> 3.0', :developer
69
69
 
70
- self.spec_extras[:licenses] = ['BSD', 'Ruby', 'GPL']
71
70
  self.spec_extras[:extensions] = [ 'ext/extconf.rb' ]
72
71
 
73
- self.require_ruby_version( '>= 1.9.3' )
72
+ self.require_ruby_version( '>= 2.0.0' )
74
73
 
75
74
  self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
76
75
  self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
@@ -81,7 +80,7 @@ end
81
80
  ENV['VERSION'] ||= $hoespec.spec.version.to_s
82
81
 
83
82
  # Tests should pass before checking in
84
- task 'hg:precheckin' => [ :check_history, :check_manifest, :spec ]
83
+ task 'hg:precheckin' => [ :check_history, :check_manifest, :spec, :gemspec ]
85
84
 
86
85
  # Support for 'rvm specs'
87
86
  task :specs => :spec
@@ -97,7 +96,7 @@ task :test do
97
96
  # the installed gem dir. So we clear the task rake-compiler set up
98
97
  # to break the dependency between :spec and :compile when running under
99
98
  # rubygems-test, and then run :spec.
100
- Rake::Task[ EXT.to_s ].clear
99
+ Rake::Task[ EXT.to_s ].clear if File.exist?(EXT.to_s)
101
100
  Rake::Task[ :spec ].execute
102
101
  end
103
102
 
@@ -132,8 +131,7 @@ Rake::ExtensionTask.new do |ext|
132
131
 
133
132
  # Add libpq.dll to windows binary gemspec
134
133
  ext.cross_compiling do |spec|
135
- # mingw32-platform strings differ (RUBY_PLATFORM=i386-mingw32 vs. x86-mingw32 for rubygems)
136
- spec.files << "lib/#{spec.platform.to_s.gsub(/^x86-/, "i386-")}/libpq.dll"
134
+ spec.files << "lib/libpq.dll"
137
135
  end
138
136
  end
139
137
 
@@ -207,12 +205,14 @@ file GEMSPEC => __FILE__
207
205
  task GEMSPEC do |task|
208
206
  spec = $hoespec.spec
209
207
  spec.files.delete( '.gemtest' )
210
- spec.version = "#{spec.version}.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
208
+ spec.signing_key = nil
209
+ spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
210
+ spec.cert_chain = [ 'certs/ged.pem' ]
211
211
  File.open( task.name, 'w' ) do |fh|
212
212
  fh.write( spec.to_ruby )
213
213
  end
214
214
  end
215
215
 
216
- CLOBBER.include( GEMSPEC.to_s )
216
+ CLOBBER.include( '*.gemspec' )
217
217
  task :default => :gemspec
218
218
 
@@ -29,8 +29,8 @@ class CrossLibrary < OpenStruct
29
29
  self.host_platform = toolchain
30
30
 
31
31
  # Cross-compilation constants
32
- self.openssl_version = ENV['OPENSSL_VERSION'] || '1.0.2d'
33
- self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '9.4.4'
32
+ self.openssl_version = ENV['OPENSSL_VERSION'] || '1.0.2f'
33
+ self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '9.5.0'
34
34
 
35
35
  # Check if symlinks work in the current working directory.
36
36
  # This fails, if rake-compiler-dock is running on a Windows box.
@@ -235,7 +235,7 @@ class CrossLibrary < OpenStruct
235
235
  task :libpq => postgresql_lib
236
236
 
237
237
  # copy libpq.dll to lib dir
238
- dest_libpq = "lib/#{for_platform}/#{postgresql_lib.basename}"
238
+ dest_libpq = "lib/#{postgresql_lib.basename}"
239
239
  directory File.dirname(dest_libpq)
240
240
  file dest_libpq => [postgresql_lib, File.dirname(dest_libpq)] do
241
241
  cp postgresql_lib, dest_libpq
@@ -290,12 +290,12 @@ task 'gem:windows' => ['ChangeLog'] do
290
290
 
291
291
  # Copy gem signing key and certs to be accessable from the docker container
292
292
  mkdir_p 'build/gem'
293
- sh "cp ~/.gem/gem-*.pem build/gem/"
293
+ sh "cp ~/.gem/gem-*.pem build/gem/ || true"
294
294
 
295
295
  RakeCompilerDock.sh <<-EOT
296
296
  mkdir ~/.gem &&
297
- cp build/gem/gem-*.pem ~/.gem/ &&
297
+ (cp build/gem/gem-*.pem ~/.gem/ || true) &&
298
298
  bundle install &&
299
- rake cross native gem RUBYOPT=--disable-rubygems RUBY_CC_VERSION=1.9.3:2.0.0:2.1.6:2.2.2
299
+ rake cross native gem RUBY_CC_VERSION=2.3.0:2.2.2:2.1.6:2.0.0:1.9.3
300
300
  EOT
301
301
  end