pg 0.10.1 → 0.11.0pre220
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/ChangeLog +253 -235
- data/Contributors +2 -0
- data/ext/pg.c +129 -20
- data/spec/pgresult_spec.rb +9 -0
- metadata +11 -6
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,10 +1,28 @@
|
|
1
|
-
|
1
|
+
220[github/master,master,tip]:217,219 fb7d22101adf 2011-02-23 11:40 -0800 ged
|
2
|
+
Merged with 1c3a1ca9f0cd
|
3
|
+
|
4
|
+
219 1c3a1ca9f0cd 2011-01-22 04:41 +0800 ghazel
|
5
|
+
for windows support, duplicate the sockets from libpq and create temporary CRT fds
|
6
|
+
|
7
|
+
218:214 c3f163bf1ecd 2011-01-22 22:11 -0800 ged
|
8
|
+
Pulling fixes for Windows from ghazel on Github
|
9
|
+
|
10
|
+
217 18f413081e0c 2011-02-10 16:19 -0800 ged
|
11
|
+
Bump minor version.
|
12
|
+
|
13
|
+
216 739692aa8dd1 2011-01-31 17:10 -0800 ged
|
14
|
+
Reformatting fixes for PGresult#[] and PGresult#values
|
15
|
+
|
16
|
+
215 59679aee98ee 2011-01-31 11:30 -0600 me-bitbucket
|
17
|
+
added PGresult#values to get an array of arrays
|
18
|
+
|
19
|
+
214 8ab3dd3c757b 2011-01-19 08:00 -0800 ged
|
2
20
|
Added tag v0.10.1 for changeset de10b5d8e442
|
3
21
|
|
4
22
|
213[v0.10.1] de10b5d8e442 2011-01-19 08:00 -0800 ged
|
5
23
|
Added signature for changeset 230ea3e68db2
|
6
24
|
|
7
|
-
212
|
25
|
+
212 230ea3e68db2 2011-01-19 07:54 -0800 ged
|
8
26
|
Add an include guard for pg.h
|
9
27
|
|
10
28
|
211 f877d2d399cc 2011-01-19 07:53 -0800 ged
|
@@ -46,7 +64,7 @@
|
|
46
64
|
199 de86dca00ad2 2010-12-01 18:24 -0800 ged
|
47
65
|
Finished the merge of default; fixed specs under 1.9.2.
|
48
66
|
|
49
|
-
198:197,
|
67
|
+
198:197,188 60664b2495cf 2010-12-01 16:39 -0800 ged
|
50
68
|
merge of default
|
51
69
|
|
52
70
|
197 148d0cc3db4a 2010-12-01 14:19 -0800 ged
|
@@ -67,579 +85,579 @@
|
|
67
85
|
192 413f9e81e3ea 2010-11-01 09:01 -0700 ged
|
68
86
|
More work trying to get the Windows-native gem to compile. No luck, but it's closer.
|
69
87
|
|
70
|
-
191
|
88
|
+
191 3402babf2cdf 2010-10-31 16:29 -0700 ged
|
71
89
|
Fixed issue with PGconn#wait_for_notify that caused it to miss notifications that happened after the LISTEN but before the wait_for_notify.
|
72
90
|
|
73
|
-
190
|
74
|
-
Added support for the payload of NOTIFY events (w/Mahlon E. Smith)
|
75
|
-
|
76
|
-
189:169 ce9b893ff824 2010-10-08 07:25 -0700 ged
|
77
|
-
start new patch on default
|
78
|
-
|
79
|
-
188:120 d5fa3e079a55 2009-12-31 09:58 -0800 ged
|
80
|
-
Closing branch
|
81
|
-
|
82
|
-
187 4c2ea65f2eb9 2008-10-14 05:27 +0000 davis
|
83
|
-
Merged revisions 175 via svnmerge from
|
84
|
-
|
85
|
-
186 7e7c22be0302 2008-10-05 19:43 +0000 davis
|
86
|
-
Merged revisions 169-173 via svnmerge from
|
87
|
-
|
88
|
-
185 3e9dda291ef3 2008-08-17 20:42 +0000 davis
|
89
|
-
Merged revisions 166 via svnmerge from
|
90
|
-
|
91
|
-
184 3686c9944fe1 2008-08-17 20:27 +0000 davis
|
92
|
-
Add ext_helper.rb
|
93
|
-
|
94
|
-
183 ed3294b76bf7 2008-08-17 20:23 +0000 davis
|
95
|
-
Merged revisions 149-160 via svnmerge from
|
96
|
-
|
97
|
-
182 ff6af5fc4dc3 2008-08-17 20:05 +0000 davis
|
98
|
-
Initialized merge tracking via "svnmerge" with revisions "1-146" from
|
99
|
-
|
100
|
-
181 1a7b63bacfee 2008-08-17 19:55 +0000 davis
|
101
|
-
Initialized merge tracking via "svnmerge" with revisions "1-146" from
|
102
|
-
|
103
|
-
180 f9cd915ea427 2008-03-18 02:32 +0000 davis
|
104
|
-
merged ruby-pg/trunk rev 123:146 with ruby-pg/branches/stable
|
105
|
-
|
106
|
-
179 bae01401c92b 2008-03-17 21:29 +0000 davis
|
107
|
-
merged ruby-pg/trunk rev 123:125 with ruby-pg/branches/stable
|
108
|
-
|
109
|
-
178 83e5013eccc8 2008-02-05 19:23 +0000 davis
|
110
|
-
merged ruby-pg/trunk rev 109:121 with ruby-pg/branches/stable
|
111
|
-
|
112
|
-
177 abfe9a457946 2008-01-28 18:50 +0000 davis
|
113
|
-
merged ruby-pg/trunk rev 104 with ruby-pg/branches/stable
|
114
|
-
|
115
|
-
176 c7ddb58579d3 2008-01-24 23:07 +0000 davis
|
116
|
-
moved a few minor changes over before release
|
117
|
-
|
118
|
-
175 8df9da92380e 2008-01-24 18:45 +0000 davis
|
119
|
-
merged revision 77:HEAD of ruby-pg/trunk to ruby-pg/branches/stable
|
120
|
-
|
121
|
-
174 8eb1346cb9aa 2008-01-09 02:08 +0000 davis
|
122
|
-
removed extra directory that was left in the merge
|
123
|
-
|
124
|
-
173 d6d19e5371d4 2008-01-09 01:59 +0000 davis
|
125
|
-
merged ruby-pg/trunk rev 69 to ruby-pg/branches/stable
|
126
|
-
|
127
|
-
172:-1 7716d24a143b 2008-01-07 22:16 +0000 davis
|
128
|
-
Split 'ruby-pg' module and 'postgres' module
|
129
|
-
|
130
|
-
171 9d8f82721f69 2010-10-29 08:09 -0700 ged
|
91
|
+
190 9d8f82721f69 2010-10-29 08:09 -0700 ged
|
131
92
|
Updated to RSpec 2.0
|
132
93
|
|
133
|
-
|
94
|
+
189:186 b2df89600d95 2010-10-11 09:24 -0700 ged
|
134
95
|
Fixes for windows static build.
|
135
96
|
|
136
|
-
|
97
|
+
188 193043bf2244 2010-10-08 09:40 -0700 ged
|
98
|
+
Added support for the payload of NOTIFY events (w/Mahlon E. Smith)
|
99
|
+
|
100
|
+
187 ce9b893ff824 2010-10-08 07:25 -0700 ged
|
101
|
+
start new patch on default
|
102
|
+
|
103
|
+
186 49ff3442c2ee 2010-10-08 07:23 -0700 ged
|
137
104
|
Fixes to get the static windows build to work with PostgreSQL 9.0 and OpenSSL 1.0.0a
|
138
105
|
|
139
|
-
|
106
|
+
185 1fa5cd6851e3 2010-09-28 09:10 -0700 ged
|
140
107
|
More work trying to get the native windows gem to compile under PostgreSQL 9.0
|
141
108
|
|
142
|
-
|
109
|
+
184 c9fb855a7d50 2010-09-28 09:09 -0700 ged
|
143
110
|
Adding a sample of how to use COPY FROM
|
144
111
|
|
145
|
-
|
112
|
+
183 d85ff87e5949 2010-09-24 10:34 -0700 ged
|
146
113
|
Fixes for Ruby 1.9.2.
|
147
114
|
|
148
|
-
|
115
|
+
182 5dbc24f596c8 2010-09-24 10:18 -0700 ged
|
149
116
|
Version bump, updates for PostgreSQL 9.
|
150
117
|
|
151
|
-
|
118
|
+
181 1f8dd92ca16c 2010-08-03 10:31 -0700 ged
|
152
119
|
Merged JRuby fix into the build system, pulled down other build-system updates. Thanks to timfel for the fix.
|
153
120
|
|
154
|
-
|
121
|
+
180 4f705f605e51 2010-08-03 17:56 +0200 timfelgentreff
|
155
122
|
Fix to allow Rakefile to work on JRuby
|
156
123
|
|
157
|
-
|
124
|
+
179 92cc211ef553 2010-08-02 09:28 -0700 ged
|
158
125
|
Honor Ruby's default_internal encoding when connecting via the synchronous interface; fixes #33
|
159
126
|
|
160
|
-
|
127
|
+
178 a2237e39d399 2010-08-02 09:23 -0700 ged
|
161
128
|
Don't treat the installed pg_config not having archflags as an error; fixes #39
|
162
129
|
|
163
|
-
|
130
|
+
177 14b882b7b88c 2010-08-02 09:21 -0700 ged
|
164
131
|
Install extension under arch-specific directory (RPS fix)
|
165
132
|
|
166
|
-
|
133
|
+
176 b0a5ae858569 2010-07-26 19:46 -0700 ged
|
167
134
|
Adding rake tasklibs as a sub-repo
|
168
135
|
|
169
|
-
|
136
|
+
175 37835e3b8701 2010-07-21 18:39 -0700 ged
|
170
137
|
Removed spec for issue #22, as the library is behaving the same as the underlying library; closes #22
|
171
138
|
|
172
|
-
|
139
|
+
174:168,173 86f238c12fa3 2010-07-21 18:36 -0700 ged
|
173
140
|
Merged with 168:dfaa59767b2e
|
174
141
|
|
175
|
-
|
176
|
-
Reworded an example's description and added a specific transaction-abort spec
|
177
|
-
|
178
|
-
155:154,151 e756f8fb15d8 2010-06-22 16:23 -0700 ged
|
142
|
+
173:172,169 e756f8fb15d8 2010-06-22 16:23 -0700 ged
|
179
143
|
Merged with 170:5418a1d86d91
|
180
144
|
|
181
|
-
|
145
|
+
172 8922f0a8ee44 2010-06-22 16:22 -0700 ged
|
182
146
|
Adding example of invalid binary data issue (refs #22), fixing EXT_SO path
|
183
147
|
|
184
|
-
|
148
|
+
171 cb92aa4b6599 2010-02-25 10:39 -0800 ged
|
185
149
|
Adding a spec to test bug #12
|
186
150
|
|
187
|
-
|
151
|
+
170:158 86026f5ecf70 2010-02-25 10:39 -0800 ged
|
188
152
|
Adding rake-compiler to the dev dependencies
|
189
153
|
|
190
|
-
|
154
|
+
169:167 5418a1d86d91 2010-06-22 15:54 -0700 ged
|
191
155
|
Cross-compile tasks cleanup, extconf diagnostic improvement.
|
192
156
|
|
193
|
-
|
157
|
+
168 dfaa59767b2e 2010-07-21 18:35 -0700 ged
|
158
|
+
Reworded an example's description and added a specific transaction-abort spec
|
159
|
+
|
160
|
+
167 07502a793f3a 2010-06-22 10:44 -0700 ged
|
194
161
|
Adding some more stuff to the ignorefile
|
195
162
|
|
196
|
-
|
163
|
+
166 873867122e80 2010-06-22 10:43 -0700 ged
|
197
164
|
Modified the large-object sample script to reflect the pg library's API (refs #35)
|
198
165
|
|
199
|
-
|
166
|
+
165 ea6eae59e917 2010-06-21 11:08 -0700 ged
|
200
167
|
Updating build system, adding .orig files to ignore list.
|
201
168
|
|
202
|
-
|
169
|
+
164 bb8a3baad96e 2010-06-14 13:57 -0700 ged
|
203
170
|
Whitespace fix
|
204
171
|
|
205
|
-
|
172
|
+
163 45e6518b780d 2010-05-26 09:33 -0700 ged
|
206
173
|
Actually, just use the cflags from pg_config, which should resolve both the -Wall and the -lsocket issue (refs #30)
|
207
174
|
|
208
|
-
|
175
|
+
162 730fb885ce08 2010-05-26 09:27 -0700 ged
|
209
176
|
Fixing compilation for non-GCC platforms (fixes #30)
|
210
177
|
|
211
|
-
|
178
|
+
161 a47ffe890970 2010-03-16 07:36 -0700 ged
|
212
179
|
Fixed typo in ext/extconf.rb -- thanks to Keith Cascio for spotting this. Closes #27.
|
213
180
|
|
214
|
-
|
181
|
+
160 9a296096f7e9 2010-02-28 08:56 -0800 ged
|
215
182
|
Added tag 0.9.0 for changeset da726282493c
|
216
183
|
|
217
|
-
|
184
|
+
159[0.9.0] da726282493c 2010-02-28 08:56 -0800 ged
|
218
185
|
Added signature for changeset 872063e42b12
|
219
186
|
|
220
|
-
|
187
|
+
158 872063e42b12 2010-02-19 08:02 -0800 ged
|
221
188
|
Adding "fat gem" compatible loader, set the default RUBY_CC_VERSION.
|
222
189
|
|
223
|
-
|
190
|
+
157 ab525ca90531 2010-02-19 06:27 -0800 ged
|
224
191
|
Updated the Rakefile so it includes itself in gems. (closes #15) Thanks to flameeyes@bitbucket for
|
225
192
|
|
226
|
-
|
193
|
+
156 9c65eb905416 2010-02-18 06:52 -0800 ged
|
227
194
|
Applied patch for PGconn#async_exec to make it have the same semantics as PGconn#exec (closes #19). Thanks again to Lars Kanis for the patch.
|
228
195
|
|
229
|
-
|
196
|
+
155 b0017ac0ecb5 2010-02-17 15:30 -0800 ged
|
230
197
|
Updated the Rakefile to always default the package version even if a version can't be read from the VERSION_FILE.
|
231
198
|
|
232
|
-
|
199
|
+
154 c7d5458af696 2010-02-17 06:23 -0800 ged
|
233
200
|
Improving spec database setup function (closes #18). Thanks to Lars Kanis for another fine patch.
|
234
201
|
|
235
|
-
|
202
|
+
153 39b11474d035 2010-02-17 06:14 -0800 ged
|
236
203
|
Ack! Removing typo
|
237
204
|
|
238
|
-
|
205
|
+
152 9d54bbc98488 2010-02-17 06:10 -0800 ged
|
239
206
|
Adding a test to ensure the result encoding remains the same even when client_encoding in the connection changes.
|
240
207
|
|
241
|
-
|
208
|
+
151 31afece7c203 2010-01-18 09:15 -0800 ged
|
242
209
|
Made the 'make_header' in the extconf more clear.
|
243
210
|
|
244
|
-
|
211
|
+
150:149,148 d9c920068712 2010-01-13 20:56 -0800 pgsql
|
245
212
|
Merged
|
246
213
|
|
247
|
-
|
214
|
+
149:141 294eb6d5530b 2010-01-13 20:51 -0800 pgsql
|
248
215
|
In rspec tests, replace the pattern:
|
249
216
|
|
250
|
-
|
217
|
+
148 74fab32c2687 2010-01-11 08:15 -0800 ged
|
251
218
|
A better fix for the PGconn#block weirdness on Win32 (closes #16).
|
252
219
|
|
253
|
-
|
220
|
+
147 f8dfc1b6c51c 2010-01-06 06:17 -0800 ged
|
254
221
|
Rearranged the sections of the README.
|
255
222
|
|
256
|
-
|
223
|
+
146 0df792de2a19 2010-01-05 08:48 -0800 ged
|
257
224
|
Updating MacOS X README.
|
258
225
|
|
259
|
-
|
226
|
+
145 2894973bc63f 2010-01-04 18:28 -0800 ged
|
260
227
|
Work around broken rb_thread_select() on win32; thanks to Lars Kanis for the patch!
|
261
228
|
|
262
|
-
|
229
|
+
144 88dacdb9c97d 2010-01-04 18:16 -0800 ged
|
263
230
|
Reverted removal of PGresult::InvalidOid, fixed broken spec.
|
264
231
|
|
265
|
-
|
232
|
+
143 739cec560448 2010-01-04 17:55 -0800 ged
|
266
233
|
Ignore some generated files, documentation work, removed type OID constants.
|
267
234
|
|
268
|
-
|
235
|
+
142 38a0d2a90664 2010-01-04 17:39 -0800 ged
|
269
236
|
Applied patch for static cross-compilation of win32 gem from Lars Kanis with a few changes to
|
270
237
|
|
271
|
-
|
238
|
+
141 f31202539234 2010-01-03 11:40 -0800 ged
|
272
239
|
Updated build system
|
273
240
|
|
274
|
-
|
241
|
+
140:138 cc09390cb0a8 2010-01-02 09:22 -0800 ged
|
275
242
|
Added tag 0.8.0 for changeset 7fbe4187e9e5
|
276
243
|
|
277
|
-
|
244
|
+
139:136 d5fa3e079a55 2009-12-31 09:58 -0800 ged
|
245
|
+
Closing branch
|
246
|
+
|
247
|
+
138 05834d47aac3 2009-12-31 09:57 -0800 ged
|
278
248
|
Bumped version to 0.9.0
|
279
249
|
|
280
|
-
|
250
|
+
137:126,136 0997a0aa7624 2009-12-31 09:22 -0800 ged
|
281
251
|
Merged i17n-19-patches branch
|
282
252
|
|
283
|
-
|
253
|
+
136 f5af71167dea 2009-12-28 14:50 -0800 ged
|
284
254
|
Make PGconn.connect_start use PQconnectStart instead of PQconnectdb so asynchronous connection
|
285
255
|
|
286
|
-
|
256
|
+
135 42919e2a4ef8 2009-12-28 08:42 -0800 ged
|
287
257
|
Added column-selection methods to PGresult (#field_values and #column_values). Closes #12. Thanks to
|
288
258
|
|
289
|
-
|
259
|
+
134 39fdb2552163 2009-12-23 08:28 -0800 ged
|
290
260
|
Fixed #11: encrypt_arguments doesn't receive password, thanks to Yuki Miyauchi for the patch.
|
291
261
|
|
292
|
-
|
262
|
+
133 df770b6ad237 2009-12-23 07:49 -0800 ged
|
293
263
|
Fixed infinite loop in async_exec("COPY"), thanks to Mike Pomraning for the patch. Closes #9.
|
294
264
|
|
295
|
-
|
265
|
+
132 4cbcf197cb82 2009-12-16 09:03 -0800 ged
|
296
266
|
New build system, build with rake-compiler, added PGconn::VERSION.
|
297
267
|
|
298
|
-
|
268
|
+
131 6ba661bbdb28 2009-12-15 08:45 -0800 ged
|
299
269
|
Applied Rubyforge patch 26282; fixes #1. Thanks to Nikolai Lugovoi for the patch.
|
300
270
|
|
301
|
-
|
271
|
+
130 3e42badc15de 2009-12-11 17:28 -0800 ged
|
302
272
|
Notify spec fixes, cleanup, Rakefile clean task adjustments.
|
303
273
|
|
304
|
-
|
274
|
+
129 659d80221a45 2009-12-11 13:47 -0800 ged
|
305
275
|
Simplified the spec for PGconn#notify, still segfaulting.
|
306
276
|
|
307
|
-
|
277
|
+
128:127,126 26b614a7ece8 2009-12-11 09:01 -0800 ged
|
308
278
|
Merged Mahlon's examples-directory patch from default.
|
309
279
|
|
310
|
-
|
280
|
+
127:124,125 66234afab283 2009-12-11 09:01 -0800 ged
|
311
281
|
Merged Mahlon's notify patch from default.
|
312
282
|
|
313
|
-
|
283
|
+
126 1e6349a799c3 2009-12-10 10:30 -0800 mahlon
|
314
284
|
Add a sample (usage example) for wait_for_notify().
|
315
285
|
|
316
|
-
|
286
|
+
125:114 a3434e641f6a 2009-12-10 10:22 -0800 mahlon
|
317
287
|
* Small documentation fix for conn.notifies()
|
318
288
|
|
319
|
-
|
289
|
+
124 59549227d7c3 2009-10-29 06:10 -0700 ged
|
320
290
|
Remove old mkrf config file to avoid confusion
|
321
291
|
|
322
|
-
|
292
|
+
123 f30139fb0587 2009-10-28 18:14 -0700 ged
|
323
293
|
Write specs for and applied patch #26283; thanks to Nikolai Lugovoi.
|
324
294
|
|
325
|
-
|
295
|
+
122 a41d4291ffbb 2009-10-28 16:26 -0700 ged
|
326
296
|
Fixups after conversion to Mercurial, fixing tests broken by the changes in the previous commit.
|
327
297
|
|
328
|
-
|
298
|
+
121 91ee1ac36a54 2009-10-28 14:51 +0000 ged
|
329
299
|
* Made spec output elide output from the command line by default, and log everything for
|
330
300
|
|
331
|
-
|
301
|
+
120 0b28f9bd8935 2009-10-17 21:42 +0000 ged
|
332
302
|
Applied patch #26277; thanks to Nikolai Lugovoi.
|
333
303
|
|
334
|
-
|
304
|
+
119 cb5335861c5d 2009-10-16 20:50 +0000 ged
|
335
305
|
Build and warnings cleanup.
|
336
306
|
|
337
|
-
|
307
|
+
118 1d001b550715 2009-08-28 10:50 +0000 ged
|
338
308
|
Applied patch #26116; thanks to Nikolai Lugovoi.
|
339
309
|
|
340
|
-
|
310
|
+
117 d67c62945540 2009-08-28 06:22 +0000 ged
|
341
311
|
* Use pg_ctl -w instead of sleep for specs
|
342
312
|
|
343
|
-
|
313
|
+
116 0524dd20fb0f 2009-08-25 00:35 +0000 ged
|
344
314
|
* Applied patch from (rubyforge:25931), fixes (rubyforge:22925).
|
345
315
|
|
346
|
-
|
316
|
+
115 d0267176eb61 2009-07-30 15:52 +0000 ged
|
347
317
|
Making a branch for merging the patches and new specs to test them.
|
348
318
|
|
349
|
-
|
319
|
+
114[0.8.0] 7fbe4187e9e5 2009-03-28 22:53 +0000 davis
|
350
320
|
Bump version to 0.8.0
|
351
321
|
|
352
|
-
|
322
|
+
113 39a19c65b0a0 2009-03-28 19:39 +0000 cfis
|
353
323
|
Don't call file trace on windows.
|
354
324
|
|
355
|
-
|
325
|
+
112 c4598eee6d1b 2009-03-28 19:33 +0000 cfis
|
356
326
|
Updated VC2008 project
|
357
327
|
|
358
|
-
|
328
|
+
111 c75883fb5979 2009-03-28 19:32 +0000 cfis
|
359
329
|
Updated VC2008 project
|
360
330
|
|
361
|
-
|
331
|
+
110 4192e6d1ccc0 2009-03-28 16:49 +0000 davis
|
362
332
|
Fix socket leak when connection error occurs.
|
363
333
|
|
364
|
-
|
334
|
+
109 03d6ef0de9ef 2009-03-28 15:42 +0000 davis
|
365
335
|
PGconn#lo_close was calling lo_unlink.
|
366
336
|
|
367
|
-
|
337
|
+
108 b27b4b4a54eb 2009-03-28 15:37 +0000 davis
|
368
338
|
Change header so it builds correctly on 1.8 and 1.9.
|
369
339
|
|
370
|
-
|
340
|
+
107 f7b97416c101 2009-03-14 09:22 +0000 cfis
|
371
341
|
Oops - use ALLOC_N not ALLOC, fixes compile error with VC2008.
|
372
342
|
|
373
|
-
|
343
|
+
106 c0fd7531850f 2009-03-14 09:14 +0000 cfis
|
374
344
|
Ignore rdoc directory, pkg directory, nbproject directory.
|
375
345
|
|
376
|
-
|
346
|
+
105 c675c7534c4d 2009-03-14 09:13 +0000 cfis
|
377
347
|
This rakefile is just used for installing the windows gem.
|
378
348
|
|
379
|
-
|
349
|
+
104 c3329724ef5b 2009-03-14 09:13 +0000 cfis
|
380
350
|
Split out building on mingw to a separate rake file.
|
381
351
|
|
382
|
-
|
352
|
+
103 01e1dbb950c8 2009-03-14 09:12 +0000 cfis
|
383
353
|
Updated VC2008 projects for Ruby 1.8 and Ruby 1.9 (1.9 not quite setup yet).
|
384
354
|
|
385
|
-
|
355
|
+
102 677d3eae5b16 2009-03-14 09:11 +0000 cfis
|
386
356
|
Added rdoc task so you can type rake rdoc. Makes it easier to debug rdoc documentation.
|
387
357
|
|
388
|
-
|
358
|
+
101 c33a73c14126 2009-03-14 08:54 +0000 cfis
|
389
359
|
Windows compatibility - use tcp/ip sockets, use full path names, read files in binary mode.
|
390
360
|
|
391
|
-
|
361
|
+
100 241d3410b875 2009-03-14 08:48 +0000 cfis
|
392
362
|
Ripple port change through text. Always full path to open spec file.
|
393
363
|
|
394
|
-
|
364
|
+
99 1bf29d30c16c 2009-03-14 08:29 +0000 cfis
|
395
365
|
First stab at getting test to work on Windows. Windows does not support unix-sockets, so have to use tcp/ip sockets. Also windows requires that command line parameters are quoted with " and not '.
|
396
366
|
|
397
|
-
|
367
|
+
98 4dae2cabb5ae 2009-03-14 07:47 +0000 cfis
|
398
368
|
Export Init_pg in windows shared library.
|
399
369
|
|
400
|
-
|
370
|
+
97 4e9b028c55cd 2009-03-14 07:46 +0000 cfis
|
401
371
|
Fix up memory handling for Windows (match ALLOC with xfree).
|
402
372
|
|
403
|
-
|
373
|
+
96 4a9ffd0aa913 2009-03-06 18:18 +0000 davis
|
404
374
|
1.9 compatibility fixes.
|
405
375
|
|
406
|
-
|
376
|
+
95:93 7178d13749b7 2008-12-03 06:52 +0000 davis
|
407
377
|
Add better support for windows build.
|
408
378
|
|
409
|
-
|
379
|
+
94:92 4c2ea65f2eb9 2008-10-14 05:27 +0000 davis
|
380
|
+
Merged revisions 175 via svnmerge from
|
381
|
+
|
382
|
+
93:91 3bf9ef75bae5 2008-10-14 05:25 +0000 davis
|
410
383
|
Revert r172.
|
411
384
|
|
412
|
-
|
385
|
+
92:86 7e7c22be0302 2008-10-05 19:43 +0000 davis
|
386
|
+
Merged revisions 169-173 via svnmerge from
|
387
|
+
|
388
|
+
91 cdf306d84adf 2008-10-05 19:18 +0000 davis
|
413
389
|
Update spec tests.
|
414
390
|
|
415
|
-
|
391
|
+
90 0386537bd139 2008-10-05 19:04 +0000 davis
|
416
392
|
Include all libraries listed in "pg_config --libs" in the build.
|
417
393
|
|
418
|
-
|
394
|
+
89 68473ee45e28 2008-10-05 18:47 +0000 davis
|
419
395
|
Fix PGconn#async_exec and PGconn#get_last_result to properly clear all
|
420
396
|
|
421
|
-
|
397
|
+
88 622eec9c6b0b 2008-10-05 18:01 +0000 davis
|
422
398
|
Throw correct exception when result is NULL.
|
423
399
|
|
424
|
-
|
400
|
+
87:85 8e8045947a9c 2008-08-21 02:48 +0000 davis
|
425
401
|
Fixed option connection argument in the case of using 7 arguments.
|
426
402
|
|
427
|
-
|
403
|
+
86:84 3e9dda291ef3 2008-08-17 20:42 +0000 davis
|
404
|
+
Merged revisions 166 via svnmerge from
|
405
|
+
|
406
|
+
85:80 c5c44a6267f7 2008-08-17 20:35 +0000 davis
|
428
407
|
Typo fix.
|
429
408
|
|
430
|
-
|
409
|
+
84 3686c9944fe1 2008-08-17 20:27 +0000 davis
|
410
|
+
Add ext_helper.rb
|
411
|
+
|
412
|
+
83 ed3294b76bf7 2008-08-17 20:23 +0000 davis
|
413
|
+
Merged revisions 149-160 via svnmerge from
|
414
|
+
|
415
|
+
82 ff6af5fc4dc3 2008-08-17 20:05 +0000 davis
|
416
|
+
Initialized merge tracking via "svnmerge" with revisions "1-146" from
|
417
|
+
|
418
|
+
81:68 1a7b63bacfee 2008-08-17 19:55 +0000 davis
|
419
|
+
Initialized merge tracking via "svnmerge" with revisions "1-146" from
|
420
|
+
|
421
|
+
80 ed8927d7f45d 2008-08-17 19:26 +0000 davis
|
431
422
|
Properly protect variables from garbage collection, preventing possible memory
|
432
423
|
|
433
|
-
|
424
|
+
79 c7c5d25c851c 2008-08-17 18:19 +0000 davis
|
434
425
|
Applied build patch from Brett Neumeier. Thanks!
|
435
426
|
|
436
|
-
|
427
|
+
78 48d2bdfcc630 2008-07-24 05:46 +0000 davis
|
437
428
|
Fixed PGconn#setnonblocking
|
438
429
|
|
439
|
-
|
430
|
+
77 b2e1bc03aca5 2008-07-24 05:33 +0000 davis
|
440
431
|
Changed all temporary allocations to use ALLOC_N (heap
|
441
432
|
|
442
|
-
|
433
|
+
76 c775c24a75f9 2008-07-08 06:21 +0000 davis
|
443
434
|
Fix oversight in connect arguments for options and connect_timeout
|
444
435
|
|
445
|
-
|
436
|
+
75 b86f0f75181e 2008-04-21 17:41 +0000 davis
|
446
437
|
* backtracked a small piece of the patch, to catch
|
447
438
|
|
448
|
-
|
439
|
+
74 b3a05d09fb27 2008-04-21 17:24 +0000 davis
|
449
440
|
* applied patch from Louis Lavena to improve
|
450
441
|
|
451
|
-
|
442
|
+
73 7579885aff18 2008-04-21 17:13 +0000 davis
|
452
443
|
* added some tests for binary data
|
453
444
|
|
454
|
-
|
445
|
+
72 de58e242dd99 2008-03-20 19:16 +0000 davis
|
455
446
|
* added PGconn#cancel() -> String
|
456
447
|
|
457
|
-
|
448
|
+
71 778892302876 2008-03-20 18:20 +0000 davis
|
458
449
|
* added PGconn.connect_start(...) -> PGconn
|
459
450
|
|
460
|
-
|
451
|
+
70 630cca5e74c1 2008-03-19 21:19 +0000 davis
|
461
452
|
* forgot to add the expected output to the repository,
|
462
453
|
|
463
|
-
|
454
|
+
69:67 661ed2fea9e2 2008-03-19 21:17 +0000 davis
|
464
455
|
This commmit just cleans up indenting and coding
|
465
456
|
|
466
|
-
|
457
|
+
68:65 f9cd915ea427 2008-03-18 02:32 +0000 davis
|
458
|
+
merged ruby-pg/trunk rev 123:146 with ruby-pg/branches/stable
|
459
|
+
|
460
|
+
67 d821d50b7d95 2008-03-17 21:34 +0000 davis
|
467
461
|
re-adding mkrf_config.rb
|
468
462
|
|
469
|
-
|
463
|
+
66:64 a66f44648857 2008-03-17 21:33 +0000 davis
|
470
464
|
temporarily removing mkrf_config.rb and will re-add it in the
|
471
465
|
|
472
|
-
|
466
|
+
65:43 bae01401c92b 2008-03-17 21:29 +0000 davis
|
467
|
+
merged ruby-pg/trunk rev 123:125 with ruby-pg/branches/stable
|
468
|
+
|
469
|
+
64 c8752b1a33cd 2008-03-17 17:29 +0000 davis
|
473
470
|
* 7.3 compatibility fixes
|
474
471
|
|
475
|
-
|
472
|
+
63 4aa1190e1873 2008-03-17 16:19 +0000 davis
|
476
473
|
* Added PGconn#reset_start
|
477
474
|
|
478
|
-
|
475
|
+
62 1224350cdcb6 2008-03-12 17:39 +0000 davis
|
479
476
|
* added SQLSTATE test
|
480
477
|
|
481
|
-
|
478
|
+
61 639f8bf03621 2008-03-12 16:40 +0000 davis
|
482
479
|
* updated the README to reflect the fact that the pg
|
483
480
|
|
484
|
-
|
481
|
+
60 1fd6244025c5 2008-03-11 21:35 +0000 davis
|
485
482
|
* tried to make it easier to find the license information
|
486
483
|
|
487
|
-
|
484
|
+
59 1c4f58ec2264 2008-03-10 23:55 +0000 davis
|
488
485
|
* add better checking to make sure that PGconn#trace is passed
|
489
486
|
|
490
|
-
|
487
|
+
58 e94ce7f92a06 2008-03-10 18:14 +0000 davis
|
491
488
|
* corrected handling of bytea when passed in binary format
|
492
489
|
|
493
|
-
|
490
|
+
57 221e68f16f2d 2008-03-10 17:54 +0000 davis
|
494
491
|
* make PGconn#trace accept any object that provides
|
495
492
|
|
496
|
-
|
493
|
+
56 2e722b22b4bc 2008-03-10 17:34 +0000 davis
|
497
494
|
* Added PGconn#trace(filename)
|
498
495
|
|
499
|
-
|
496
|
+
55 9b1308e85390 2008-03-07 18:11 +0000 davis
|
500
497
|
* Added check to find pg_config. If not found, throw an error.
|
501
498
|
|
502
|
-
|
499
|
+
54 480eae4733ff 2008-02-22 01:26 +0000 davis
|
503
500
|
* fixed PGconn#trace
|
504
501
|
|
505
|
-
|
502
|
+
53 a6a1c8613b31 2008-02-21 01:05 +0000 davis
|
506
503
|
* added PGconn#set_notice_receiver{ |result| ... }
|
507
504
|
|
508
|
-
|
505
|
+
52 8a6e663a70f7 2008-02-19 19:25 +0000 davis
|
509
506
|
quick change
|
510
507
|
|
511
|
-
|
508
|
+
51 5fc41a8f71f0 2008-02-19 19:06 +0000 davis
|
512
509
|
fix escaping of paths on windows (another try)
|
513
510
|
|
514
|
-
|
511
|
+
50 a465fe9f95a3 2008-02-18 19:32 +0000 davis
|
515
512
|
* attempted some compatibility fixes for windows
|
516
513
|
|
517
|
-
|
514
|
+
49 5a91f5660c17 2008-02-13 01:24 +0000 davis
|
518
515
|
* better quoting and error handling when invoking other programs,
|
519
516
|
|
520
|
-
|
517
|
+
48 5289d5034472 2008-02-13 01:10 +0000 davis
|
521
518
|
quote include and library paths
|
522
519
|
|
523
|
-
|
520
|
+
47 ed53517514b1 2008-02-13 00:22 +0000 davis
|
524
521
|
* created a mkrf_config.rb. I am attempting to transition away from
|
525
522
|
|
526
|
-
|
523
|
+
46 21bf96d0f702 2008-02-11 18:35 +0000 davis
|
527
524
|
* windows fixes (thanks Daniel Berger!)
|
528
525
|
|
529
|
-
|
526
|
+
45 9d0a23cf2113 2008-02-11 17:43 +0000 davis
|
530
527
|
* fix temporary postgresql test installation in
|
531
528
|
|
532
|
-
|
529
|
+
44:42 7fcd53437c79 2008-02-08 18:27 +0000 davis
|
533
530
|
* properly retrieve binary data from result sets
|
534
531
|
|
535
|
-
|
532
|
+
43:31 83e5013eccc8 2008-02-05 19:23 +0000 davis
|
533
|
+
merged ruby-pg/trunk rev 109:121 with ruby-pg/branches/stable
|
534
|
+
|
535
|
+
42 295c477ed74f 2008-02-05 17:56 +0000 davis
|
536
536
|
fixed bug caused by a typo. HAVE_LOCREATE should have been HAVE_LO_CREATE
|
537
537
|
|
538
|
-
|
538
|
+
41 ef2214d7f448 2008-02-01 19:33 +0000 davis
|
539
539
|
* made exec, exec_prepared, send_query, and send_prepared with parameters
|
540
540
|
|
541
|
-
|
541
|
+
40 7303b8165a37 2008-02-01 18:29 +0000 davis
|
542
542
|
* Corrected a comment.
|
543
543
|
|
544
|
-
|
544
|
+
39 b3ad2112a91e 2008-01-31 22:11 +0000 davis
|
545
545
|
* removed duplicate definition of PGconn.open
|
546
546
|
|
547
|
-
|
547
|
+
38 ce9c0e52eec6 2008-01-31 21:41 +0000 davis
|
548
548
|
more test improvements
|
549
549
|
|
550
|
-
|
550
|
+
37 97cbdebaeb11 2008-01-31 21:19 +0000 davis
|
551
551
|
renamed pg_spec to pgconn_spec
|
552
552
|
|
553
|
-
|
553
|
+
36 1cb0537730bf 2008-01-31 21:00 +0000 davis
|
554
554
|
* Added some tests
|
555
555
|
|
556
|
-
|
556
|
+
35 29b827c7dbd0 2008-01-30 18:27 +0000 davis
|
557
557
|
* added PGconn.conndefaults
|
558
558
|
|
559
|
-
|
559
|
+
34 c18f38225bc7 2008-01-29 19:44 +0000 davis
|
560
560
|
corrected the tainting of some strings returned by the database
|
561
561
|
|
562
|
-
|
562
|
+
33 56cd8c6ee046 2008-01-29 17:50 +0000 davis
|
563
563
|
changed gem name from 'ruby-pg' to just 'pg'
|
564
564
|
|
565
|
-
|
565
|
+
32:30 a9097dead780 2008-01-28 21:19 +0000 davis
|
566
566
|
made a pg.gemspec so that people can build 'pg' gem
|
567
567
|
|
568
|
-
|
568
|
+
31:26 abfe9a457946 2008-01-28 18:50 +0000 davis
|
569
|
+
merged ruby-pg/trunk rev 104 with ruby-pg/branches/stable
|
570
|
+
|
571
|
+
30 cfdcfcd445ab 2008-01-26 00:20 +0000 davis
|
569
572
|
changed exception type for empty data structures
|
570
573
|
|
571
|
-
|
574
|
+
29 81cd03f8a2c3 2008-01-25 23:42 +0000 davis
|
572
575
|
* added PGconn#async_exec and alias PGconn#async_query
|
573
576
|
|
574
|
-
|
577
|
+
28 29d775393e88 2008-01-25 00:59 +0000 davis
|
575
578
|
added PGresult#cmdtuples as alias for PGresult#cmd_tuples
|
576
579
|
|
577
|
-
|
580
|
+
27:25 eac7df0aa291 2008-01-25 00:46 +0000 davis
|
578
581
|
Added:
|
579
582
|
|
580
|
-
|
583
|
+
26:24 c7ddb58579d3 2008-01-24 23:07 +0000 davis
|
584
|
+
moved a few minor changes over before release
|
585
|
+
|
586
|
+
25:23 7908e778e7c3 2008-01-24 23:00 +0000 davis
|
581
587
|
Added README.windows and README.OS_X
|
582
588
|
|
583
|
-
|
589
|
+
24:8 8df9da92380e 2008-01-24 18:45 +0000 davis
|
590
|
+
merged revision 77:HEAD of ruby-pg/trunk to ruby-pg/branches/stable
|
591
|
+
|
592
|
+
23 7cc13a1f3010 2008-01-24 17:48 +0000 davis
|
584
593
|
Another change to improve windows compatibility.
|
585
594
|
|
586
|
-
|
595
|
+
22 ee0577472b67 2008-01-24 02:07 +0000 davis
|
587
596
|
fixed typo
|
588
597
|
|
589
|
-
|
598
|
+
21 eaf3b1825d56 2008-01-24 02:05 +0000 davis
|
590
599
|
My previous fix for OS X compatibility didn't work well enough.
|
591
600
|
|
592
|
-
|
601
|
+
20 12b2568a0ada 2008-01-23 23:18 +0000 davis
|
593
602
|
* had to include that file conditionally
|
594
603
|
|
595
|
-
|
604
|
+
19 34dd04d21a78 2008-01-23 23:04 +0000 davis
|
596
605
|
* included an additional file so that it works with
|
597
606
|
|
598
|
-
|
607
|
+
18 4cf66b7302bf 2008-01-23 21:42 +0000 davis
|
599
608
|
* added PGconn.quote_ident to quote identifiers
|
600
609
|
|
601
|
-
|
610
|
+
17 081e4d8ee394 2008-01-22 18:48 +0000 davis
|
602
611
|
* made PGconn#query alias for PGconn#exec
|
603
612
|
|
604
|
-
|
613
|
+
16 4774578059e1 2008-01-22 17:52 +0000 davis
|
605
614
|
* Detect if compiling on OS X, and if so set $ARCHFLAGS correctly.
|
606
615
|
|
607
|
-
|
616
|
+
15 204f4b591614 2008-01-21 18:53 +0000 davis
|
608
617
|
made conn.block cleaner and it should be more portable.
|
609
618
|
|
610
|
-
|
619
|
+
14 449d54289f07 2008-01-18 18:10 +0000 davis
|
611
620
|
Miscellaneous changes:
|
612
621
|
|
613
|
-
|
622
|
+
13 aadd4008d2e3 2008-01-17 23:18 +0000 davis
|
614
623
|
started creating a rspec test, more tests to come later
|
615
624
|
|
616
|
-
|
625
|
+
12 4f276bb9c4b1 2008-01-17 23:11 +0000 davis
|
617
626
|
properly free memory in conn.get_copy_data
|
618
627
|
|
619
|
-
|
628
|
+
11 95d9ff13c269 2008-01-15 21:24 +0000 davis
|
620
629
|
Added conn.block( [ timeout ] ) -> Boolean
|
621
630
|
|
622
|
-
|
631
|
+
10 4cefa3b1ecbb 2008-01-14 23:23 +0000 davis
|
623
632
|
Added conn.transaction{ |conn| ... }
|
624
633
|
|
625
|
-
6 ae8c3b66c48d 2008-01-14 19:22 +0000 davis
|
634
|
+
9:6 ae8c3b66c48d 2008-01-14 19:22 +0000 davis
|
626
635
|
Support for PostgreSQL 7.3.
|
627
636
|
|
628
|
-
|
637
|
+
8 8eb1346cb9aa 2008-01-09 02:08 +0000 davis
|
638
|
+
removed extra directory that was left in the merge
|
639
|
+
|
640
|
+
7:0 d6d19e5371d4 2008-01-09 01:59 +0000 davis
|
641
|
+
merged ruby-pg/trunk rev 69 to ruby-pg/branches/stable
|
642
|
+
|
643
|
+
6 1fd8b2aaac4c 2008-01-08 23:19 +0000 davis
|
629
644
|
Added:
|
630
645
|
|
631
|
-
|
646
|
+
5 5c0a63028583 2008-01-08 22:26 +0000 davis
|
632
647
|
Added:
|
633
648
|
|
634
|
-
|
649
|
+
4 40270de77f48 2008-01-07 23:30 +0000 davis
|
635
650
|
fixed a few method defines for async query processing
|
636
651
|
|
637
|
-
|
652
|
+
3 d05d9f2042d7 2008-01-07 22:52 +0000 davis
|
638
653
|
Change conn.exec to use PQexec if no parameters are passed,
|
639
654
|
|
640
|
-
|
655
|
+
2 a531a7bc9241 2008-01-07 22:31 +0000 davis
|
641
656
|
Cleanup after the repository reorganization.
|
642
657
|
|
643
|
-
|
658
|
+
1:-1 aafc8cf17567 2008-01-07 22:16 +0000 davis
|
659
|
+
Split 'ruby-pg' module and 'postgres' module
|
660
|
+
|
661
|
+
0 7716d24a143b 2008-01-07 22:16 +0000 davis
|
644
662
|
Split 'ruby-pg' module and 'postgres' module
|
645
663
|
|
data/Contributors
CHANGED
data/ext/pg.c
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
modified at: Wed Jan 20 16:41:51 1999
|
10
10
|
|
11
11
|
$Author: ged $
|
12
|
-
$Date:
|
12
|
+
$Date: 2011/02/23 19:40:51 $
|
13
13
|
************************************************/
|
14
14
|
|
15
15
|
#include "pg.h"
|
@@ -17,13 +17,18 @@
|
|
17
17
|
# define M17N_SUPPORTED
|
18
18
|
#endif
|
19
19
|
|
20
|
+
#ifdef _WIN32
|
21
|
+
// for O_RDWR and O_BINARY
|
22
|
+
#include <fcntl.h>
|
23
|
+
#endif
|
24
|
+
|
20
25
|
#define rb_define_singleton_alias(klass,new,old) rb_define_alias(rb_singleton_class(klass),new,old)
|
21
26
|
|
22
27
|
static VALUE rb_cPGconn;
|
23
28
|
static VALUE rb_cPGresult;
|
24
29
|
static VALUE rb_ePGError;
|
25
30
|
|
26
|
-
static const char *VERSION = "0.
|
31
|
+
static const char *VERSION = "0.11.0";
|
27
32
|
|
28
33
|
|
29
34
|
/* The following functions are part of libpq, but not
|
@@ -2117,6 +2122,35 @@ pgconn_notifies(VALUE self)
|
|
2117
2122
|
}
|
2118
2123
|
|
2119
2124
|
|
2125
|
+
#ifdef _WIN32
|
2126
|
+
void create_crt_fd(fd_set *os_set, fd_set *crt_set)
|
2127
|
+
{
|
2128
|
+
int i;
|
2129
|
+
crt_set->fd_count = os_set->fd_count;
|
2130
|
+
for (i = 0; i < os_set->fd_count; i++) {
|
2131
|
+
WSAPROTOCOL_INFO wsa_pi;
|
2132
|
+
/* dupicate the SOCKET */
|
2133
|
+
int r = WSADuplicateSocket(os_set->fd_array[i], GetCurrentProcessId(), &wsa_pi);
|
2134
|
+
SOCKET s = WSASocket(wsa_pi.iAddressFamily, wsa_pi.iSocketType, wsa_pi.iProtocol, &wsa_pi, 0, 0);
|
2135
|
+
/* create the CRT fd so ruby can get back to the SOCKET */
|
2136
|
+
int fd = _open_osfhandle(s, O_RDWR|O_BINARY);
|
2137
|
+
os_set->fd_array[i] = s;
|
2138
|
+
crt_set->fd_array[i] = fd;
|
2139
|
+
}
|
2140
|
+
}
|
2141
|
+
|
2142
|
+
void cleanup_crt_fd(fd_set *os_set, fd_set *crt_set)
|
2143
|
+
{
|
2144
|
+
int i;
|
2145
|
+
for (i = 0; i < os_set->fd_count; i++) {
|
2146
|
+
/* cleanup the CRT fd */
|
2147
|
+
_close(crt_set->fd_array[i]);
|
2148
|
+
/* cleanup the duplicated SOCKET */
|
2149
|
+
closesocket(os_set->fd_array[i]);
|
2150
|
+
}
|
2151
|
+
}
|
2152
|
+
#endif
|
2153
|
+
|
2120
2154
|
/*
|
2121
2155
|
* call-seq:
|
2122
2156
|
* conn.wait_for_notify( [ timeout ] ) -> String
|
@@ -2143,9 +2177,12 @@ pgconn_wait_for_notify(int argc, VALUE *argv, VALUE self)
|
|
2143
2177
|
VALUE timeout_in, relname = Qnil, be_pid = Qnil, extra = Qnil;
|
2144
2178
|
double timeout_sec;
|
2145
2179
|
fd_set sd_rset;
|
2180
|
+
#ifdef _WIN32
|
2181
|
+
fd_set crt_sd_rset;
|
2182
|
+
#endif
|
2146
2183
|
|
2147
2184
|
if ( sd < 0 )
|
2148
|
-
rb_bug("PQsocket(conn): couldn't fetch the connection's socket!");
|
2185
|
+
rb_bug( "PQsocket(conn): couldn't fetch the connection's socket!" );
|
2149
2186
|
|
2150
2187
|
if ( rb_scan_args(argc, argv, "01", &timeout_in) == 1 ) {
|
2151
2188
|
timeout_sec = NUM2DBL( timeout_in );
|
@@ -2159,8 +2196,18 @@ pgconn_wait_for_notify(int argc, VALUE *argv, VALUE self)
|
|
2159
2196
|
FD_ZERO( &sd_rset );
|
2160
2197
|
FD_SET( sd, &sd_rset );
|
2161
2198
|
|
2199
|
+
#ifdef _WIN32
|
2200
|
+
create_crt_fd(&sd_rset, &crt_sd_rset);
|
2201
|
+
#endif
|
2202
|
+
|
2162
2203
|
/* Wait for the socket to become readable before checking again */
|
2163
|
-
|
2204
|
+
ret = rb_thread_select( sd+1, &sd_rset, NULL, NULL, ptimeout );
|
2205
|
+
|
2206
|
+
#ifdef _WIN32
|
2207
|
+
cleanup_crt_fd(&sd_rset, &crt_sd_rset);
|
2208
|
+
#endif
|
2209
|
+
|
2210
|
+
if ( ret < 0 )
|
2164
2211
|
rb_sys_fail( 0 );
|
2165
2212
|
|
2166
2213
|
/* Return nil if the select timed out */
|
@@ -2168,7 +2215,7 @@ pgconn_wait_for_notify(int argc, VALUE *argv, VALUE self)
|
|
2168
2215
|
|
2169
2216
|
/* Read the socket */
|
2170
2217
|
if ( (ret = PQconsumeInput(conn)) != 1 )
|
2171
|
-
rb_raise(rb_ePGError, "PQconsumeInput == %d: %s", ret, PQerrorMessage(conn));
|
2218
|
+
rb_raise( rb_ePGError, "PQconsumeInput == %d: %s", ret, PQerrorMessage(conn) );
|
2172
2219
|
}
|
2173
2220
|
|
2174
2221
|
relname = rb_tainted_str_new2( notification->relname );
|
@@ -2607,6 +2654,9 @@ pgconn_block( int argc, VALUE *argv, VALUE self ) {
|
|
2607
2654
|
VALUE timeout_in;
|
2608
2655
|
double timeout_sec;
|
2609
2656
|
fd_set sd_rset;
|
2657
|
+
#ifdef _WIN32
|
2658
|
+
fd_set crt_sd_rset;
|
2659
|
+
#endif
|
2610
2660
|
|
2611
2661
|
/* Always set a timeout in WIN32, as rb_thread_select() sometimes
|
2612
2662
|
* doesn't return when a second ruby thread is running although data
|
@@ -2630,7 +2680,16 @@ pgconn_block( int argc, VALUE *argv, VALUE self ) {
|
|
2630
2680
|
while ( PQisBusy(conn) ) {
|
2631
2681
|
FD_ZERO( &sd_rset );
|
2632
2682
|
FD_SET( sd, &sd_rset );
|
2633
|
-
|
2683
|
+
|
2684
|
+
#ifdef _WIN32
|
2685
|
+
create_crt_fd(&sd_rset, &crt_sd_rset);
|
2686
|
+
#endif
|
2687
|
+
|
2688
|
+
ret = rb_thread_select (sd+1, &sd_rset, NULL, NULL, ptimeout );
|
2689
|
+
|
2690
|
+
#ifdef _WIN32
|
2691
|
+
cleanup_crt_fd(&sd_rset, &crt_sd_rset);
|
2692
|
+
#endif
|
2634
2693
|
|
2635
2694
|
/* Return false if there was a timeout argument and the select() timed out */
|
2636
2695
|
if ( ret == 0 && argc )
|
@@ -3524,36 +3583,84 @@ pgresult_aref(VALUE self, VALUE index)
|
|
3524
3583
|
VALUE fname,val;
|
3525
3584
|
VALUE tuple;
|
3526
3585
|
|
3527
|
-
if(tuple_num < 0 || tuple_num >= PQntuples(result))
|
3528
|
-
rb_raise(rb_eIndexError, "Index %d is out of range", tuple_num);
|
3586
|
+
if ( tuple_num < 0 || tuple_num >= PQntuples(result) )
|
3587
|
+
rb_raise( rb_eIndexError, "Index %d is out of range", tuple_num );
|
3588
|
+
|
3529
3589
|
tuple = rb_hash_new();
|
3530
|
-
for(field_num = 0; field_num < PQnfields(result); field_num++) {
|
3531
|
-
fname = rb_tainted_str_new2(PQfname(result,field_num));
|
3590
|
+
for ( field_num = 0; field_num < PQnfields(result); field_num++ ) {
|
3591
|
+
fname = rb_tainted_str_new2( PQfname(result,field_num) );
|
3532
3592
|
ASSOCIATE_INDEX(fname, self);
|
3533
|
-
if(PQgetisnull(result, tuple_num, field_num)) {
|
3534
|
-
rb_hash_aset(tuple, fname, Qnil);
|
3593
|
+
if ( PQgetisnull(result, tuple_num, field_num) ) {
|
3594
|
+
rb_hash_aset( tuple, fname, Qnil );
|
3535
3595
|
}
|
3536
3596
|
else {
|
3537
|
-
val = rb_tainted_str_new(PQgetvalue(result, tuple_num, field_num),
|
3538
|
-
|
3597
|
+
val = rb_tainted_str_new( PQgetvalue(result, tuple_num, field_num ),
|
3598
|
+
PQgetlength(result, tuple_num, field_num) );
|
3539
3599
|
|
3540
3600
|
/* associate client encoding for text format only */
|
3541
|
-
if(0 == PQfformat(result, field_num)) {
|
3542
|
-
|
3543
|
-
ASSOCIATE_INDEX(val, self);
|
3601
|
+
if ( 0 == PQfformat(result, field_num) ) {
|
3602
|
+
ASSOCIATE_INDEX( val, self );
|
3544
3603
|
} else {
|
3545
3604
|
#ifdef M17N_SUPPORTED
|
3546
|
-
|
3547
|
-
rb_enc_associate(val, rb_ascii8bit_encoding());
|
3605
|
+
rb_enc_associate( val, rb_ascii8bit_encoding() );
|
3548
3606
|
#endif
|
3549
3607
|
}
|
3550
|
-
rb_hash_aset(tuple, fname, val);
|
3608
|
+
rb_hash_aset( tuple, fname, val );
|
3551
3609
|
}
|
3552
3610
|
}
|
3553
3611
|
return tuple;
|
3554
3612
|
}
|
3555
3613
|
|
3556
3614
|
|
3615
|
+
/*
|
3616
|
+
* call-seq:
|
3617
|
+
* res.values -> Array
|
3618
|
+
*
|
3619
|
+
* Returns all tuples as an array of arrays.
|
3620
|
+
*/
|
3621
|
+
static VALUE
|
3622
|
+
pgresult_values(VALUE self, VALUE index)
|
3623
|
+
{
|
3624
|
+
PGresult* result = (PGresult*) get_pgresult(self);
|
3625
|
+
int row;
|
3626
|
+
int field;
|
3627
|
+
int num_rows = PQntuples(result);
|
3628
|
+
int num_fields = PQnfields(result);
|
3629
|
+
VALUE ary = rb_ary_new2(num_rows);
|
3630
|
+
|
3631
|
+
for ( row = 0; row < num_rows; row++ ) {
|
3632
|
+
/* create new row */
|
3633
|
+
VALUE new_row = rb_ary_new2(num_fields);
|
3634
|
+
|
3635
|
+
/* add to return array */
|
3636
|
+
rb_ary_store( ary, row, new_row );
|
3637
|
+
|
3638
|
+
/* populate it */
|
3639
|
+
for ( field = 0; field < num_fields; field++ ) {
|
3640
|
+
if ( PQgetisnull(result, row, field) ) {
|
3641
|
+
rb_ary_store( new_row, field, Qnil );
|
3642
|
+
}
|
3643
|
+
else {
|
3644
|
+
VALUE val = rb_tainted_str_new( PQgetvalue(result, row, field),
|
3645
|
+
PQgetlength(result, row, field) );
|
3646
|
+
|
3647
|
+
/* associate client encoding for text format only */
|
3648
|
+
if ( 0 == PQfformat(result, field) ) {
|
3649
|
+
ASSOCIATE_INDEX( val, self );
|
3650
|
+
} else {
|
3651
|
+
#ifdef M17N_SUPPORTED
|
3652
|
+
rb_enc_associate( val, rb_ascii8bit_encoding() );
|
3653
|
+
#endif
|
3654
|
+
}
|
3655
|
+
|
3656
|
+
rb_ary_store( new_row, field, val );
|
3657
|
+
}
|
3658
|
+
}
|
3659
|
+
}
|
3660
|
+
return ary;
|
3661
|
+
}
|
3662
|
+
|
3663
|
+
|
3557
3664
|
/*
|
3558
3665
|
* call-seq:
|
3559
3666
|
* res.column_values( n ) -> array
|
@@ -3668,6 +3775,7 @@ pgresult_fields(VALUE self)
|
|
3668
3775
|
return ary;
|
3669
3776
|
}
|
3670
3777
|
|
3778
|
+
|
3671
3779
|
#ifdef M17N_SUPPORTED
|
3672
3780
|
/**
|
3673
3781
|
* The mapping from canonical encoding names in PostgreSQL to ones in Ruby.
|
@@ -4305,6 +4413,7 @@ Init_pg_ext()
|
|
4305
4413
|
rb_define_method(rb_cPGresult, "[]", pgresult_aref, 1);
|
4306
4414
|
rb_define_method(rb_cPGresult, "each", pgresult_each, 0);
|
4307
4415
|
rb_define_method(rb_cPGresult, "fields", pgresult_fields, 0);
|
4416
|
+
rb_define_method(rb_cPGresult, "values", pgresult_values, 0);
|
4308
4417
|
rb_define_method(rb_cPGresult, "column_values", pgresult_column_values, 1);
|
4309
4418
|
rb_define_method(rb_cPGresult, "field_values", pgresult_field_values, 1);
|
4310
4419
|
|
data/spec/pgresult_spec.rb
CHANGED
@@ -121,6 +121,15 @@ describe PGresult do
|
|
121
121
|
}.to raise_error( IndexError, /-1 is out of range/i )
|
122
122
|
end
|
123
123
|
|
124
|
+
it "should raise allow for conversion to an array of arrays" do
|
125
|
+
@conn.exec( 'CREATE TABLE valuestest ( foo varchar(33) )' )
|
126
|
+
@conn.exec( 'INSERT INTO valuestest ("foo") values (\'bar\')' )
|
127
|
+
@conn.exec( 'INSERT INTO valuestest ("foo") values (\'bar2\')' )
|
128
|
+
|
129
|
+
res = @conn.exec( 'SELECT * FROM valuestest' )
|
130
|
+
res.values.should == [ ["bar"], ["bar2"] ]
|
131
|
+
end
|
132
|
+
|
124
133
|
# PQfmod
|
125
134
|
it "can return the type modifier for a result column" do
|
126
135
|
@conn.exec( 'CREATE TABLE fmodtest ( foo varchar(33) )' )
|
metadata
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 1923832225
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
|
8
|
+
- 11
|
9
|
+
- 0
|
10
|
+
- pre
|
11
|
+
- 220
|
12
|
+
version: 0.11.0pre220
|
10
13
|
platform: ruby
|
11
14
|
authors:
|
12
15
|
- Jeff Davis
|
@@ -35,7 +38,7 @@ cert_chain:
|
|
35
38
|
cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
|
36
39
|
-----END CERTIFICATE-----
|
37
40
|
|
38
|
-
date: 2011-
|
41
|
+
date: 2011-02-23 00:00:00 -08:00
|
39
42
|
default_executable:
|
40
43
|
dependencies: []
|
41
44
|
|
@@ -117,6 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
117
120
|
requirements:
|
118
121
|
- - ">="
|
119
122
|
- !ruby/object:Gem::Version
|
123
|
+
hash: 57
|
120
124
|
segments:
|
121
125
|
- 1
|
122
126
|
- 8
|
@@ -127,13 +131,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
131
|
requirements:
|
128
132
|
- - ">="
|
129
133
|
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
130
135
|
segments:
|
131
136
|
- 0
|
132
137
|
version: "0"
|
133
138
|
requirements:
|
134
139
|
- PostgreSQL >=7.4
|
135
140
|
rubyforge_project:
|
136
|
-
rubygems_version: 1.
|
141
|
+
rubygems_version: 1.5.2
|
137
142
|
signing_key:
|
138
143
|
specification_version: 3
|
139
144
|
summary: A Ruby interface to the PostgreSQL RDBMS
|
metadata.gz.sig
CHANGED
Binary file
|