sequel_pg 1.5.0 → 1.5.1

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.
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-02 00:00:00.000000000 Z
12
+ date: 2012-08-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pg
16
- requirement: &4423931800 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.8.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *4423931800
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.8.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: sequel
27
- requirement: &4423930780 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: 3.36.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *4423930780
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 3.36.0
36
46
  description: ! 'sequel_pg overwrites the inner loop of the Sequel postgres
37
47
 
38
48
  adapter row fetching code with a C version. The C version
@@ -86,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
96
  version: '0'
87
97
  requirements: []
88
98
  rubyforge_project:
89
- rubygems_version: 1.8.11
99
+ rubygems_version: 1.8.23
90
100
  signing_key:
91
101
  specification_version: 3
92
102
  summary: Faster SELECTs when using Sequel with pg