pg 0.18.3 → 0.18.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 71b5c038eee17a71788dfba8107b05e3e5abf97f
4
- data.tar.gz: 4c4bc07dd354ab5dda95123a4c6ae8ba40ef77a0
3
+ metadata.gz: 7e802023c7320274316216de2f75c7bc54459a23
4
+ data.tar.gz: c07502af262fe81db01d5c66d9519938ff6f9038
5
5
  SHA512:
6
- metadata.gz: da86cff37eeb015b02dad06bd877249d705bb54f64d8c4199254b369a5baa0617694124130e83fd850872bc88fc9845c06cfbfb64614987375421c86d88d0965
7
- data.tar.gz: 468aa7dc975636161da5fe512a9a0efcdc3e95f9282dd20cf0e82de9854deaaac3150a32f531947904cc665763d795767c3332767dfe38d7b90a94d8faff01d9
6
+ metadata.gz: befad3519208bb8149a222cc231542289da851c6c5a3b538f487c833755818bfb956ebc149a3f1042002b71ea79925718857ffdcaa9d4228a6f5250a4d6d0100
7
+ data.tar.gz: 5e963d5cad53bf673913c9f9c399e1337bceda26901b8a2fb54b34a39224a7600d95ad8f69d5f8deb370d38637b6b9c0da634003c68926276246f4408174b12e
Binary file
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,8 +1,115 @@
1
- 2015-09-03 Michael Granger <ged@FaerieMUD.org>
1
+ 2015-11-13 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .hgignore:
4
+ Ignore some build artifacts
5
+ [f4bd9e53ccab] [tip]
6
+
7
+ * Rakefile:
8
+ Only use fivefish formatter when building from repo
9
+ [6161d8eeb3f1]
10
+
11
+ 2015-11-13 Lars Kanis <lars@greiz-reinsdorf.de>
12
+
13
+ * History.rdoc:
14
+ Update History.rdoc regarding PR#22.
15
+ [e4a8a1d41104]
16
+
17
+ * Merge ../ruby-pg.git.bare
18
+ [810c1e4dad4d]
19
+
20
+ 2015-10-08 Lars Kanis <larskanis@gmail.com>
21
+
22
+ * README.rdoc:
23
+ Fix link to appveyor CI tests in the README.
24
+ [604f4dd3d5bd]
25
+
26
+ 2015-11-04 Lars Kanis <lars@greiz-reinsdorf.de>
27
+
28
+ * ext/pg_binary_encoder.c:
29
+ Merged in t-richards/ruby-pg/jemalloc-native-ext (pull request #22)
30
+
31
+ Fix build against jemalloc 4.0.0
32
+ [72168db5fb7b]
33
+
34
+ 2015-09-10 Tom Richards <tom@tomrichards.net>
35
+
36
+ * ext/pg_binary_encoder.c:
37
+ Fix build against jemalloc 4.0.0
38
+ [fe05106909f7] <jemalloc-native-ext>
39
+
40
+ 2015-09-24 Lars Kanis <lars@greiz-reinsdorf.de>
2
41
 
3
42
  * History.rdoc:
4
- Added recent fix to the History file
5
- [f12dc2f1ce14] [tip]
43
+ Add latest changes to History.rdoc.
44
+ [11b978b08d63]
45
+
46
+ * History.rdoc:
47
+ Add missing entry in History.rdoc.
48
+
49
+ This fixes bitbucket issue #225 : https://bitbucket.org/ged/ruby-
50
+ pg/issues/225
51
+ [132d674d999f]
52
+
53
+ * Merge ../ruby-pg.git.bare
54
+ [479799a98cfa]
55
+
56
+ * ext/pg_text_encoder.c, spec/pg/connection_spec.rb,
57
+ spec/pg/type_spec.rb:
58
+ Avoid segfault, when quote_ident is called with Array containing
59
+ non-strings.
60
+
61
+ This fixes bitbucket issue #226 : https://bitbucket.org/ged/ruby-
62
+ pg/issues/226
63
+ [4f0bd19e9111]
64
+
65
+ 2015-09-08 Lars Kanis <lars@greiz-reinsdorf.de>
66
+
67
+ * Merge pull request #10 from PuzzleFlow/master
68
+
69
+ Fixing compilation problems with Microsoft Visual Studio 2008.
70
+ [dfb62954f2d6]
71
+
72
+ 2015-09-08 jfali <jfali@puzzleflow.com>
73
+
74
+ * ext/extconf.rb, ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
75
+ ext/pg_text_decoder.c, ext/pg_text_encoder.c, ext/pg_type_map.c,
76
+ ext/pg_type_map_by_column.c:
77
+ Fixing compilation problems with Microsoft Visual Studio 2008.
78
+ - inttypes.h is not available in MSVC 2008
79
+ - Structs members must be initialized implicitly
80
+ [fcf731d3dff7]
81
+
82
+ 2015-09-07 Lars Kanis <lars@greiz-reinsdorf.de>
83
+
84
+ * README.rdoc:
85
+ Merge pull request #8 from gitter-badger/gitter-badge
86
+
87
+ Add a Gitter chat badge to README.rdoc
88
+ [ab4d5656abce]
89
+
90
+ 2015-03-09 The Gitter Badger <badger@gitter.im>
91
+
92
+ * README.rdoc:
93
+ Added Gitter badge
94
+ [beb02a90f948]
95
+
96
+ 2015-09-03 Michael Granger <ged@FaerieMUD.org>
97
+
98
+ * .hgtags:
99
+ Added tag v0.18.3 for changeset 01c42c68797e
100
+ [4c8df76aff6f]
101
+
102
+ * .hgsigs:
103
+ Added signature for changeset 57291f1e96b9
104
+ [01c42c68797e] [v0.18.3]
105
+
106
+ * .hoerc:
107
+ Exclude some generated files from the Manifest
108
+ [57291f1e96b9]
109
+
110
+ * History.rdoc, lib/pg.rb:
111
+ Bump patch version, update history
112
+ [3b49541c9f12]
6
113
 
7
114
  2015-09-01 Lars Kanis <lars@greiz-reinsdorf.de>
8
115
 
@@ -1,3 +1,14 @@
1
+ == v0.18.4 [2015-11-13] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ Enhancements:
4
+ - Fixing compilation problems with Microsoft Visual Studio 2008. GH #10
5
+ - Avoid name clash with xcode and jemalloc. PR#22, PR#23
6
+
7
+ Bugfixes:
8
+ - Avoid segfault, when quote_ident or TextEncoder::Identifier
9
+ is called with Array containing non-strings. #226
10
+
11
+
1
12
  == v0.18.3 [2015-09-03] Michael Granger <ged@FaerieMUD.org>
2
13
 
3
14
  Enhancements:
@@ -16,6 +27,7 @@ Bugfixes:
16
27
  Enhancements:
17
28
 
18
29
  - Allow URI connection string (thanks to Chris Bandy)
30
+ - Allow Array type parameter to conn.quote_ident
19
31
 
20
32
  Bugfixes:
21
33
 
@@ -4,6 +4,8 @@ home :: https://bitbucket.org/ged/ruby-pg
4
4
  mirror :: https://github.com/ged/ruby-pg
5
5
  docs :: http://deveiate.org/code/pg
6
6
 
7
+ {<img src="https://badges.gitter.im/Join%20Chat.svg" alt="Join the chat at https://gitter.im/ged/ruby-pg">}[https://gitter.im/ged/ruby-pg?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge]
8
+
7
9
 
8
10
  == Description
9
11
 
@@ -30,7 +32,7 @@ A small example usage:
30
32
  == Build Status
31
33
 
32
34
  {<img src="https://travis-ci.org/ged/ruby-pg.png?branch=master" alt="Build Status Travis-CI" />}[https://travis-ci.org/ged/ruby-pg]
33
- {<img src="https://ci.appveyor.com/api/projects/status/at4g4swb2cd4xji7/branch/master?svg=true" alt="Build Status Appveyor" />}[https://ci.appveyor.com/api/projects/status/at4g4swb2cd4xji7/branch/master]
35
+ {<img src="https://ci.appveyor.com/api/projects/status/at4g4swb2cd4xji7/branch/master?svg=true" alt="Build Status Appveyor" />}[https://ci.appveyor.com/project/ged/ruby-pg]
34
36
 
35
37
 
36
38
  == Requirements
data/Rakefile CHANGED
@@ -74,11 +74,6 @@ $hoespec = Hoe.spec 'pg' do
74
74
 
75
75
  self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
76
76
  self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
77
- self.spec_extras[:rdoc_options] = [
78
- '-f', 'fivefish',
79
- '-t', 'pg: The Ruby Interface to PostgreSQL',
80
- '-m', 'README.rdoc',
81
- ]
82
77
 
83
78
  self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
84
79
  end
@@ -143,6 +138,21 @@ Rake::ExtensionTask.new do |ext|
143
138
  end
144
139
 
145
140
 
141
+ # Use the fivefish formatter for docs generated from development checkout
142
+ if File.directory?( '.hg' )
143
+ require 'rdoc/task'
144
+
145
+ Rake::Task[ 'docs' ].clear
146
+ RDoc::Task.new( 'docs' ) do |rdoc|
147
+ rdoc.main = "README.rdoc"
148
+ rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb", 'ext/**/*.{c,h}' )
149
+ rdoc.generator = :fivefish
150
+ rdoc.title = "PG: The Ruby PostgreSQL Driver"
151
+ rdoc.rdoc_dir = 'doc'
152
+ end
153
+ end
154
+
155
+
146
156
  # Make the ChangeLog update if the repo has changed since it was last built
147
157
  file '.hg/branch' do
148
158
  warn "WARNING: You need the Mercurial repo to update the ChangeLog"
@@ -92,6 +92,7 @@ $defs.push( "-DHAVE_ST_NOTIFY_EXTRA" ) if
92
92
 
93
93
  # unistd.h confilicts with ruby/win32.h when cross compiling for win32 and ruby 1.9.1
94
94
  have_header 'unistd.h'
95
+ have_header 'inttypes.h'
95
96
  have_header 'ruby/st.h' or have_header 'st.h' or abort "pg currently requires the ruby/st.h header"
96
97
 
97
98
  checking_for "C99 variable length arrays" do
@@ -1,12 +1,14 @@
1
1
  /*
2
2
  * pg_column_map.c - PG::ColumnMap class extension
3
- * $Id: pg_binary_decoder.c,v 185638b52684 2014/11/08 20:43:53 lars $
3
+ * $Id: pg_binary_decoder.c,v fcf731d3dff7 2015/09/08 12:25:06 jfali $
4
4
  *
5
5
  */
6
6
 
7
7
  #include "pg.h"
8
8
  #include "util.h"
9
+ #ifdef HAVE_INTTYPES_H
9
10
  #include <inttypes.h>
11
+ #endif
10
12
 
11
13
  VALUE rb_mPG_BinaryDecoder;
12
14
 
@@ -1,12 +1,14 @@
1
1
  /*
2
2
  * pg_column_map.c - PG::ColumnMap class extension
3
- * $Id: pg_binary_encoder.c,v ac23631c96d9 2014/10/14 11:50:21 lars $
3
+ * $Id: pg_binary_encoder.c,v 72168db5fb7b 2015/11/04 16:13:42 lars $
4
4
  *
5
5
  */
6
6
 
7
7
  #include "pg.h"
8
8
  #include "util.h"
9
+ #ifdef HAVE_INTTYPES_H
9
10
  #include <inttypes.h>
11
+ #endif
10
12
 
11
13
  VALUE rb_mPG_BinaryEncoder;
12
14
 
@@ -22,14 +24,14 @@ VALUE rb_mPG_BinaryEncoder;
22
24
  static int
23
25
  pg_bin_enc_boolean(t_pg_coder *conv, VALUE value, char *out, VALUE *intermediate)
24
26
  {
25
- char bool;
27
+ char mybool;
26
28
  switch(value){
27
- case Qtrue : bool = 1; break;
28
- case Qfalse : bool = 0; break;
29
+ case Qtrue : mybool = 1; break;
30
+ case Qfalse : mybool = 0; break;
29
31
  default :
30
32
  rb_raise( rb_eTypeError, "wrong data for binary boolean converter" );
31
33
  }
32
- if(out) *out = bool;
34
+ if(out) *out = mybool;
33
35
  return 1;
34
36
  }
35
37
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * pg_text_decoder.c - PG::TextDecoder module
3
- * $Id: pg_text_decoder.c,v b111c84b8445 2015/02/11 20:54:03 lars $
3
+ * $Id: pg_text_decoder.c,v fcf731d3dff7 2015/09/08 12:25:06 jfali $
4
4
  *
5
5
  */
6
6
 
@@ -30,7 +30,9 @@
30
30
 
31
31
  #include "pg.h"
32
32
  #include "util.h"
33
+ #ifdef HAVE_INTTYPES_H
33
34
  #include <inttypes.h>
35
+ #endif
34
36
 
35
37
  VALUE rb_mPG_TextDecoder;
36
38
  static ID s_id_decode;
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * pg_text_encoder.c - PG::TextEncoder module
3
- * $Id: pg_text_encoder.c,v b859963462b2 2015/03/13 17:39:35 lars $
3
+ * $Id: pg_text_encoder.c,v 4f0bd19e9111 2015/09/24 18:55:11 lars $
4
4
  *
5
5
  */
6
6
 
@@ -41,7 +41,9 @@
41
41
 
42
42
  #include "pg.h"
43
43
  #include "util.h"
44
+ #ifdef HAVE_INTTYPES_H
44
45
  #include <inttypes.h>
46
+ #endif
45
47
  #include <math.h>
46
48
 
47
49
  VALUE rb_mPG_TextEncoder;
@@ -493,6 +495,7 @@ pg_text_enc_array_identifier(VALUE value, VALUE string, char *out)
493
495
  for( i=0; i<nr_elems; i++){
494
496
  VALUE entry = rb_ary_entry(value, i);
495
497
 
498
+ StringValue(entry);
496
499
  out = quote_identifier(entry, string, out);
497
500
  if( i < nr_elems-1 ){
498
501
  out = pg_rb_str_ensure_capa( string, 1, out, NULL );
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * pg_column_map.c - PG::ColumnMap class extension
3
- * $Id: pg_type_map.c,v c99d26015e3c 2014/12/12 20:58:25 lars $
3
+ * $Id: pg_type_map.c,v fcf731d3dff7 2015/09/08 12:25:06 jfali $
4
4
  *
5
5
  */
6
6
 
@@ -54,12 +54,12 @@ pg_typemap_typecast_copy_get( t_typemap *p_typemap, VALUE field_str, int fieldno
54
54
  }
55
55
 
56
56
  const struct pg_typemap_funcs pg_typemap_funcs = {
57
- .fit_to_result = pg_typemap_fit_to_result,
58
- .fit_to_query = pg_typemap_fit_to_query,
59
- .fit_to_copy_get = pg_typemap_fit_to_copy_get,
60
- .typecast_result_value = pg_typemap_result_value,
61
- .typecast_query_param = pg_typemap_typecast_query_param,
62
- .typecast_copy_get = pg_typemap_typecast_copy_get
57
+ pg_typemap_fit_to_result,
58
+ pg_typemap_fit_to_query,
59
+ pg_typemap_fit_to_copy_get,
60
+ pg_typemap_result_value,
61
+ pg_typemap_typecast_query_param,
62
+ pg_typemap_typecast_copy_get
63
63
  };
64
64
 
65
65
  static VALUE
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * pg_column_map.c - PG::ColumnMap class extension
3
- * $Id: pg_type_map_by_column.c,v d369d31e8fe3 2014/10/22 08:47:29 lars $
3
+ * $Id: pg_type_map_by_column.c,v fcf731d3dff7 2015/09/08 12:25:06 jfali $
4
4
  *
5
5
  */
6
6
 
@@ -162,12 +162,12 @@ pg_tmbc_typecast_copy_get( t_typemap *p_typemap, VALUE field_str, int fieldno, i
162
162
  }
163
163
 
164
164
  const struct pg_typemap_funcs pg_tmbc_funcs = {
165
- .fit_to_result = pg_tmbc_fit_to_result,
166
- .fit_to_query = pg_tmbc_fit_to_query,
167
- .fit_to_copy_get = pg_tmbc_fit_to_copy_get,
168
- .typecast_result_value = pg_tmbc_result_value,
169
- .typecast_query_param = pg_tmbc_typecast_query_param,
170
- .typecast_copy_get = pg_tmbc_typecast_copy_get
165
+ pg_tmbc_fit_to_result,
166
+ pg_tmbc_fit_to_query,
167
+ pg_tmbc_fit_to_copy_get,
168
+ pg_tmbc_result_value,
169
+ pg_tmbc_typecast_query_param,
170
+ pg_tmbc_typecast_copy_get
171
171
  };
172
172
 
173
173
  static void
data/lib/pg.rb CHANGED
@@ -24,10 +24,10 @@ end
24
24
  module PG
25
25
 
26
26
  # Library version
27
- VERSION = '0.18.3'
27
+ VERSION = '0.18.4'
28
28
 
29
29
  # VCS revision
30
- REVISION = %q$Revision: 3b49541c9f12 $
30
+ REVISION = %q$Revision: da42b972b5ab $
31
31
 
32
32
  class NotAllCopyDataRetrieved < PG::Error
33
33
  end
@@ -1211,6 +1211,12 @@ describe PG::Connection do
1211
1211
  expect( escaped ).to eq( expected.join(".") )
1212
1212
  end
1213
1213
 
1214
+ it "will raise a TypeError for invalid arguments to quote_ident" do
1215
+ expect{ described_class.quote_ident( nil ) }.to raise_error(TypeError)
1216
+ expect{ described_class.quote_ident( [nil] ) }.to raise_error(TypeError)
1217
+ expect{ described_class.quote_ident( [['a']] ) }.to raise_error(TypeError)
1218
+ end
1219
+
1214
1220
  describe "Ruby 1.9.x default_internal encoding" do
1215
1221
 
1216
1222
  it "honors the Encoding.default_internal if it's set and the synchronous interface is used" do
@@ -206,6 +206,13 @@ describe "PG::Type derivations" do
206
206
  expect( quoted_type.encode(['schema','table','col']) ).to eq( %["schema"."table"."col"] )
207
207
  expect( quoted_type.encode(['A.','.B']) ).to eq( %["A.".".B"] )
208
208
  expect( quoted_type.encode(%['A"."B']) ).to eq( %["'A"".""B'"] )
209
+ expect( quoted_type.encode( nil ) ).to be_nil
210
+ end
211
+
212
+ it "will raise a TypeError for invalid arguments to quote_ident" do
213
+ quoted_type = PG::TextEncoder::Identifier.new
214
+ expect{ quoted_type.encode( [nil] ) }.to raise_error(TypeError)
215
+ expect{ quoted_type.encode( [['a']] ) }.to raise_error(TypeError)
209
216
  end
210
217
  end
211
218
 
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.18.3
4
+ version: 0.18.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -31,7 +31,7 @@ cert_chain:
31
31
  G8LHR7EjtPPmqCCunfyecJ6MmCNaiJCBxq2NYzyNmluPyHT8+0fuB5kccUVZm6CD
32
32
  xn3DzOkDE6NYbk8gC9rTsA==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-09-03 00:00:00.000000000 Z
34
+ date: 2015-11-13 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: hoe-mercurial
@@ -309,11 +309,7 @@ licenses:
309
309
  metadata: {}
310
310
  post_install_message:
311
311
  rdoc_options:
312
- - "-f"
313
- - fivefish
314
- - "-t"
315
- - 'pg: The Ruby Interface to PostgreSQL'
316
- - "-m"
312
+ - "--main"
317
313
  - README.rdoc
318
314
  require_paths:
319
315
  - lib
@@ -329,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
329
325
  version: '0'
330
326
  requirements: []
331
327
  rubyforge_project:
332
- rubygems_version: 2.4.7
328
+ rubygems_version: 2.4.5.1
333
329
  signing_key:
334
330
  specification_version: 4
335
331
  summary: Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]
metadata.gz.sig CHANGED
Binary file