pg 0.10.1 → 0.11.0pre220
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.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
|