sequel_pg 1.5.0-x86-mswin32-60 → 1.5.1-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ === 1.5.1 (2012-08-02)
2
+
3
+ * Sprinkle some RB_GC_GUARD to work around segfaults in the PostgreSQL array parser (jeremyevans)
4
+
1
5
  === 1.5.0 (2012-07-02)
2
6
 
3
7
  * Add C-based PostgreSQL array parser, for major speedup in parsing arrays (Dan McClain, jeremyevans)
data/README.rdoc CHANGED
@@ -149,16 +149,11 @@ sequel_pg has been tested on the following:
149
149
 
150
150
  * gcc (3.3.5, 4.2.1, 4.4.3)
151
151
 
152
- === Ruby Versions
152
+ === Supported Ruby Versions
153
153
 
154
- * jruby cext branch (compiles but untested and unusable, as pg itself
155
- doesn't compile yet)
156
- * rbx head
157
- * ruby 1.8.6
158
154
  * ruby 1.8.7
159
- * ruby 1.9.1
160
155
  * ruby 1.9.2
161
- * ruby head
156
+ * ruby 1.9.3
162
157
 
163
158
  If your platform, compiler version, or ruby version is not listed
164
159
  above, please test and send me a report including:
@@ -133,6 +133,7 @@ static VALUE read_array(int *index, char *c_pg_array_string, int array_string_le
133
133
  int escapeNext = 0;
134
134
 
135
135
  VALUE array = rb_ary_new();
136
+ RB_GC_GUARD(array);
136
137
 
137
138
  /* Special case the empty array, so it doesn't need to be handled manually inside
138
139
  * the loop. */
@@ -156,7 +157,9 @@ static VALUE read_array(int *index, char *c_pg_array_string, int array_string_le
156
157
  }
157
158
  else if (RTEST(converter))
158
159
  {
159
- rb_ary_push(array, rb_funcall(converter, spg_id_call, 1, rb_str_new(word, word_index)));
160
+ VALUE rword = rb_str_new(word, word_index);
161
+ RB_GC_GUARD(rword);
162
+ rb_ary_push(array, rb_funcall(converter, spg_id_call, 1, rword));
160
163
  }
161
164
  else
162
165
  {
@@ -217,6 +220,7 @@ static VALUE parse_pg_array(VALUE self, VALUE pg_array_string, VALUE converter)
217
220
  char *c_pg_array_string = StringValueCStr(pg_array_string);
218
221
  int array_string_length = RSTRING_LEN(pg_array_string);
219
222
  VALUE buf = rb_str_buf_new(array_string_length);
223
+ RB_GC_GUARD(buf);
220
224
  char *word = RSTRING_PTR(buf);
221
225
  int index = 1;
222
226
 
data/lib/1.8/sequel_pg.so CHANGED
Binary file
data/lib/1.9/sequel_pg.so CHANGED
Binary file
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_pg
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 5
9
- - 0
10
- version: 1.5.0
9
+ - 1
10
+ version: 1.5.1
11
11
  platform: x86-mswin32-60
12
12
  authors:
13
13
  - Jeremy Evans