sequel_pg 1.6.11 → 1.6.12

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: 7b51b8daa124c0b93c8210122caa04300bf38ede
4
- data.tar.gz: 04aaec8db5cbf4ae2ac00fa345ef3ced573674cf
3
+ metadata.gz: e9f33b8c063b997f88c569ae9a480f7575f766be
4
+ data.tar.gz: e0e64e1c8c71b7aa7bb5cf1f64c6becbb6cb1e22
5
5
  SHA512:
6
- metadata.gz: 8c19df266a6b88ea412e68c0ce8d08eadaab22d7532ddc20d7c0794afd6a3f02cf35f418443425f5f3fdda734697a8d044c396a4b7afc97e9ad256a361742ea7
7
- data.tar.gz: 12b88db37b2b1366098893dc87fe53b76dc081d5aa82671adfaac3002ef98c77c0ac2e3b4dd20f85a47ea9ca2cec19a6621afc200788fac48ae652c0e57b13bf
6
+ metadata.gz: 429c0c48d6237fd29b6e264a9f3f784aceba55c63080013007bac52a72e1732ceb3b994b769b520d7ab18be2677d420012576620801186588607215a6bdac518
7
+ data.tar.gz: 840839a0691d1c6ed99841065da6394d25dae91fb7af17bc67bb5d6ad848b19000704620e270a2e17f7e54623e8067e158be3dc7c61e9066cd8a2f03b99588fd
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ === 1.6.12 (2015-03-23)
2
+
3
+ * Fix segfault when Dataset#yield_hash_rows is passed a nil value when using ruby pg 0.18+ (jeremyevans) (#19)
4
+
1
5
  === 1.6.11 (2014-11-04)
2
6
 
3
7
  * Work with ruby pg 0.18+ (currently a prerelease) (jeremyevans)
data/README.rdoc CHANGED
@@ -96,11 +96,6 @@ for general use.
96
96
 
97
97
  gem install sequel_pg
98
98
 
99
- The standard gem requires compiling from source, so you need a working
100
- compiler toolchain. Since few Windows users have a working compiler
101
- toolchain, a windows binary gem is available that works on both 1.8
102
- and 1.9.
103
-
104
99
  Note that by default sequel_pg only supports result sets with up to
105
100
  256 columns. If you will have a result set with more than 256 columns,
106
101
  you should modify the maximum supported number of columns via:
@@ -112,6 +107,10 @@ can find the PostgreSQL shared library and header files. Alternatively,
112
107
  you can use the POSTGRES_LIB and POSTGRES_INCLUDE environment
113
108
  variables to specify the shared library and header directories.
114
109
 
110
+ While previous versions of this gem supported Windows, the current
111
+ version does not, due to the need to call C functions defined
112
+ in the pg gem.
113
+
115
114
  == Running the specs
116
115
 
117
116
  sequel_pg doesn't ship with it's own specs. It's designed to
@@ -153,30 +152,11 @@ requirements:
153
152
 
154
153
  sequel_pg has been tested on the following:
155
154
 
156
- === Operating Systems/Platforms
157
-
158
- * Linux (i386)
159
- * OpenBSD (amd64, i386)
160
- * Windows XP (i386)
161
-
162
- === Compiler Versions
163
-
164
- * gcc (3.3.5, 4.2.1, 4.4.3)
165
-
166
- === Supported Ruby Versions
167
-
168
155
  * ruby 1.8.7
169
- * ruby 1.9.2
170
156
  * ruby 1.9.3
171
157
  * ruby 2.0.0
172
- * rbx 1.2.4
173
-
174
- If your platform, compiler version, or ruby version is not listed
175
- above, please test and send me a report including:
176
-
177
- * Your operating system and platform (e.g. i386, x86_64/amd64)
178
- * Your compiler
179
- * Your ruby version
158
+ * ruby 2.1.4
159
+ * rbx 2.2.9
180
160
 
181
161
  == Known Issues
182
162
 
@@ -195,6 +175,14 @@ above, please test and send me a report including:
195
175
 
196
176
  gem 'sequel_pg', :require=>'sequel'
197
177
 
178
+ * sequel_pg currently calls functions defined in the pg gem, which
179
+ does not work on Windows and does not work in some unix-like
180
+ operating systems that disallow undefined functions in shared
181
+ libraries. If <tt>RbConfig::Config['LDFLAGS']</tt> contains
182
+ <tt>-Wl,--no-undefined</tt>, you'll probably have issues installing
183
+ sequel_pg. You should probably fix <tt>RbConfig::Config['LDFLAGS']</tt>
184
+ in that case.
185
+
198
186
  == Author
199
187
 
200
188
  Jeremy Evans <code@jeremyevans.net>
@@ -51,8 +51,8 @@ PGconn* pg_get_pgconn(VALUE);
51
51
  PGresult* pgresult_get(VALUE);
52
52
 
53
53
  /* Normalize access to data objects for both old and new versions of pg gem */
54
- #define GetPGconn(_val, _var) if (unwrap_structs) {_var = pg_get_pgconn(_val);} else {Data_Get_Struct(_val, PGconn, _var);}
55
- #define GetPGresult(_val, _var) if (unwrap_structs) {_var = pgresult_get(_val);} else {Data_Get_Struct(_val, PGresult, _var);}
54
+ #define GetPGconn(_val, _var) if (unwrap_structs) {Check_Type(_val, T_DATA); _var = pg_get_pgconn(_val);} else {Data_Get_Struct(_val, PGconn, _var);}
55
+ #define GetPGresult(_val, _var) if (unwrap_structs) {Check_Type(_val, T_DATA); _var = pgresult_get(_val);} else {Data_Get_Struct(_val, PGresult, _var);}
56
56
 
57
57
  static VALUE spg_Sequel;
58
58
  static VALUE spg_Blob;
@@ -620,12 +620,16 @@ static VALUE spg_yield_hash_rows(VALUE self, VALUE rres, VALUE ignore) {
620
620
  VALUE pg_value;
621
621
  char type = SPG_YIELD_NORMAL;
622
622
 
623
+ if (!RTEST(rres)) {
624
+ return self;
625
+ }
626
+ GetPGresult(rres, res);
627
+
623
628
  #ifdef SPG_ENCODING
624
629
  int enc_index;
625
630
  enc_index = enc_get_index(rres);
626
631
  #endif
627
632
 
628
- GetPGresult(rres, res);
629
633
  ntuples = PQntuples(res);
630
634
  nfields = PQnfields(res);
631
635
  if (nfields > SPG_MAX_FIELDS) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.11
4
+ version: 1.6.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-04 00:00:00.000000000 Z
11
+ date: 2015-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.2.2
94
+ rubygems_version: 2.4.5
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: Faster SELECTs when using Sequel with pg