pg 0.17.1 → 0.18.4
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/ChangeLog +2407 -2
- data/History.rdoc +68 -0
- data/Manifest.txt +29 -1
- data/README-Windows.rdoc +15 -26
- data/README.rdoc +52 -2
- data/Rakefile +56 -18
- data/Rakefile.cross +77 -49
- data/ext/extconf.rb +33 -26
- data/ext/pg.c +142 -21
- data/ext/pg.h +242 -6
- data/ext/pg_binary_decoder.c +162 -0
- data/ext/pg_binary_encoder.c +162 -0
- data/ext/pg_coder.c +479 -0
- data/ext/pg_connection.c +858 -553
- data/ext/pg_copy_coder.c +561 -0
- data/ext/pg_errors.c +6 -0
- data/ext/pg_result.c +479 -128
- data/ext/pg_text_decoder.c +421 -0
- data/ext/pg_text_encoder.c +663 -0
- data/ext/pg_type_map.c +159 -0
- data/ext/pg_type_map_all_strings.c +116 -0
- data/ext/pg_type_map_by_class.c +239 -0
- data/ext/pg_type_map_by_column.c +312 -0
- data/ext/pg_type_map_by_mri_type.c +284 -0
- data/ext/pg_type_map_by_oid.c +355 -0
- data/ext/pg_type_map_in_ruby.c +299 -0
- data/ext/util.c +149 -0
- data/ext/util.h +65 -0
- data/lib/pg/basic_type_mapping.rb +399 -0
- data/lib/pg/coder.rb +83 -0
- data/lib/pg/connection.rb +81 -29
- data/lib/pg/result.rb +13 -3
- data/lib/pg/text_decoder.rb +44 -0
- data/lib/pg/text_encoder.rb +27 -0
- data/lib/pg/type_map_by_column.rb +15 -0
- data/lib/pg.rb +12 -2
- data/spec/{lib/helpers.rb → helpers.rb} +101 -39
- data/spec/pg/basic_type_mapping_spec.rb +251 -0
- data/spec/pg/connection_spec.rb +516 -218
- data/spec/pg/result_spec.rb +216 -112
- data/spec/pg/type_map_by_class_spec.rb +138 -0
- data/spec/pg/type_map_by_column_spec.rb +222 -0
- data/spec/pg/type_map_by_mri_type_spec.rb +136 -0
- data/spec/pg/type_map_by_oid_spec.rb +149 -0
- data/spec/pg/type_map_in_ruby_spec.rb +164 -0
- data/spec/pg/type_map_spec.rb +22 -0
- data/spec/pg/type_spec.rb +697 -0
- data/spec/pg_spec.rb +24 -18
- data.tar.gz.sig +0 -0
- metadata +111 -45
- metadata.gz.sig +0 -0
data/ChangeLog
CHANGED
@@ -1,8 +1,2413 @@
|
|
1
|
+
2015-11-13 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* .hgignore:
|
4
|
+
Ignore some build artifacts
|
5
|
+
[f4bd9e53ccab] [tip]
|
6
|
+
|
7
|
+
* Rakefile:
|
8
|
+
Only use fivefish formatter when building from repo
|
9
|
+
[6161d8eeb3f1]
|
10
|
+
|
11
|
+
2015-11-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
12
|
+
|
13
|
+
* History.rdoc:
|
14
|
+
Update History.rdoc regarding PR#22.
|
15
|
+
[e4a8a1d41104]
|
16
|
+
|
17
|
+
* Merge ../ruby-pg.git.bare
|
18
|
+
[810c1e4dad4d]
|
19
|
+
|
20
|
+
2015-10-08 Lars Kanis <larskanis@gmail.com>
|
21
|
+
|
22
|
+
* README.rdoc:
|
23
|
+
Fix link to appveyor CI tests in the README.
|
24
|
+
[604f4dd3d5bd]
|
25
|
+
|
26
|
+
2015-11-04 Lars Kanis <lars@greiz-reinsdorf.de>
|
27
|
+
|
28
|
+
* ext/pg_binary_encoder.c:
|
29
|
+
Merged in t-richards/ruby-pg/jemalloc-native-ext (pull request #22)
|
30
|
+
|
31
|
+
Fix build against jemalloc 4.0.0
|
32
|
+
[72168db5fb7b]
|
33
|
+
|
34
|
+
2015-09-10 Tom Richards <tom@tomrichards.net>
|
35
|
+
|
36
|
+
* ext/pg_binary_encoder.c:
|
37
|
+
Fix build against jemalloc 4.0.0
|
38
|
+
[fe05106909f7] <jemalloc-native-ext>
|
39
|
+
|
40
|
+
2015-09-24 Lars Kanis <lars@greiz-reinsdorf.de>
|
41
|
+
|
42
|
+
* History.rdoc:
|
43
|
+
Add latest changes to History.rdoc.
|
44
|
+
[11b978b08d63]
|
45
|
+
|
46
|
+
* History.rdoc:
|
47
|
+
Add missing entry in History.rdoc.
|
48
|
+
|
49
|
+
This fixes bitbucket issue #225 : https://bitbucket.org/ged/ruby-
|
50
|
+
pg/issues/225
|
51
|
+
[132d674d999f]
|
52
|
+
|
53
|
+
* Merge ../ruby-pg.git.bare
|
54
|
+
[479799a98cfa]
|
55
|
+
|
56
|
+
* ext/pg_text_encoder.c, spec/pg/connection_spec.rb,
|
57
|
+
spec/pg/type_spec.rb:
|
58
|
+
Avoid segfault, when quote_ident is called with Array containing
|
59
|
+
non-strings.
|
60
|
+
|
61
|
+
This fixes bitbucket issue #226 : https://bitbucket.org/ged/ruby-
|
62
|
+
pg/issues/226
|
63
|
+
[4f0bd19e9111]
|
64
|
+
|
65
|
+
2015-09-08 Lars Kanis <lars@greiz-reinsdorf.de>
|
66
|
+
|
67
|
+
* Merge pull request #10 from PuzzleFlow/master
|
68
|
+
|
69
|
+
Fixing compilation problems with Microsoft Visual Studio 2008.
|
70
|
+
[dfb62954f2d6]
|
71
|
+
|
72
|
+
2015-09-08 jfali <jfali@puzzleflow.com>
|
73
|
+
|
74
|
+
* ext/extconf.rb, ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
|
75
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c, ext/pg_type_map.c,
|
76
|
+
ext/pg_type_map_by_column.c:
|
77
|
+
Fixing compilation problems with Microsoft Visual Studio 2008.
|
78
|
+
- inttypes.h is not available in MSVC 2008
|
79
|
+
- Structs members must be initialized implicitly
|
80
|
+
[fcf731d3dff7]
|
81
|
+
|
82
|
+
2015-09-07 Lars Kanis <lars@greiz-reinsdorf.de>
|
83
|
+
|
84
|
+
* README.rdoc:
|
85
|
+
Merge pull request #8 from gitter-badger/gitter-badge
|
86
|
+
|
87
|
+
Add a Gitter chat badge to README.rdoc
|
88
|
+
[ab4d5656abce]
|
89
|
+
|
90
|
+
2015-03-09 The Gitter Badger <badger@gitter.im>
|
91
|
+
|
92
|
+
* README.rdoc:
|
93
|
+
Added Gitter badge
|
94
|
+
[beb02a90f948]
|
95
|
+
|
96
|
+
2015-09-03 Michael Granger <ged@FaerieMUD.org>
|
97
|
+
|
98
|
+
* .hgtags:
|
99
|
+
Added tag v0.18.3 for changeset 01c42c68797e
|
100
|
+
[4c8df76aff6f]
|
101
|
+
|
102
|
+
* .hgsigs:
|
103
|
+
Added signature for changeset 57291f1e96b9
|
104
|
+
[01c42c68797e] [v0.18.3]
|
105
|
+
|
106
|
+
* .hoerc:
|
107
|
+
Exclude some generated files from the Manifest
|
108
|
+
[57291f1e96b9]
|
109
|
+
|
110
|
+
* History.rdoc, lib/pg.rb:
|
111
|
+
Bump patch version, update history
|
112
|
+
[3b49541c9f12]
|
113
|
+
|
114
|
+
2015-09-01 Lars Kanis <lars@greiz-reinsdorf.de>
|
115
|
+
|
116
|
+
* lib/pg/text_decoder.rb:
|
117
|
+
Add missing require
|
118
|
+
[d0ba6a2cb10f]
|
119
|
+
|
120
|
+
* Merge pull request #9 from ramfjord/date-decoder-return-dates
|
121
|
+
|
122
|
+
Date decoder to return real Dates
|
123
|
+
[676def89b826]
|
124
|
+
|
125
|
+
2015-06-21 Thomas Ramfjord <thomas.ramfjord@gmail.com>
|
126
|
+
|
127
|
+
* lib/pg/text_decoder.rb, spec/pg/basic_type_mapping_spec.rb:
|
128
|
+
modified TextDecoder::Date to return an actual ruby Date instead of
|
129
|
+
a Time
|
130
|
+
[c50593d12ba2]
|
131
|
+
|
132
|
+
2015-08-20 Lars Kanis <lars@greiz-reinsdorf.de>
|
133
|
+
|
134
|
+
* Rakefile:
|
135
|
+
Add include for Hoe::MercurialHelpers as a temporary solution for
|
136
|
+
the error:
|
137
|
+
|
138
|
+
Packaging tasks require the hoe-mercurial plugin (gem install hoe-
|
139
|
+
mercurial)
|
140
|
+
[a84f83ff5b31]
|
141
|
+
|
142
|
+
* History.rdoc:
|
143
|
+
Update History.rdoc
|
144
|
+
[cadfac537e73]
|
145
|
+
|
146
|
+
* Merge branch 'master' of github.com:larskanis/ruby-pg
|
147
|
+
[d27d6d5a6545]
|
148
|
+
|
149
|
+
* README.rdoc:
|
150
|
+
Add Appveyor status badge to the README.
|
151
|
+
[c9637c6efcfb]
|
152
|
+
|
153
|
+
* appveyor.yml:
|
154
|
+
Use 9.3 because 9.0, 9.1 and 9.2 segfault in PG.init_openssl
|
155
|
+
[158f6649b7b8]
|
156
|
+
|
157
|
+
* spec/pg/connection_spec.rb:
|
158
|
+
Skip conn#host test on Windows-x64, because it segfaults, currently.
|
159
|
+
[04110aad7fc6]
|
160
|
+
|
161
|
+
* spec/pg/connection_spec.rb:
|
162
|
+
libpq on Windows doesn't respect the PGPORT env variable, so we
|
163
|
+
accept both.
|
164
|
+
[b4b666011f3f]
|
165
|
+
|
166
|
+
* spec/helpers.rb:
|
167
|
+
Older versions of PostgreSQL don't have a pid column, so this could
|
168
|
+
raise an exception: TypeError: can't convert nil into Integer
|
169
|
+
[48f1145fa631]
|
170
|
+
|
171
|
+
* Rakefile.cross:
|
172
|
+
Update OpenSSL version for Windows cross build.
|
173
|
+
[be6b75fef0ff]
|
174
|
+
|
175
|
+
* appveyor.yml:
|
176
|
+
Add CI-tests on appveyor.
|
177
|
+
[c2dc9e491853]
|
178
|
+
|
179
|
+
2015-06-29 Lars Kanis <kanis@comcard.de>
|
180
|
+
|
181
|
+
* History.rdoc:
|
182
|
+
Merge branch 'master' of https://github.com/larskanis/ruby-pg
|
183
|
+
|
184
|
+
Conflicts: History.rdoc
|
185
|
+
[affb47533d82]
|
186
|
+
|
187
|
+
* History.rdoc, ext/util.c, spec/pg/type_spec.rb:
|
188
|
+
Fix data type resulting in wrong base64 encoding.
|
189
|
+
[5fb9170f6a7d]
|
190
|
+
|
191
|
+
2015-06-17 Lars Kanis <lars@greiz-reinsdorf.de>
|
192
|
+
|
193
|
+
* Gemfile, Rakefile, Rakefile.cross:
|
194
|
+
Update versions of rake-compiler-dock, OpenSSL and PostgreSQL.
|
195
|
+
[10c6b496314c]
|
196
|
+
|
197
|
+
2015-06-12 Lars Kanis <lars@greiz-reinsdorf.de>
|
198
|
+
|
199
|
+
* Rakefile.cross:
|
200
|
+
Update OpenSSL and PostgreSQL versions for cross build.
|
201
|
+
[02094cca1cf8]
|
202
|
+
|
203
|
+
2015-06-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
204
|
+
|
205
|
+
* History.rdoc, README-Windows.rdoc:
|
206
|
+
Update README-Windows in regards to rake-compiler-dock.
|
207
|
+
[4d9fd821ec1e]
|
208
|
+
|
209
|
+
2015-06-09 Lars Kanis <kanis@comcard.de>
|
210
|
+
|
211
|
+
* Rakefile.cross:
|
212
|
+
Cross build: Ensure ChangeLog file is built on the host side before
|
213
|
+
entering the docker container.
|
214
|
+
[d32412acff38]
|
215
|
+
|
216
|
+
* Rakefile.cross:
|
217
|
+
Cross build: Add workaround for missing symlink support on Windows.
|
218
|
+
[52bb3eef00f0]
|
219
|
+
|
220
|
+
* Rakefile.cross:
|
221
|
+
Explicitly set the gcc-toolchain, instead of deriving from the rake-
|
222
|
+
compiler config.
|
223
|
+
|
224
|
+
Now, that we use the libpq.dll (instead of static linking), we can
|
225
|
+
mix the gcc-toolchains. So we better build the dll with the newer
|
226
|
+
mingw-w64 toolchain (instead of the old mingw32) and build only the
|
227
|
+
extension for ruby-1.9 with the old mingw32-gcc.
|
228
|
+
[b3d169fa189b]
|
229
|
+
|
230
|
+
* Merge https://github.com/ged/ruby-pg
|
231
|
+
[5aeb99dda0ca]
|
232
|
+
|
233
|
+
2015-05-25 Michael Granger <ged@FaerieMUD.org>
|
234
|
+
|
235
|
+
* lib/pg/basic_type_mapping.rb:
|
236
|
+
Whitespace fixes
|
237
|
+
[57cfbc230597]
|
238
|
+
|
239
|
+
2015-05-14 Michael Granger <ged@FaerieMUD.org>
|
240
|
+
|
241
|
+
* .hgtags:
|
242
|
+
Added tag v0.18.2 for changeset 22a361201fd1
|
243
|
+
[00d6997551e6]
|
244
|
+
|
245
|
+
* .hgsigs:
|
246
|
+
Added signature for changeset 7d31b04e7913
|
247
|
+
[d77ab8ab870e]
|
248
|
+
|
249
|
+
* History.rdoc, lib/pg.rb:
|
250
|
+
Bump patch version, update History
|
251
|
+
[fa56690fe72d]
|
252
|
+
|
253
|
+
* Merged with git branch.
|
254
|
+
[9b2c80df821d]
|
255
|
+
|
256
|
+
2015-06-09 Lars Kanis <kanis@comcard.de>
|
257
|
+
|
258
|
+
* Rakefile.cross:
|
259
|
+
Cross build: Copy gem signing key and certs to be accessable from
|
260
|
+
the docker container
|
261
|
+
[c5382a785f4d]
|
262
|
+
|
263
|
+
2015-06-08 Lars Kanis <lars@greiz-reinsdorf.de>
|
264
|
+
|
265
|
+
* Merged
|
266
|
+
[3d56a65c78c5]
|
267
|
+
|
268
|
+
* Gemfile, Rakefile, Rakefile.cross:
|
269
|
+
Add rake task 'gem:windows' which makes use of the new rake-
|
270
|
+
compiler-dock.
|
271
|
+
|
272
|
+
Also update the Gemfile per 'rake bundler:gemfile' .
|
273
|
+
[fafadd62cc6d]
|
274
|
+
|
275
|
+
* Rakefile.cross:
|
276
|
+
Cross build: Work around missing dependency to libcommon in
|
277
|
+
PostgreSQL-9.4.0
|
278
|
+
[630a22437026]
|
279
|
+
|
280
|
+
2015-05-25 Michael Granger <ged@FaerieMUD.org>
|
281
|
+
|
282
|
+
* ext/pg_connection.c:
|
283
|
+
Change instance_of checks to kind_of for subclassing [#220]
|
284
|
+
[eb4d3c003bd6] [github/kind-of-fix]
|
285
|
+
|
286
|
+
* lib/pg/basic_type_mapping.rb:
|
287
|
+
Whitespace fixes
|
288
|
+
[4a4368e30bcf] [github/master]
|
289
|
+
|
290
|
+
2015-05-14 Michael Granger <ged@FaerieMUD.org>
|
291
|
+
|
292
|
+
* .hgtags:
|
293
|
+
Added tag v0.18.2 for changeset 22a361201fd1
|
294
|
+
[94e26b472c78]
|
295
|
+
|
296
|
+
* .hgsigs:
|
297
|
+
Added signature for changeset 7d31b04e7913
|
298
|
+
[22a361201fd1] [v0.18.2]
|
299
|
+
|
300
|
+
* History.rdoc, lib/pg.rb:
|
301
|
+
Bump patch version, update History
|
302
|
+
[7d31b04e7913]
|
303
|
+
|
304
|
+
* Merged with git branch.
|
305
|
+
[45a1753da19a]
|
306
|
+
|
307
|
+
* .rvm.gems:
|
308
|
+
Bump the rvm gemset gem versions
|
309
|
+
[8050020330d8]
|
310
|
+
|
311
|
+
2015-03-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
312
|
+
|
313
|
+
* ext/pg_text_encoder.c, ext/util.c, ext/util.h:
|
314
|
+
Avoid possible symbol name clash when linking againt static libpq.
|
315
|
+
|
316
|
+
This should fix issue #209 .
|
317
|
+
[2334a1bc38e6]
|
318
|
+
|
319
|
+
2015-02-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
320
|
+
|
321
|
+
* ext/pg.c, spec/pg/connection_spec.rb:
|
322
|
+
Merge from git branch.
|
323
|
+
[a7261eb6796f]
|
324
|
+
|
325
|
+
* ext/pg.h, ext/pg_text_decoder.c:
|
326
|
+
Merge branch 'non-c99-compiler'
|
327
|
+
[7e8f1e4da59d]
|
328
|
+
|
329
|
+
2015-02-06 Lars Kanis <lars@greiz-reinsdorf.de>
|
330
|
+
|
331
|
+
* ext/extconf.rb, ext/pg.h, ext/pg_result.c, ext/pg_text_decoder.c,
|
332
|
+
ext/pg_type_map_by_mri_type.c:
|
333
|
+
Use fixed size arrays in case the compiler doesn't support C99
|
334
|
+
variable length arrays.
|
335
|
+
|
336
|
+
This is notably the MSVC compiler.
|
337
|
+
|
338
|
+
Note: The MSVC build environment is currently not tested on a
|
339
|
+
regular base, so is not fully supported.
|
340
|
+
[a08290a78221]
|
341
|
+
|
342
|
+
2015-02-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
343
|
+
|
344
|
+
* ext/pg_connection.c:
|
345
|
+
Replace quote_ident implementation with that of
|
346
|
+
PG::TextEncoder::Identifier .
|
347
|
+
|
348
|
+
This allowes quoation of array of strings in addition to plain
|
349
|
+
strings and removes duplicated code.
|
350
|
+
|
351
|
+
It also removes the 63 byte limitation and therefore obsolets pull
|
352
|
+
request #21 https://bitbucket.org/ged/ruby-pg/pull-request/21
|
353
|
+
[b8ac29b020ee]
|
354
|
+
|
355
|
+
* ext/pg.c, ext/pg.h, ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
356
|
+
spec/pg/connection_spec.rb, spec/pg/type_spec.rb:
|
357
|
+
Derive PG::TextDecoder::Identifier from PG::SimpleDecoder instead of
|
358
|
+
CompositeDecoder
|
359
|
+
|
360
|
+
.. and equally for Encoder.
|
361
|
+
|
362
|
+
Identifiers are strings, so there is no good reason to compose it
|
363
|
+
from other element types. This change allows a faster quoting
|
364
|
+
implementation.
|
365
|
+
[55ec58cabad4]
|
366
|
+
|
367
|
+
2015-05-14 Michael Granger <ged@FaerieMUD.org>
|
368
|
+
|
369
|
+
* .rvmrc:
|
370
|
+
Bump default rvm Ruby to 2.2
|
371
|
+
[128b075d5800]
|
372
|
+
|
373
|
+
2015-03-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
374
|
+
|
375
|
+
* ext/pg_text_encoder.c, ext/util.c, ext/util.h:
|
376
|
+
Avoid possible symbol name clash when linking againt static libpq.
|
377
|
+
|
378
|
+
This should fix issue #209 .
|
379
|
+
[b859963462b2]
|
380
|
+
|
381
|
+
2015-02-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
382
|
+
|
383
|
+
* ext/pg.c, spec/pg/connection_spec.rb:
|
384
|
+
Merge from git branch.
|
385
|
+
[b60c89ee93c8]
|
386
|
+
|
387
|
+
* ext/pg.h, ext/pg_text_decoder.c:
|
388
|
+
Merge branch 'non-c99-compiler'
|
389
|
+
[b111c84b8445]
|
390
|
+
|
391
|
+
2015-02-06 Lars Kanis <lars@greiz-reinsdorf.de>
|
392
|
+
|
393
|
+
* ext/extconf.rb, ext/pg.h, ext/pg_result.c, ext/pg_text_decoder.c,
|
394
|
+
ext/pg_type_map_by_mri_type.c:
|
395
|
+
Use fixed size arrays in case the compiler doesn't support C99
|
396
|
+
variable length arrays.
|
397
|
+
|
398
|
+
This is notably the MSVC compiler.
|
399
|
+
|
400
|
+
Note: The MSVC build environment is currently not tested on a
|
401
|
+
regular base, so is not fully supported.
|
402
|
+
[1269b8ad77b8]
|
403
|
+
|
404
|
+
2015-02-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
405
|
+
|
406
|
+
* ext/pg_connection.c:
|
407
|
+
Replace quote_ident implementation with that of
|
408
|
+
PG::TextEncoder::Identifier .
|
409
|
+
|
410
|
+
This allowes quoation of array of strings in addition to plain
|
411
|
+
strings and removes duplicated code.
|
412
|
+
|
413
|
+
It also removes the 63 byte limitation and therefore obsolets pull
|
414
|
+
request #21 https://bitbucket.org/ged/ruby-pg/pull-request/21
|
415
|
+
[714601d05fba]
|
416
|
+
|
417
|
+
* ext/pg.c, ext/pg.h, ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
418
|
+
spec/pg/connection_spec.rb, spec/pg/type_spec.rb:
|
419
|
+
Derive PG::TextDecoder::Identifier from PG::SimpleDecoder instead of
|
420
|
+
CompositeDecoder
|
421
|
+
|
422
|
+
.. and equally for Encoder.
|
423
|
+
|
424
|
+
Identifiers are strings, so there is no good reason to compose it
|
425
|
+
from other element types. This change allows a faster quoting
|
426
|
+
implementation.
|
427
|
+
[df67241d1a4f]
|
428
|
+
|
429
|
+
2015-02-03 Michael Granger <ged@FaerieMUD.org>
|
430
|
+
|
431
|
+
* README.rdoc, ext/pg.c:
|
432
|
+
Update copyright notices
|
433
|
+
[447962e0dcba]
|
434
|
+
|
435
|
+
* spec/pg/connection_spec.rb:
|
436
|
+
Whitespace fixes
|
437
|
+
[f4a85f78807d]
|
438
|
+
|
439
|
+
2014-08-22 Chris Bandy <bandy.chris@gmail.com>
|
440
|
+
|
441
|
+
* lib/pg/connection.rb, spec/pg/connection_spec.rb:
|
442
|
+
Allow URI connection string
|
443
|
+
|
444
|
+
(Imported from https://github.com/ged/ruby-pg/pull/3)
|
445
|
+
[d4579ef9eae4]
|
446
|
+
|
447
|
+
2015-01-27 Lars Kanis <lars@greiz-reinsdorf.de>
|
448
|
+
|
449
|
+
* lib/pg/text_decoder.rb, spec/pg/type_spec.rb:
|
450
|
+
Fix decoding of fractional timezones like "-00:25:21".
|
451
|
+
[766aa353b392]
|
452
|
+
|
453
|
+
2015-01-27 Lars Kanis <kanis@comcard.de>
|
454
|
+
|
455
|
+
* History.rdoc, lib/pg/text_decoder.rb, spec/pg/type_spec.rb:
|
456
|
+
Fix decoding of fractional timezones like "04:30".
|
457
|
+
|
458
|
+
This fixes https://bitbucket.org/ged/ruby-pg/issue/203 .
|
459
|
+
[33225805259c]
|
460
|
+
|
461
|
+
2015-01-16 Lars Kanis <kanis@comcard.de>
|
462
|
+
|
463
|
+
* History.rdoc, ext/extconf.rb, ext/pg_connection.c,
|
464
|
+
spec/pg/connection_spec.rb:
|
465
|
+
Revert "Add PG::Connection#hostaddr. This is new in PostgreSQL-9.4."
|
466
|
+
|
467
|
+
PQhostaddr was removed from final PostgreSQL-9.4.0.
|
468
|
+
|
469
|
+
This fixes issue #202 :https://bitbucket.org/ged/ruby-pg/issue/202
|
470
|
+
|
471
|
+
This reverts commit 03deab7aa63f9a00984014ce59617d552b4eac34.
|
472
|
+
[b51d736bca77]
|
473
|
+
|
474
|
+
* History.rdoc:
|
475
|
+
Add a missing enhancement for pg-0.18.0
|
476
|
+
[a7635c3425f3]
|
477
|
+
|
478
|
+
* .travis.yml:
|
479
|
+
Update ruby and postgresql versions for travic-ci
|
480
|
+
[b67b92f7db97]
|
481
|
+
|
482
|
+
2015-01-06 Lars Kanis <kanis@comcard.de>
|
483
|
+
|
484
|
+
* Merge from git.
|
485
|
+
[625e9359ac47]
|
486
|
+
|
487
|
+
2015-01-05 Lars Kanis <kanis@comcard.de>
|
488
|
+
|
489
|
+
* ext/pg_type_map_in_ruby.c:
|
490
|
+
Use a simpler fix for https://bitbucket.org/ged/ruby-
|
491
|
+
pg/commits/a38cf53a96f
|
492
|
+
[3d89d3aae4fd]
|
493
|
+
|
494
|
+
2015-01-05 Michael Granger <ged@FaerieMUD.org>
|
495
|
+
|
496
|
+
* .hgtags:
|
497
|
+
Added tag v0.18.1 for changeset f97dd6cb4f34
|
498
|
+
[f8122014065a]
|
499
|
+
|
500
|
+
* .hgsigs:
|
501
|
+
Added signature for changeset ba5aff64b5cb
|
502
|
+
[f97dd6cb4f34] [v0.18.1]
|
503
|
+
|
504
|
+
* History.rdoc, lib/pg.rb:
|
505
|
+
Bump the patch version, update history
|
506
|
+
[ba5aff64b5cb]
|
507
|
+
|
508
|
+
* Rakefile:
|
509
|
+
Fix the minimum Ruby version (closes #199)
|
510
|
+
[69422cc8dc45]
|
511
|
+
|
512
|
+
2015-01-03 Michael Granger <ged@FaerieMUD.org>
|
513
|
+
|
514
|
+
* .hgtags:
|
515
|
+
Added tag v0.18.0 for changeset cfb2bfc0f661
|
516
|
+
[8aff3973f2d2]
|
517
|
+
|
518
|
+
* .hgsigs:
|
519
|
+
Added signature for changeset c519766e3ec9
|
520
|
+
[cfb2bfc0f661] [v0.18.0]
|
521
|
+
|
522
|
+
* History.rdoc:
|
523
|
+
Update the History
|
524
|
+
[c519766e3ec9]
|
525
|
+
|
526
|
+
* Manifest.txt:
|
527
|
+
Keep the manifest sorted so it can be diffed.
|
528
|
+
[d7cdbfd1b516]
|
529
|
+
|
530
|
+
* Rakefile:
|
531
|
+
Add a Rake task for generating the gemspec
|
532
|
+
[ec6d6ce61a15]
|
533
|
+
|
534
|
+
2014-12-26 Lars Kanis <lars@greiz-reinsdorf.de>
|
535
|
+
|
536
|
+
* lib/pg/basic_type_mapping.rb:
|
537
|
+
Add a warning about Type OIDs without decoder in
|
538
|
+
PG::BasicTypeMapForResults.
|
539
|
+
[592e29cdf2e9]
|
540
|
+
|
541
|
+
2014-12-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
542
|
+
|
543
|
+
* ext/pg_type_map_in_ruby.c:
|
544
|
+
Fix TypeMapInRuby for Rubinius.
|
545
|
+
[a38cf53a96f1]
|
546
|
+
|
547
|
+
2014-12-12 Lars Kanis <lars@greiz-reinsdorf.de>
|
548
|
+
|
549
|
+
* ext/pg_type_map_all_strings.c:
|
550
|
+
Fix documentation to TypeMapAllStrings.
|
551
|
+
[c53f993a4254]
|
552
|
+
|
553
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_type_map_in_ruby.c,
|
554
|
+
spec/pg/type_map_in_ruby_spec.rb:
|
555
|
+
Add TypeMapInRuby as a way to combine fast but static C-based type
|
556
|
+
maps with flexible ruby based type maps.
|
557
|
+
[a9724aef9116]
|
558
|
+
|
559
|
+
* ext/pg_type_map.c, ext/pg_type_map_by_oid.c,
|
560
|
+
lib/pg/basic_type_mapping.rb, spec/pg/basic_type_mapping_spec.rb,
|
561
|
+
spec/pg/type_map_by_oid_spec.rb, spec/pg/type_map_spec.rb:
|
562
|
+
Remove TypeMap#fit_to_result and #fit_to_query.
|
563
|
+
|
564
|
+
The only use case so far is building a TypeMapByColumn out of a
|
565
|
+
TypeMapByOid, which is now named more explicitly as
|
566
|
+
#build_column_map .
|
567
|
+
[c99d26015e3c]
|
568
|
+
|
569
|
+
* ext/pg_text_encoder.c:
|
570
|
+
Remove unused variable.
|
571
|
+
[1a13e7eafeb7]
|
572
|
+
|
573
|
+
* ext/pg_connection.c, ext/pg_copy_coder.c, lib/pg/connection.rb:
|
574
|
+
Several documentation fixes to COPY coders.
|
575
|
+
[a7befacdef4e]
|
576
|
+
|
577
|
+
2014-11-26 Lars Kanis <lars@greiz-reinsdorf.de>
|
578
|
+
|
579
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
580
|
+
PG::TextDecoder::Boolean: encode only true, false, 0 and 1 and pass
|
581
|
+
all other values as strings to the server.
|
582
|
+
[6b86a5543567]
|
583
|
+
|
584
|
+
2014-11-24 Lars Kanis <kanis@comcard.de>
|
585
|
+
|
586
|
+
* spec/pg/type_map_by_class_spec.rb:
|
587
|
+
Fix test case for rbx. The error message is somewhat different than
|
588
|
+
in MRI.
|
589
|
+
[99638547f8b4]
|
590
|
+
|
591
|
+
2014-11-21 Lars Kanis <lars@greiz-reinsdorf.de>
|
592
|
+
|
593
|
+
* ext/pg_text_decoder.c:
|
594
|
+
Stack memory can be used for Identifier decoding, since they are
|
595
|
+
limited in size.
|
596
|
+
[b7f9daeeba29]
|
597
|
+
|
598
|
+
2014-11-17 Lars Kanis <kanis@comcard.de>
|
599
|
+
|
600
|
+
* .travis.yml:
|
601
|
+
Revert "Remove Rubinius from the allowed failure list - failing
|
602
|
+
specs are now marked as pending."
|
603
|
+
|
604
|
+
This reverts commit 524c84ccd17f3caeed13a16084206f14225bbdd6 because
|
605
|
+
of ongoing issues with gem installation on rbx.
|
606
|
+
[b8debfea4331]
|
607
|
+
|
608
|
+
* ext/pg.h, ext/pg_errors.c, ext/pg_result.c, spec/pg/result_spec.rb:
|
609
|
+
Use dedicated error classes for stream exceptions.
|
610
|
+
[f23dd01bcb52]
|
611
|
+
|
612
|
+
* History.rdoc, ext/pg.c, spec/pg_spec.rb:
|
613
|
+
Add PG.init_openssl and PG.init_ssl methods.
|
614
|
+
|
615
|
+
This will hopefully help to solve issue #190:
|
616
|
+
https://bitbucket.org/ged/ruby-pg/issue/190
|
617
|
+
[45610159a246]
|
618
|
+
|
619
|
+
2014-11-10 Lars Kanis <lars@greiz-reinsdorf.de>
|
620
|
+
|
621
|
+
* ext/pg_type_map_by_class.c:
|
622
|
+
Fix typo.
|
623
|
+
[eeb8a82c5328]
|
624
|
+
|
625
|
+
* spec/pg/type_map_by_class_spec.rb:
|
626
|
+
TypeMapByClass: Add test for invlid coder object.
|
627
|
+
[64ae7cff7f40]
|
628
|
+
|
629
|
+
* ext/pg_type_map_by_class.c:
|
630
|
+
Better check than believe the value type returned by #ancestors .
|
631
|
+
[961a1fce08fd]
|
632
|
+
|
633
|
+
2014-11-08 Lars Kanis <lars@greiz-reinsdorf.de>
|
634
|
+
|
635
|
+
* ext/pg_binary_decoder.c, ext/pg_type_map_all_strings.c:
|
636
|
+
Tweak the type cast documentation a bit more. [skip ci]
|
637
|
+
[185638b52684]
|
638
|
+
|
639
|
+
* ext/pg_type_map_by_class.c, spec/pg/type_map_by_class_spec.rb:
|
640
|
+
TypeMapByClass: Forgot to expire the cache on changes.
|
641
|
+
[1ce48a854d11]
|
642
|
+
|
643
|
+
2014-11-07 Lars Kanis <lars@greiz-reinsdorf.de>
|
644
|
+
|
645
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_type_map_by_class.c,
|
646
|
+
ext/pg_type_map_by_mri_type.c, lib/pg/basic_type_mapping.rb,
|
647
|
+
spec/pg/connection_spec.rb, spec/pg/type_map_by_class_spec.rb,
|
648
|
+
spec/pg/type_map_by_column_spec.rb, spec/pg/type_spec.rb:
|
649
|
+
Add PG::TypeMapByClass. This replaces PG::TypeMapByMriType with a
|
650
|
+
more portable and flexible way to encode values.
|
651
|
+
[27987dbd0b32]
|
652
|
+
|
653
|
+
2014-11-06 Lars Kanis <lars@greiz-reinsdorf.de>
|
654
|
+
|
655
|
+
* ext/pg_connection.c, ext/pg_result.c:
|
656
|
+
Add note about function usage by the sequel_pg gem.
|
657
|
+
[989a6bd6bf0d]
|
658
|
+
|
659
|
+
2014-11-03 Lars Kanis <lars@greiz-reinsdorf.de>
|
660
|
+
|
661
|
+
* ext/pg_result.c:
|
662
|
+
Fix possible segfault, when the GC runs within the loop of
|
663
|
+
pgresult_init_fnames().
|
664
|
+
[017bc722655b]
|
665
|
+
|
666
|
+
2014-11-01 Lars Kanis <lars@greiz-reinsdorf.de>
|
667
|
+
|
668
|
+
* ext/pg.h, ext/pg_coder.c, lib/pg/coder.rb, spec/pg/type_spec.rb:
|
669
|
+
Set default format code for binary coders to 1.
|
670
|
+
[336f694f6362]
|
671
|
+
|
672
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
673
|
+
Add PG::TextEncoder::Bytea .
|
674
|
+
[b10cbaaead6b]
|
675
|
+
|
676
|
+
2014-10-31 Lars Kanis <lars@greiz-reinsdorf.de>
|
677
|
+
|
678
|
+
* lib/pg.rb:
|
679
|
+
Windows: Set the PATH so that the bundled libpq.dll of the binary
|
680
|
+
gem is loaded preferably to other dlls in the system.
|
681
|
+
|
682
|
+
This avoids loading issues, if there is some other libpq.dll in the
|
683
|
+
path, that fails to load for some reason.
|
684
|
+
|
685
|
+
[skip ci]
|
686
|
+
[b2bf034e3b9f]
|
687
|
+
|
688
|
+
2014-10-30 Lars Kanis <lars@greiz-reinsdorf.de>
|
689
|
+
|
690
|
+
* History.rdoc:
|
691
|
+
Update History.rdoc for PG::Connection#hostaddr .
|
692
|
+
[2d1a83316472]
|
693
|
+
|
694
|
+
* .travis.yml:
|
695
|
+
Remove Rubinius from the allowed failure list - failing specs are
|
696
|
+
now marked as pending.
|
697
|
+
[9e707fcf2070]
|
698
|
+
|
699
|
+
* ext/extconf.rb, ext/pg_connection.c, spec/pg/connection_spec.rb:
|
700
|
+
Add PG::Connection#hostaddr. This is new in PostgreSQL-9.4.
|
701
|
+
[3a7b6a1d1cfe]
|
702
|
+
|
703
|
+
* .travis.yml, spec/helpers.rb:
|
704
|
+
Update tavis-ci and specs for PostgreSQL-9.4.
|
705
|
+
[4daf11be6d3d]
|
706
|
+
|
707
|
+
2014-10-28 Lars Kanis <lars@greiz-reinsdorf.de>
|
708
|
+
|
709
|
+
* spec/pg/type_spec.rb:
|
710
|
+
Fix typo in specs. Thanks Chris Bandy.
|
711
|
+
[9015809803aa]
|
712
|
+
|
713
|
+
2014-10-27 Lars Kanis <lars@greiz-reinsdorf.de>
|
714
|
+
|
715
|
+
* spec/pg/result_spec.rb:
|
716
|
+
Mark failing tests on Rubinius as pending.
|
717
|
+
[12f053154a99]
|
718
|
+
|
719
|
+
* History.rdoc:
|
720
|
+
Update History.rdoc
|
721
|
+
[b7faf8c1c677]
|
722
|
+
|
723
|
+
* Merge branch 'master' of github.com:larskanis/ruby-pg
|
724
|
+
[0f49f9bc93c6]
|
725
|
+
|
726
|
+
2014-10-27 Lars Kanis <kanis@comcard.de>
|
727
|
+
|
728
|
+
* ext/extconf.rb, ext/pg.h:
|
729
|
+
Fix compat with Rubinius.
|
730
|
+
[3a4e19c56686]
|
731
|
+
|
732
|
+
2014-10-27 Lars Kanis <lars@greiz-reinsdorf.de>
|
733
|
+
|
734
|
+
* ext/pg_result.c, spec/pg/result_spec.rb:
|
735
|
+
Add PG::Result#stream_each and #stream_each_row methods and specs.
|
736
|
+
[9387b7aeaad3]
|
737
|
+
|
738
|
+
* ext/pg_result.c:
|
739
|
+
Fix typo.
|
740
|
+
[d2bfa9acf36b]
|
741
|
+
|
742
|
+
2014-10-25 Lars Kanis <lars@greiz-reinsdorf.de>
|
743
|
+
|
744
|
+
* ext/pg.h, ext/pg_result.c:
|
745
|
+
Use rb_hash_dup() with a prepared tuple hash instead of
|
746
|
+
rb_hash_new().
|
747
|
+
|
748
|
+
This gives a little speedup of 5-10% for Result#each .
|
749
|
+
[dfe51787f74d]
|
750
|
+
|
751
|
+
2014-10-24 Lars Kanis <lars@greiz-reinsdorf.de>
|
752
|
+
|
753
|
+
* ext/pg.h:
|
754
|
+
Add workaround for missing RETURN_SIZED_ENUMERATOR macro in Ruby <
|
755
|
+
2.0.
|
756
|
+
[995d0d85d88d]
|
757
|
+
|
758
|
+
* ext/pg_text_encoder.c:
|
759
|
+
Add include <math.h>. It defines isnan() and isinf().
|
760
|
+
[cadf29e3f863]
|
761
|
+
|
762
|
+
* ext/pg_result.c:
|
763
|
+
Use rb_ary_new4() instead of rb_ary_new_from_values() for compat
|
764
|
+
with Ruby < 2.1.
|
765
|
+
[7c465876616d]
|
766
|
+
|
767
|
+
* ext/pg_result.c:
|
768
|
+
Populate the row-Array in Result#each_row and Result.values per
|
769
|
+
rb_ary_new_from_values() from VALUE array on the stack. The number
|
770
|
+
of fields is limited on the server side to ~1700, so that stack
|
771
|
+
space is not critical. This gives a small speed up by 5%.
|
772
|
+
[adc7a83326e3]
|
773
|
+
|
774
|
+
* ext/pg.h, ext/pg_result.c:
|
775
|
+
Use frozen String objects as field names and reuse them where
|
776
|
+
possible.
|
777
|
+
|
778
|
+
This speeds Result#each up by 30%.
|
779
|
+
[f50c049adc3b]
|
780
|
+
|
781
|
+
* ext/pg_result.c, spec/pg/result_spec.rb:
|
782
|
+
Add Enumerator versions to Result#each and #each_row.
|
783
|
+
[1b324be632e4]
|
784
|
+
|
785
|
+
2014-10-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
786
|
+
|
787
|
+
* ext/pg_connection.c:
|
788
|
+
Merge alloc_query_params() and alloc_query_params1(). The separation
|
789
|
+
is no longer needed.
|
790
|
+
|
791
|
+
Allocate gc_array on demand, as it's not needed for most queries.
|
792
|
+
[aae1c7dd2360]
|
793
|
+
|
794
|
+
* README.rdoc, ext/pg.h, ext/pg_connection.c, ext/pg_copy_coder.c,
|
795
|
+
ext/pg_result.c, ext/pg_type_map.c, ext/pg_type_map_all_strings.c,
|
796
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
797
|
+
ext/pg_type_map_by_oid.c, spec/pg/basic_type_mapping_spec.rb,
|
798
|
+
spec/pg/connection_spec.rb, spec/pg/result_spec.rb,
|
799
|
+
spec/pg/type_map_by_column_spec.rb,
|
800
|
+
spec/pg/type_map_by_mri_type_spec.rb,
|
801
|
+
spec/pg/type_map_by_oid_spec.rb:
|
802
|
+
Allow cascading of type maps.
|
803
|
+
|
804
|
+
If a value can not be handled by a type map this value isn't handled
|
805
|
+
implicit by TypeMapAllStrings, but instead by the assigned
|
806
|
+
default_type_map, now.
|
807
|
+
[d369d31e8fe3]
|
808
|
+
|
809
|
+
2014-10-17 Lars Kanis <lars@greiz-reinsdorf.de>
|
810
|
+
|
811
|
+
* ext/pg.h, ext/pg_type_map.c, ext/pg_type_map_by_column.c,
|
812
|
+
spec/pg/type_map_by_column_spec.rb:
|
813
|
+
Gracefully handle not initialized state for PG::TypeMapByColumn
|
814
|
+
derivations.
|
815
|
+
[485d02650e09]
|
816
|
+
|
817
|
+
2014-10-15 Lars Kanis <lars@greiz-reinsdorf.de>
|
818
|
+
|
819
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
820
|
+
Allow non Array values as input for TextEncoder::Array.
|
821
|
+
[a4725dfca9e4]
|
822
|
+
|
823
|
+
* ext/pg_coder.c, spec/pg/type_spec.rb:
|
824
|
+
Clarify handling of nil/NULL values by PG::Coders.
|
825
|
+
[99d6acb8b66d]
|
826
|
+
|
827
|
+
* ext/pg_text_encoder.c, ext/util.c, ext/util.h:
|
828
|
+
Move pg_strncasecmp() to util.c - it better fits there.
|
829
|
+
[117fb5c5eed7]
|
830
|
+
|
831
|
+
2014-10-14 Lars Kanis <lars@greiz-reinsdorf.de>
|
832
|
+
|
833
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
834
|
+
Implement a more serious TestEncoder::Boolean.
|
835
|
+
[9063a84a2ff9]
|
836
|
+
|
837
|
+
* ext/pg.h, ext/pg_binary_encoder.c, ext/pg_coder.c,
|
838
|
+
ext/pg_text_encoder.c:
|
839
|
+
Fix naming and description of pg_coder_enc_to_s(). It actually uses
|
840
|
+
#to_s not #to_str.
|
841
|
+
[ac23631c96d9]
|
842
|
+
|
843
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
844
|
+
Use same rules for array quoting in text encoder as PostgreSQL.
|
845
|
+
|
846
|
+
This makes mutate-detection easier (in Rails).
|
847
|
+
[9be31c0663e3]
|
848
|
+
|
849
|
+
2014-10-12 Lars Kanis <lars@greiz-reinsdorf.de>
|
850
|
+
|
851
|
+
* ext/pg_binary_decoder.c:
|
852
|
+
Remove needless memcpy() call.
|
853
|
+
[f786006b25ff]
|
854
|
+
|
855
|
+
* ext/pg_binary_decoder.c, ext/pg_binary_encoder.c, ext/util.c,
|
856
|
+
ext/util.h:
|
857
|
+
Change the endianess conversion for binary data from a library issue
|
858
|
+
to a compiler issue.
|
859
|
+
|
860
|
+
This removes dependency to beXXtoh() functions and ensures aligned
|
861
|
+
memory access.
|
862
|
+
[c8d7c26dd595]
|
863
|
+
|
864
|
+
2014-10-11 Michael Granger <ged@FaerieMUD.org>
|
865
|
+
|
866
|
+
* ext/extconf.rb, spec/helpers.rb, spec/pg/connection_spec.rb:
|
867
|
+
Merge pull request #6 from larskanis/column_type_mapping
|
868
|
+
|
869
|
+
Add type mapping and performance improvements
|
870
|
+
[0da90c2b2812]
|
871
|
+
|
872
|
+
2014-10-09 Lars Kanis <lars@greiz-reinsdorf.de>
|
873
|
+
|
874
|
+
* Rakefile, Rakefile.cross, ext/extconf.rb:
|
875
|
+
gcc option -static-libgcc is required for i386-mingw32 build.
|
876
|
+
|
877
|
+
Don't use native pg_config for cross build. The paths were
|
878
|
+
overwritten anyways until now.
|
879
|
+
|
880
|
+
Remove code that was only needed for static build to libpq.
|
881
|
+
[9a2f9771d0b6]
|
882
|
+
|
883
|
+
2014-10-10 Lars Kanis <lars@greiz-reinsdorf.de>
|
884
|
+
|
885
|
+
* ext/pg_type_map_by_column.c:
|
886
|
+
Use C99 struct initializer syntax.
|
887
|
+
[ec9ef7fb39eb]
|
888
|
+
|
889
|
+
2014-10-09 Lars Kanis <lars@greiz-reinsdorf.de>
|
890
|
+
|
891
|
+
* spec/pg/connection_spec.rb, spec/pg/type_spec.rb:
|
892
|
+
Fix specs for Windows.
|
893
|
+
[3659cfd75b96]
|
894
|
+
|
895
|
+
* .travis.yml, ext/pg_connection.c, lib/pg.rb,
|
896
|
+
spec/pg/connection_spec.rb:
|
897
|
+
Merge branch 'master' into column_type_mapping
|
898
|
+
|
899
|
+
Conflicts: ext/pg_connection.c spec/pg/connection_spec.rb
|
900
|
+
[57d770944b5d]
|
901
|
+
|
902
|
+
* ext/pg.h, ext/pg_copy_coder.c, ext/pg_text_encoder.c:
|
903
|
+
Fix gcc warnings in mingw build.
|
904
|
+
[26541f7e6bbb]
|
905
|
+
|
906
|
+
2014-10-07 Lars Kanis <lars@greiz-reinsdorf.de>
|
907
|
+
|
908
|
+
* ext/pg_type_map.c, ext/pg_type_map_all_strings.c,
|
909
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
910
|
+
ext/pg_type_map_by_oid.c, lib/pg/type_map_by_column.rb:
|
911
|
+
Add documentation to TypeMap classes.
|
912
|
+
[4227fdc5f0ac]
|
913
|
+
|
914
|
+
2014-10-06 Lars Kanis <kanis@comcard.de>
|
915
|
+
|
916
|
+
* ext/pg_connection.c, ext/pg_result.c, ext/pg_type_map_by_mri_type.c:
|
917
|
+
Ensure zero terminated strings per StringValueCStr(), where C-str
|
918
|
+
pointers are expected.
|
919
|
+
|
920
|
+
This fixes issues with ruby-2.2.0-dev described in github pull
|
921
|
+
request #5: https://github.com/ged/ruby-pg/pull/5
|
922
|
+
[f0b7f99b1dd5]
|
923
|
+
|
924
|
+
2014-10-05 Lars Kanis <lars@greiz-reinsdorf.de>
|
925
|
+
|
926
|
+
* ext/pg_binary_decoder.c, ext/pg_binary_encoder.c, ext/pg_coder.c,
|
927
|
+
ext/pg_copy_coder.c, ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
928
|
+
lib/pg/coder.rb, lib/pg/text_encoder.rb:
|
929
|
+
Add class and method documentation related to type casting.
|
930
|
+
|
931
|
+
Move previous documentaion from .rb files to .c.
|
932
|
+
[e64618a44912]
|
933
|
+
|
934
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
935
|
+
Format infinity and nan values equally to Float#to_s. This fixes a
|
936
|
+
test case in activerecord.
|
937
|
+
[02285c675326]
|
938
|
+
|
939
|
+
* lib/pg/text_decoder.rb, lib/pg/text_encoder.rb,
|
940
|
+
spec/pg/basic_type_mapping_spec.rb:
|
941
|
+
Support infinity time and date values. String values which can not
|
942
|
+
be parsed/formatted are now passed through instead of raising an
|
943
|
+
exception.
|
944
|
+
[85ce8d239d23]
|
945
|
+
|
946
|
+
2014-10-04 Lars Kanis <lars@greiz-reinsdorf.de>
|
947
|
+
|
948
|
+
* ext/pg_text_decoder.c, ext/pg_text_encoder.c:
|
949
|
+
Add some more documentaion to the encoding/decoding function
|
950
|
+
interface.
|
951
|
+
[47ccb70c45d6]
|
952
|
+
|
953
|
+
* ext/pg.h, ext/pg_coder.c, ext/pg_connection.c, ext/pg_copy_coder.c,
|
954
|
+
ext/pg_text_encoder.c, ext/pg_type_map.c,
|
955
|
+
ext/pg_type_map_all_strings.c, ext/pg_type_map_by_column.c,
|
956
|
+
ext/pg_type_map_by_mri_type.c, spec/pg/type_map_by_column_spec.rb:
|
957
|
+
Fix handling of query parameters in hash form in conjunction with
|
958
|
+
type maps.
|
959
|
+
|
960
|
+
This moves the oid/format determining back into
|
961
|
+
alloc_query_params1() and avoids code duplication within type maps.
|
962
|
+
[2afa6cc41d55]
|
963
|
+
|
964
|
+
* spec/pg/connection_spec.rb:
|
965
|
+
Add missing spec for hash form parameters to #exec_params .
|
966
|
+
[23ad5d676b53]
|
967
|
+
|
968
|
+
2014-10-03 Lars Kanis <lars@greiz-reinsdorf.de>
|
969
|
+
|
970
|
+
* ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
|
971
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
972
|
+
FromBase64 encoder better fits into PG::BinaryEncoder and ToBase64
|
973
|
+
decoder better into PG::BinaryDecoder.
|
974
|
+
[5db80210a077]
|
975
|
+
|
976
|
+
2014-10-02 Lars Kanis <kanis@comcard.de>
|
977
|
+
|
978
|
+
* ext/pg_coder.c, ext/pg_connection.c, ext/pg_text_decoder.c,
|
979
|
+
ext/pg_text_encoder.c:
|
980
|
+
rb_str_new() with NULL ptr can be used to allocate/set the Sting
|
981
|
+
size.
|
982
|
+
[2c4faf369dce]
|
983
|
+
|
984
|
+
* ext/util.c:
|
985
|
+
Speed up the base 64 decoder by 80%.
|
986
|
+
[adb1728e29d9]
|
987
|
+
|
988
|
+
2014-10-01 Lars Kanis <lars@greiz-reinsdorf.de>
|
989
|
+
|
990
|
+
* ext/pg_text_decoder.c:
|
991
|
+
Use strings in base64 decoders, so that we can avoid copy'ing data
|
992
|
+
at string creation in dec_func.
|
993
|
+
[1e2cd139e6fe]
|
994
|
+
|
995
|
+
* spec/pg/type_spec.rb:
|
996
|
+
Fix base64 specs for Ruby < 2.1.
|
997
|
+
[3a9e0cea7387]
|
998
|
+
|
999
|
+
2014-10-01 Lars Kanis <kanis@comcard.de>
|
1000
|
+
|
1001
|
+
* Merge branch 'column_type_mapping' of https://github.com/larskanis
|
1002
|
+
/ruby-pg into column_type_mapping
|
1003
|
+
[712224085b59]
|
1004
|
+
|
1005
|
+
2014-09-30 Lars Kanis <lars@greiz-reinsdorf.de>
|
1006
|
+
|
1007
|
+
* ext/pg.h, ext/pg_result.c, ext/pg_type_map.c,
|
1008
|
+
ext/pg_type_map_all_strings.c, ext/pg_type_map_by_column.c,
|
1009
|
+
ext/pg_type_map_by_oid.c:
|
1010
|
+
Store a pointer to the current typemap into result data and use it
|
1011
|
+
through the this pointer at all places.
|
1012
|
+
|
1013
|
+
This gives PG::Result#getvalue a speedup around 10%.
|
1014
|
+
[a8b3ef723c22]
|
1015
|
+
|
1016
|
+
* spec/pg/basic_type_mapping_spec.rb:
|
1017
|
+
Change timestamp specs to a value before 1970, so that we see, there
|
1018
|
+
is no epoch limitation.
|
1019
|
+
[441da0a4129a]
|
1020
|
+
|
1021
|
+
2014-09-30 Lars Kanis <kanis@comcard.de>
|
1022
|
+
|
1023
|
+
* ext/pg_text_decoder.c, ext/pg_text_encoder.c, ext/util.c,
|
1024
|
+
ext/util.h, spec/pg/type_spec.rb:
|
1025
|
+
Add ToBase64 and FromBase64 classes as encoders and decoders.
|
1026
|
+
[9ff6f35497ad]
|
1027
|
+
|
1028
|
+
2014-09-29 Lars Kanis <kanis@comcard.de>
|
1029
|
+
|
1030
|
+
* ext/pg_connection.c:
|
1031
|
+
Add encoder and decoder for copy_data to gc mark list.
|
1032
|
+
[a445b16a259e]
|
1033
|
+
|
1034
|
+
* Manifest.txt:
|
1035
|
+
Update Manifest.txt
|
1036
|
+
[e13ff4f6433e]
|
1037
|
+
|
1038
|
+
* ext/pg_connection.c:
|
1039
|
+
Add new function pg_get_connection_safe() and use it instead of two
|
1040
|
+
calls to pg_get_connection() and pg_get_pgconn(). It is faster and
|
1041
|
+
less confusing.
|
1042
|
+
[6ad4490a691b]
|
1043
|
+
|
1044
|
+
* ext/pg_coder.c, ext/pg_copy_coder.c:
|
1045
|
+
Fix tainted mark for PG::Coder#encoder and #decode and
|
1046
|
+
PG::TextDecoder::CopyRow output.
|
1047
|
+
[7aec08b7677c]
|
1048
|
+
|
1049
|
+
2014-09-27 Lars Kanis <lars@greiz-reinsdorf.de>
|
1050
|
+
|
1051
|
+
* lib/pg/basic_type_mapping.rb:
|
1052
|
+
Fix PG::BasicTypeRegistry, so that it works with and without
|
1053
|
+
previously applied type mapping.
|
1054
|
+
[db5c2973f143]
|
1055
|
+
|
1056
|
+
* lib/pg/basic_type_mapping.rb:
|
1057
|
+
Underscore unused variables for now, to avoid warnings about them.
|
1058
|
+
[8d016bc21b9a]
|
1059
|
+
|
1060
|
+
* README.rdoc:
|
1061
|
+
Mention type maps for COPY in the README.
|
1062
|
+
[ac361f811253]
|
1063
|
+
|
1064
|
+
* ext/pg.h:
|
1065
|
+
It's better to check for availability of the INLINED macro than for
|
1066
|
+
RUBINIUS define.
|
1067
|
+
[9ba559feacac]
|
1068
|
+
|
1069
|
+
* lib/pg/basic_type_mapping.rb, spec/pg/basic_type_mapping_spec.rb:
|
1070
|
+
Add PG::BasicTypeMapBasedOnResult and add specs for deriving
|
1071
|
+
TypeMapByColumn from a result and use it with COPY.
|
1072
|
+
[6c69768961c1]
|
1073
|
+
|
1074
|
+
* ext/pg_connection.c, ext/pg_result.c:
|
1075
|
+
Add somewhat more documentaion to type casting.
|
1076
|
+
|
1077
|
+
Harmonize coder setters for COPY to accept any PG::Coder (even if
|
1078
|
+
any other than PG::CopyCoder hardly makes sense).
|
1079
|
+
[e0a8ec6d2a04]
|
1080
|
+
|
1081
|
+
* spec/pg/connection_spec.rb:
|
1082
|
+
Mark failing test on Rubinius as pending.
|
1083
|
+
[6eb0fcab4d8c]
|
1084
|
+
|
1085
|
+
* ext/pg_connection.c, spec/pg/connection_spec.rb:
|
1086
|
+
Add typecasting to Connection#get_copy_data.
|
1087
|
+
[21451bfb3659]
|
1088
|
+
|
1089
|
+
* ext/pg.c, ext/pg.h, ext/pg_copy_coder.c, ext/pg_text_encoder.c:
|
1090
|
+
Allow inline checks for string capacity. This removes the bottleneck
|
1091
|
+
in the COPY decoder, when doing the check for each character.
|
1092
|
+
[c2e817ef9b8c]
|
1093
|
+
|
1094
|
+
* ext/pg.c, ext/pg.h, ext/pg_coder.c, ext/pg_connection.c,
|
1095
|
+
ext/pg_copy_coder.c, ext/pg_result.c, ext/pg_text_encoder.c,
|
1096
|
+
ext/pg_type_map.c, ext/pg_type_map_all_strings.c,
|
1097
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
1098
|
+
spec/pg/type_spec.rb:
|
1099
|
+
Add PG::TypeMapAllStrings and use it as default typemap, when no
|
1100
|
+
explicit typemap was set. This allowes PG::CopyCoder to work without
|
1101
|
+
typemap, too.
|
1102
|
+
[b183ef46969c]
|
1103
|
+
|
1104
|
+
* ext/pg_copy_coder.c, lib/pg/coder.rb, spec/pg/type_spec.rb:
|
1105
|
+
Add CopyCoder#null_string to gc_mark and #to_h .
|
1106
|
+
[893009c81aec]
|
1107
|
+
|
1108
|
+
* ext/pg.h, ext/pg_copy_coder.c, ext/pg_type_map.c,
|
1109
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
1110
|
+
ext/pg_type_map_by_oid.c, spec/pg/type_spec.rb:
|
1111
|
+
Add decoder for data received from get_copy_data.
|
1112
|
+
|
1113
|
+
Remove duplicated not-suitable-raise-functions.
|
1114
|
+
[0c7c819d2f46]
|
1115
|
+
|
1116
|
+
* ext/pg_copy_coder.c:
|
1117
|
+
Add PG::CopyCoder#null_string .
|
1118
|
+
[3f52c343f9c8]
|
1119
|
+
|
1120
|
+
* ext/pg.c:
|
1121
|
+
Fix description.
|
1122
|
+
[38c8b9d03bd1]
|
1123
|
+
|
1124
|
+
2014-09-26 Lars Kanis <kanis@comcard.de>
|
1125
|
+
|
1126
|
+
* ext/pg.h, ext/pg_coder.c, ext/pg_text_decoder.c,
|
1127
|
+
ext/pg_text_encoder.c, ext/pg_type_map_by_column.c,
|
1128
|
+
ext/pg_type_map_by_oid.c:
|
1129
|
+
Refactured code to find the right decoder function.
|
1130
|
+
[5822d67d8c3b]
|
1131
|
+
|
1132
|
+
* spec/pg/type_spec.rb:
|
1133
|
+
Add decoder specs for Bytea.
|
1134
|
+
[b815372dd5d2]
|
1135
|
+
|
1136
|
+
* lib/pg/coder.rb, spec/pg/type_spec.rb:
|
1137
|
+
Add missing PG::CopyCoder#to_h .
|
1138
|
+
[e0bf32c9eb31]
|
1139
|
+
|
1140
|
+
* ext/pg_copy_coder.c:
|
1141
|
+
Add missing GC-mark function to copycoder.
|
1142
|
+
[70ae4e58761c]
|
1143
|
+
|
1144
|
+
2014-09-25 Lars Kanis <lars@greiz-reinsdorf.de>
|
1145
|
+
|
1146
|
+
* ext/pg_connection.c, lib/pg/connection.rb,
|
1147
|
+
spec/pg/connection_spec.rb:
|
1148
|
+
Implement Connection#put_copy_data and #copy_data with encoder.
|
1149
|
+
[7bfcfe35344c]
|
1150
|
+
|
1151
|
+
* spec/pg/type_spec.rb:
|
1152
|
+
Add more specs for PG::TextEncoder::CopyRow.
|
1153
|
+
[94d6505a6a49]
|
1154
|
+
|
1155
|
+
* ext/pg_coder.c, ext/pg_text_decoder.c, ext/pg_text_encoder.c:
|
1156
|
+
Rename different namings of the instance pointer to "this".
|
1157
|
+
[c07d02ae1cb4]
|
1158
|
+
|
1159
|
+
2014-09-25 Lars Kanis <kanis@comcard.de>
|
1160
|
+
|
1161
|
+
* ext/pg_connection.c:
|
1162
|
+
Save a call to rb_protect by wrapping possibly allocated heap memory
|
1163
|
+
into T_DATA objects that are free'd by the GC.
|
1164
|
+
[3c1d86fedf1b]
|
1165
|
+
|
1166
|
+
* spec/pg/connection_spec.rb:
|
1167
|
+
Mark the failing COPY tests as pending.
|
1168
|
+
[722d4e35b570]
|
1169
|
+
|
1170
|
+
* ext/pg.h, ext/pg_coder.c, ext/pg_copy_coder.c,
|
1171
|
+
ext/pg_text_encoder.c:
|
1172
|
+
Remove duplicated code.
|
1173
|
+
[bf96b3d34538]
|
1174
|
+
|
1175
|
+
* ext/pg_coder.c:
|
1176
|
+
Remove another usage of rb_str_modify_expand.
|
1177
|
+
[36493e777910]
|
1178
|
+
|
1179
|
+
* ext/extconf.rb, ext/pg.c:
|
1180
|
+
Add a more portable version of pg_ensure_str_capa, that should work
|
1181
|
+
on Rubinius.
|
1182
|
+
[bfdd98d3553a]
|
1183
|
+
|
1184
|
+
* ext/pg.c, ext/pg.h, ext/pg_copy_coder.c, ext/pg_text_encoder.c,
|
1185
|
+
spec/pg/type_spec.rb:
|
1186
|
+
Add specs for PG::TextEncoder::CopyRow. Refacture
|
1187
|
+
pg_ensure_str_capa() to avoid duplicated code.
|
1188
|
+
[58db6bcc673e]
|
1189
|
+
|
1190
|
+
2014-09-24 Lars Kanis <lars@greiz-reinsdorf.de>
|
1191
|
+
|
1192
|
+
* ext/pg_text_encoder.c:
|
1193
|
+
Finish second option for encoders to return a string.
|
1194
|
+
[d523e7482832]
|
1195
|
+
|
1196
|
+
2014-09-24 Lars Kanis <kanis@comcard.de>
|
1197
|
+
|
1198
|
+
* ext/pg_coder.c, ext/pg_connection.c, ext/pg_copy_coder.c,
|
1199
|
+
ext/pg_text_encoder.c:
|
1200
|
+
Add a second option for encoders to return a string. Not yet
|
1201
|
+
finished.
|
1202
|
+
[6a408664b53d]
|
1203
|
+
|
1204
|
+
* ext/pg_connection.c:
|
1205
|
+
Fix typo.
|
1206
|
+
[394b095b06e7]
|
1207
|
+
|
1208
|
+
2014-09-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
1209
|
+
|
1210
|
+
* Merge branch 'column_type_mapping' of github.com:larskanis/ruby-pg
|
1211
|
+
into column_type_mapping
|
1212
|
+
[0a904a023886]
|
1213
|
+
|
1214
|
+
2014-09-23 Lars Kanis <kanis@comcard.de>
|
1215
|
+
|
1216
|
+
* ext/pg.h:
|
1217
|
+
Merge branch 'column_type_mapping' of https://github.com/larskanis
|
1218
|
+
/ruby-pg into column_type_mapping
|
1219
|
+
[5f7ae7085714]
|
1220
|
+
|
1221
|
+
* ext/pg_connection.c:
|
1222
|
+
Fix comment.
|
1223
|
+
[bc848e8d054b]
|
1224
|
+
|
1225
|
+
* ext/pg.h, ext/pg_connection.c:
|
1226
|
+
Add setter and getter for Connection#encoder_for_put_copy_data and
|
1227
|
+
decoder_for_get_copy_data.
|
1228
|
+
[b21c2b78af51]
|
1229
|
+
|
1230
|
+
* ext/pg.c, ext/pg.h, ext/pg_binary_encoder.c, ext/pg_copy_coder.c,
|
1231
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
1232
|
+
spec/pg/connection_spec.rb:
|
1233
|
+
Add TextEncoder::CopyRow. Not finished yet.
|
1234
|
+
[f631bec1aea1]
|
1235
|
+
|
1236
|
+
* ext/pg_coder.c:
|
1237
|
+
Refactured duplicated init code for coders.
|
1238
|
+
[89c888335657]
|
1239
|
+
|
1240
|
+
2014-09-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
1241
|
+
|
1242
|
+
* ext/pg_type_map_by_column.c, ext/pg_type_map_by_oid.c:
|
1243
|
+
Fix possible invalid memory access in pg_tmbc_mark().
|
1244
|
+
[89a8049d3de8]
|
1245
|
+
|
1246
|
+
2014-09-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
1247
|
+
|
1248
|
+
* ext/pg.h:
|
1249
|
+
Add compat for Rubinius.
|
1250
|
+
[1836d0c5c623]
|
1251
|
+
|
1252
|
+
2014-09-22 Lars Kanis <kanis@comcard.de>
|
1253
|
+
|
1254
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_result.c, ext/pg_type_map.c,
|
1255
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
1256
|
+
ext/pg_type_map_by_oid.c, spec/pg/type_map_by_oid_spec.rb,
|
1257
|
+
spec/pg/type_map_spec.rb:
|
1258
|
+
Add PG::TypeMap#fit_to_result and fit_to_query as Ruby methods and
|
1259
|
+
remove opposite Ruby callback wrapper.
|
1260
|
+
|
1261
|
+
The callback wrapper were not used and explicit calling
|
1262
|
+
fit_to_result makes more sense (for caching etc.).
|
1263
|
+
|
1264
|
+
Swap parameter order of fit_to_result and fit_to_query so that self
|
1265
|
+
is the first one.
|
1266
|
+
[531ece2a12f8]
|
1267
|
+
|
1268
|
+
* ext/pg_type_map_by_mri_type.c:
|
1269
|
+
Add comment to TypeMapByMriType class. [skip-ci]
|
1270
|
+
[19e5622fd318]
|
1271
|
+
|
1272
|
+
* ext/pg_connection.c:
|
1273
|
+
Put only converted ruby strings into the gc_array.
|
1274
|
+
[f705548a5b5f]
|
1275
|
+
|
1276
|
+
2014-09-21 Lars Kanis <lars@greiz-reinsdorf.de>
|
1277
|
+
|
1278
|
+
* README.rdoc, lib/pg/type_map_by_column.rb:
|
1279
|
+
Update the introduction for type casting in Pg. Luckily it became
|
1280
|
+
easier.
|
1281
|
+
[b1876686a1e2]
|
1282
|
+
|
1283
|
+
* lib/pg/basic_type_mapping.rb, spec/pg/basic_type_mapping_spec.rb,
|
1284
|
+
spec/pg/connection_spec.rb:
|
1285
|
+
Use text format for integers and don't set type OID for text types.
|
1286
|
+
[34b9dacb04d3]
|
1287
|
+
|
1288
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1289
|
+
Implement a faster Fixnum to text encoder.
|
1290
|
+
[a7b9ea6dffd7]
|
1291
|
+
|
1292
|
+
* spec/pg/connection_spec.rb:
|
1293
|
+
Add spec for a lot of result columns in conjunction with type
|
1294
|
+
casting.
|
1295
|
+
[13629c7af842]
|
1296
|
+
|
1297
|
+
* ext/pg_connection.c:
|
1298
|
+
Use query stack memory pool somewhat more space efficient.
|
1299
|
+
[13c7d27cf253]
|
1300
|
+
|
1301
|
+
2014-09-20 Lars Kanis <lars@greiz-reinsdorf.de>
|
1302
|
+
|
1303
|
+
* ext/pg_connection.c:
|
1304
|
+
Do two passes of query param encoding one after another. This should
|
1305
|
+
give somewhat more cache locality.
|
1306
|
+
[c2634b894cb7]
|
1307
|
+
|
1308
|
+
* ext/pg.h, ext/pg_binary_decoder.c, ext/pg_connection.c,
|
1309
|
+
ext/pg_result.c, ext/pg_text_decoder.c:
|
1310
|
+
Use a faster version of ENCODING_SET.
|
1311
|
+
|
1312
|
+
Remove several ifdefs.
|
1313
|
+
[90051cb74b20]
|
1314
|
+
|
1315
|
+
* ext/pg.c, ext/pg.h, ext/pg_binary_decoder.c, ext/pg_connection.c,
|
1316
|
+
ext/pg_result.c:
|
1317
|
+
Cleanup and harmonize encoding assignment.
|
1318
|
+
[2549c08e631e]
|
1319
|
+
|
1320
|
+
* ext/pg_result.c, spec/pg/result_spec.rb:
|
1321
|
+
Add type casting to Result#column_values and #field_values.
|
1322
|
+
[34b9016757c4]
|
1323
|
+
|
1324
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_result.c,
|
1325
|
+
ext/pg_text_decoder.c, ext/pg_type_map.c,
|
1326
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
1327
|
+
ext/pg_type_map_by_oid.c:
|
1328
|
+
Use RBasic encoding store as cache for connection's
|
1329
|
+
internal_encoding.
|
1330
|
+
|
1331
|
+
Remove encoding_index from typemap struct.
|
1332
|
+
|
1333
|
+
Rename typemap-struct member 'typecast' to 'typecast_result_value'.
|
1334
|
+
[58dff8991613]
|
1335
|
+
|
1336
|
+
2014-09-19 Lars Kanis <lars@greiz-reinsdorf.de>
|
1337
|
+
|
1338
|
+
* ext/pg_connection.c:
|
1339
|
+
Avoid duplicated type check for typemaps on query params.
|
1340
|
+
[e7ae19b8fe19]
|
1341
|
+
|
1342
|
+
* ext/pg_type_map_by_mri_type.c:
|
1343
|
+
Sort MRI-types according to their probability.
|
1344
|
+
[383da4885164]
|
1345
|
+
|
1346
|
+
* ext/pg_connection.c, ext/pg_result.c, lib/pg/result.rb:
|
1347
|
+
Implement PG::Result#values in C. This avoids the overhead of
|
1348
|
+
Enumerator-fibers and dynamic array size changes.
|
1349
|
+
[7bf8d41cbcb6]
|
1350
|
+
|
1351
|
+
* ext/pg_connection.c, spec/pg/connection_spec.rb:
|
1352
|
+
Use stack memory for queries unless there are a lot of params.
|
1353
|
+
[b9f9f33f5c21]
|
1354
|
+
|
1355
|
+
2014-09-19 Lars Kanis <kanis@comcard.de>
|
1356
|
+
|
1357
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_result.c,
|
1358
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_oid.c,
|
1359
|
+
spec/pg/connection_spec.rb, spec/pg/result_spec.rb:
|
1360
|
+
Use a wrapped C-struct as data of PG::Result and store instance
|
1361
|
+
variables there.
|
1362
|
+
|
1363
|
+
This avoids all hash lookups for accessing instance variables.
|
1364
|
+
|
1365
|
+
This also fixes bitbucket bug #185 by marking the result as
|
1366
|
+
autocleared: https://bitbucket.org/ged/ruby-pg/issue/185
|
1367
|
+
|
1368
|
+
And this adds two new methods to PG::Result : autoclear? and
|
1369
|
+
cleared?
|
1370
|
+
[93d51e75cb0b]
|
1371
|
+
|
1372
|
+
* ext/pg_connection.c:
|
1373
|
+
Rename p_conn to this.
|
1374
|
+
[7ae20e3f9db2]
|
1375
|
+
|
1376
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_result.c:
|
1377
|
+
Move all ivars of the Connection object to C-struct.
|
1378
|
+
[79ed6d2ba9a1]
|
1379
|
+
|
1380
|
+
* ext/pg.h, ext/pg_connection.c:
|
1381
|
+
Merge branch 'column_type_mapping' into use_structs_as_data_ptr
|
1382
|
+
[183eff440b6e]
|
1383
|
+
|
1384
|
+
* ext/pg_connection.c:
|
1385
|
+
Merge branch 'column_type_mapping' of https://github.com/larskanis
|
1386
|
+
/ruby-pg into column_type_mapping
|
1387
|
+
[75ef0371c4ed]
|
1388
|
+
|
1389
|
+
2014-09-18 Lars Kanis <lars@greiz-reinsdorf.de>
|
1390
|
+
|
1391
|
+
* ext/pg_type_map_by_oid.c:
|
1392
|
+
Merge branch 'column_type_mapping' of github.com:larskanis/ruby-pg
|
1393
|
+
into column_type_mapping
|
1394
|
+
|
1395
|
+
Conflicts: ext/pg_type_map_by_oid.c
|
1396
|
+
[39b58e42efd6]
|
1397
|
+
|
1398
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_type_map.c,
|
1399
|
+
ext/pg_type_map_by_column.c, ext/pg_type_map_by_mri_type.c,
|
1400
|
+
ext/pg_type_map_by_oid.c:
|
1401
|
+
Refacture type casting of query params, to avoid doublicated code.
|
1402
|
+
|
1403
|
+
This also bundles memory allocation for query functions.
|
1404
|
+
[4d0a26946895]
|
1405
|
+
|
1406
|
+
2014-09-18 Lars Kanis <kanis@comcard.de>
|
1407
|
+
|
1408
|
+
* ext/pg.h, ext/pg_connection.c:
|
1409
|
+
Use structs as data ptr.
|
1410
|
+
[bb3ce59c6acd]
|
1411
|
+
|
1412
|
+
* ext/pg_connection.c:
|
1413
|
+
Remove rb_obj_is_kind_of(connection) for every Connection method
|
1414
|
+
call.
|
1415
|
+
|
1416
|
+
There should'nt be any possibility to change the base type from Ruby
|
1417
|
+
space.
|
1418
|
+
[5dd2fec1a494]
|
1419
|
+
|
1420
|
+
* ext/pg_type_map_by_oid.c, spec/pg/type_map_by_oid_spec.rb:
|
1421
|
+
Add a OID lookup cache to PG::TypeMapByOid to the cost of 8KByte
|
1422
|
+
heap memory per instance.
|
1423
|
+
|
1424
|
+
max_rows_for_online_lookup is also increased but that's only
|
1425
|
+
guessed. So no tests were done to find any break-even point.
|
1426
|
+
[bf44b0aaf366]
|
1427
|
+
|
1428
|
+
2014-09-16 Lars Kanis <lars@greiz-reinsdorf.de>
|
1429
|
+
|
1430
|
+
* ext/pg_type_map_by_oid.c, spec/pg/type_map_by_oid_spec.rb:
|
1431
|
+
TypeMapByOid: Add threshold for per-row hash lookups.
|
1432
|
+
[892253614bdb]
|
1433
|
+
|
1434
|
+
2014-09-16 Lars Kanis <kanis@comcard.de>
|
1435
|
+
|
1436
|
+
* ext/pg_connection.c, ext/pg_result.c, ext/pg_text_decoder.c,
|
1437
|
+
lib/pg/basic_type_mapping.rb, lib/pg/result.rb,
|
1438
|
+
spec/pg/basic_type_mapping_spec.rb, spec/pg/connection_spec.rb:
|
1439
|
+
Restructured BasicTypeMapping to make use of TypeMapByOid and
|
1440
|
+
TypeMapByMriType.
|
1441
|
+
|
1442
|
+
Renamed type_map_for_result and type_map_for_query to plural form -
|
1443
|
+
that sounds better.
|
1444
|
+
[8bda62d443c9]
|
1445
|
+
|
1446
|
+
* ext/pg_type_map_by_oid.c:
|
1447
|
+
TypeMapByOid: Move init code for C-Struct to alloc function, so that
|
1448
|
+
derived classes, which don't call super in initialize don't
|
1449
|
+
segfault.
|
1450
|
+
[592fa6e19beb]
|
1451
|
+
|
1452
|
+
* ext/pg.h, ext/pg_connection.c, ext/pg_type_map_by_mri_type.c,
|
1453
|
+
spec/pg/type_map_by_mri_type_spec.rb:
|
1454
|
+
TypeMapByMriType: Allow dynamic definition of a coder for each per
|
1455
|
+
query param.
|
1456
|
+
|
1457
|
+
Remove T_NIL since it's not useful. Qnil is always mapped to SQL
|
1458
|
+
NULL.
|
1459
|
+
[8e5d18881a5d]
|
1460
|
+
|
1461
|
+
* ext/pg.h:
|
1462
|
+
Add missing function declaration.
|
1463
|
+
[30eb8599d4b2]
|
1464
|
+
|
1465
|
+
* ext/pg_result.c, ext/pg_type_map_by_column.c,
|
1466
|
+
ext/pg_type_map_by_oid.c:
|
1467
|
+
Replace some Check_Type/DATA_PTR combinations by Data_Get_Struct.
|
1468
|
+
[5f4cb85d4025]
|
1469
|
+
|
1470
|
+
* ext/pg_type_map_by_column.c:
|
1471
|
+
Remove unnecessary variable.
|
1472
|
+
[2e109387fa5b]
|
1473
|
+
|
1474
|
+
* Manifest.txt, ext/pg.c, ext/pg_type_map_by_mri_type.c,
|
1475
|
+
spec/pg/type_map_by_mri_type_spec.rb:
|
1476
|
+
Add PG::TypeMapByMriType for encoding of Ruby values.
|
1477
|
+
[00e11c3f4ced]
|
1478
|
+
|
1479
|
+
2014-09-15 Lars Kanis <lars@greiz-reinsdorf.de>
|
1480
|
+
|
1481
|
+
* ext/pg_type_map_by_column.c:
|
1482
|
+
Fix NULL pointer deref in mark function.
|
1483
|
+
|
1484
|
+
Move init of tmbc struct, so that it's done before a raise/GC run
|
1485
|
+
can happen.
|
1486
|
+
[ece47453109b]
|
1487
|
+
|
1488
|
+
2014-09-15 Lars Kanis <kanis@comcard.de>
|
1489
|
+
|
1490
|
+
* ext/pg_type_map_by_column.c:
|
1491
|
+
Avoid read of uninitialized values - detected with valgrind:
|
1492
|
+
|
1493
|
+
==30681== Conditional jump or move depends on uninitialised value(s)
|
1494
|
+
==30681== at 0xD1732EB: pg_tmbc_alloc_query_params
|
1495
|
+
(pg_type_map_by_column.c:157) ==30681== by 0x4EA93B6: rb_protect
|
1496
|
+
(eval.c:819) ==30681== by 0xD1770DE: alloc_query_params
|
1497
|
+
(pg_connection.c:1030) ==30681== by 0xD17A357: pgconn_exec_params
|
1498
|
+
(pg_connection.c:1102) ==30681== by 0x4FCE439:
|
1499
|
+
vm_call_cfunc_with_frame (vm_insnhelper.c:1470) ==30681== by
|
1500
|
+
0x4FDA48E: vm_call_method (vm_insnhelper.c:1560) ==30681== by
|
1501
|
+
0x4FD2568: vm_exec_core (insns.def:1028) ==30681== by 0x4FD7126:
|
1502
|
+
vm_exec (vm.c:1304) ==30681== by 0x4FD8EFA:
|
1503
|
+
invoke_block_from_c.part.49 (vm.c:732) ==30681== by 0x4FDCB13:
|
1504
|
+
yield_under (vm.c:704) ==30681== by 0x4FCE439:
|
1505
|
+
vm_call_cfunc_with_frame (vm_insnhelper.c:1470) ==30681== by
|
1506
|
+
0x4FDA48E: vm_call_method (vm_insnhelper.c:1560)
|
1507
|
+
[4a125325e819]
|
1508
|
+
|
1509
|
+
* ext/pg_type_map_by_column.c, ext/pg_type_map_by_oid.c:
|
1510
|
+
Fix NULL pointer dereference when a TypeMapByColumn is marked before
|
1511
|
+
#initialize
|
1512
|
+
|
1513
|
+
Remove unnecessary type cast.
|
1514
|
+
[4fe07c3ea525]
|
1515
|
+
|
1516
|
+
2014-09-14 Lars Kanis <lars@greiz-reinsdorf.de>
|
1517
|
+
|
1518
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_type_map_by_column.c,
|
1519
|
+
ext/pg_type_map_by_oid.c, spec/pg/type_map_by_oid_spec.rb:
|
1520
|
+
Add PG::TypeMapByOid which can be used for easy and fast result
|
1521
|
+
value type casts.
|
1522
|
+
|
1523
|
+
Change TypeMapByColumn to use a GC mark function. This way we don't
|
1524
|
+
need to store the coder objects twice.
|
1525
|
+
[c967d74f8412]
|
1526
|
+
|
1527
|
+
* ext/pg_connection.c:
|
1528
|
+
Remove unnecessary memory allocation.
|
1529
|
+
[72957cc8bb04]
|
1530
|
+
|
1531
|
+
2014-09-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
1532
|
+
|
1533
|
+
* spec/pg/type_map_spec.rb:
|
1534
|
+
Remove obsolete comment
|
1535
|
+
[c875975e4596]
|
1536
|
+
|
1537
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_coder.c,
|
1538
|
+
ext/pg_column_mapping.c, ext/pg_connection.c, ext/pg_result.c,
|
1539
|
+
ext/pg_type_map.c, ext/pg_type_map_by_column.c, lib/pg.rb,
|
1540
|
+
lib/pg/basic_type_mapping.rb, lib/pg/column_mapping.rb,
|
1541
|
+
lib/pg/result.rb, lib/pg/type_map_by_column.rb,
|
1542
|
+
spec/pg/basic_type_mapping_spec.rb, spec/pg/column_mapping_spec.rb,
|
1543
|
+
spec/pg/connection_spec.rb, spec/pg/result_spec.rb,
|
1544
|
+
spec/pg/type_map_by_column_spec.rb, spec/pg/type_map_spec.rb:
|
1545
|
+
Allow different type mapping strategies beside ColumnMapping. This
|
1546
|
+
gives us the freedom to implement TypeMapByOid, TypeMapByClass or
|
1547
|
+
some fixed function mappings.
|
1548
|
+
|
1549
|
+
Rename ColumnMapping to TypeMapByColumn.
|
1550
|
+
|
1551
|
+
Seperate type_map_for_result from type_map_for_query, so thats it's
|
1552
|
+
easy to do type casts for one direction only.
|
1553
|
+
[2548e7a85049]
|
1554
|
+
|
1555
|
+
2014-09-02 Lars Kanis <lars@greiz-reinsdorf.de>
|
1556
|
+
|
1557
|
+
* ext/pg_coder.c, ext/pg_text_encoder.c, lib/pg/text_encoder.rb:
|
1558
|
+
Add documentation to some TextEncoder classes.
|
1559
|
+
[6c3fad43d3a2]
|
1560
|
+
|
1561
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1562
|
+
Fix PG::TextEncoder::Identifier for more than 2 elements.
|
1563
|
+
[fcb8138f3f6f]
|
1564
|
+
|
1565
|
+
2014-08-31 Lars Kanis <lars@greiz-reinsdorf.de>
|
1566
|
+
|
1567
|
+
* ext/pg.h, ext/pg_coder.c, ext/pg_text_decoder.c,
|
1568
|
+
ext/pg_text_encoder.c, lib/pg/coder.rb, spec/pg/type_spec.rb:
|
1569
|
+
Add delimiter attribute to composite types.
|
1570
|
+
[5604eba62d48]
|
1571
|
+
|
1572
|
+
* README.rdoc:
|
1573
|
+
Update the README to reflect the API change of the type cast
|
1574
|
+
classes.
|
1575
|
+
[2afd944eadb2]
|
1576
|
+
|
1577
|
+
* lib/pg/basic_type_mapping.rb:
|
1578
|
+
Update PG::BasicTypeMapping to make use of new PG::Coder classes.
|
1579
|
+
Add some documentation to BasicTypeMapping.
|
1580
|
+
[ad24be2307d1]
|
1581
|
+
|
1582
|
+
* spec/pg/type_spec.rb:
|
1583
|
+
type_spec doesn't make use of the helpers.
|
1584
|
+
[7a3a4197a61f]
|
1585
|
+
|
1586
|
+
2014-08-26 Lars Kanis <lars@greiz-reinsdorf.de>
|
1587
|
+
|
1588
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_binary_decoder.c,
|
1589
|
+
ext/pg_binary_encoder.c, ext/pg_coder.c, ext/pg_column_mapping.c,
|
1590
|
+
ext/pg_connection.c, ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
1591
|
+
ext/pg_type.c, lib/pg.rb, lib/pg/basic_type_mapping.rb,
|
1592
|
+
lib/pg/coder.rb, lib/pg/column_mapping.rb, lib/pg/text_decoder.rb,
|
1593
|
+
lib/pg/text_encoder.rb, lib/pg/type.rb,
|
1594
|
+
spec/pg/column_mapping_spec.rb, spec/pg/result_spec.rb,
|
1595
|
+
spec/pg/type_spec.rb:
|
1596
|
+
Simplify the type cast API by merging PG::Type and PG::Coder
|
1597
|
+
classes.
|
1598
|
+
|
1599
|
+
En/decoders can now be built directly as
|
1600
|
+
PG::TextDecoder::Integer.new instead of previous
|
1601
|
+
PG::Type.new(decoder: PG::TextDecoder::Integer) .
|
1602
|
+
[2b428d490e08]
|
1603
|
+
|
1604
|
+
2014-08-24 Lars Kanis <lars@greiz-reinsdorf.de>
|
1605
|
+
|
1606
|
+
* ext/pg_connection.c, ext/pg_type.c:
|
1607
|
+
Change all remaining Oid <-> VALUE conversions to UINT.
|
1608
|
+
[66047d8245d1]
|
1609
|
+
|
1610
|
+
* ext/pg_coder.c:
|
1611
|
+
Remove unused accessors.
|
1612
|
+
[b6b84993c6ff]
|
1613
|
+
|
1614
|
+
* spec/pg/type_spec.rb:
|
1615
|
+
Convert remaining two should's to expect syntax.
|
1616
|
+
[1888e8425d07]
|
1617
|
+
|
1618
|
+
* .travis.yml:
|
1619
|
+
'gem install rake-compiler' is still needed for cross build.
|
1620
|
+
[f8a0ac84f72f]
|
1621
|
+
|
1622
|
+
* .travis.yml, spec/pg/connection_spec.rb:
|
1623
|
+
Merge branch 'master' into column_type_mapping
|
1624
|
+
|
1625
|
+
Conflicts: .travis.yml
|
1626
|
+
[36684ebbc21d]
|
1627
|
+
|
1628
|
+
2014-08-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
1629
|
+
|
1630
|
+
* Merge /home/lars/comcard/tmp5/ruby-pg.git.bare into
|
1631
|
+
column_type_mapping
|
1632
|
+
[2485600065c4]
|
1633
|
+
|
1634
|
+
* spec/helpers.rb, spec/pg/column_mapping_spec.rb,
|
1635
|
+
spec/pg/connection_spec.rb, spec/pg/result_spec.rb,
|
1636
|
+
spec/pg/type_spec.rb:
|
1637
|
+
Convert type cast specs to expect syntax of RSpec 3
|
1638
|
+
[3497aade8d9a]
|
1639
|
+
|
1640
|
+
* Manifest.txt, ext/pg_connection.c, ext/pg_result.c, spec/helpers.rb,
|
1641
|
+
spec/lib/helpers.rb, spec/pg/connection_spec.rb,
|
1642
|
+
spec/pg/result_spec.rb:
|
1643
|
+
Merge branch 'master' into column_type_mapping
|
1644
|
+
|
1645
|
+
Conflicts: Manifest.txt spec/helpers.rb spec/pg/connection_spec.rb
|
1646
|
+
spec/pg/result_spec.rb
|
1647
|
+
[8eb15150e2f7]
|
1648
|
+
|
1649
|
+
2014-05-08 Lars Kanis <kanis@comcard.de>
|
1650
|
+
|
1651
|
+
* lib/pg/basic_type_mapping.rb:
|
1652
|
+
Make column_mapping_for_* methods public.
|
1653
|
+
[5b2c4584de20]
|
1654
|
+
|
1655
|
+
2014-04-27 Lars Kanis <lars@greiz-reinsdorf.de>
|
1656
|
+
|
1657
|
+
* lib/pg/coder.rb, lib/pg/type.rb:
|
1658
|
+
Add nicer inspect methods to Type and Coder.
|
1659
|
+
[bea1b87d449f]
|
1660
|
+
|
1661
|
+
2014-04-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
1662
|
+
|
1663
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1664
|
+
Add PG::TextEncoder::QUOTED_LITERAL.
|
1665
|
+
|
1666
|
+
This can be used to encode values directly for sql insertion.
|
1667
|
+
[899ae14a4177]
|
1668
|
+
|
1669
|
+
* ext/pg.h, ext/pg_binary_encoder.c, ext/pg_text_encoder.c,
|
1670
|
+
spec/pg/type_spec.rb:
|
1671
|
+
Use #to_i for encoding of non Numeric types. That allows use of
|
1672
|
+
strings like "123-garbage" as integer input.
|
1673
|
+
[3771cd7756af]
|
1674
|
+
|
1675
|
+
* ext/pg_text_encoder.c, lib/pg/basic_type_mapping.rb,
|
1676
|
+
spec/pg/column_mapping_spec.rb:
|
1677
|
+
Remove PG::TextEncoder::BYTEA, as it was not correct.
|
1678
|
+
[f246df175b01]
|
1679
|
+
|
1680
|
+
2014-04-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
1681
|
+
|
1682
|
+
* ext/pg_connection.c, spec/pg/column_mapping_spec.rb:
|
1683
|
+
Fix encoding of NULL values to typed fields.
|
1684
|
+
[8820a9c4271e]
|
1685
|
+
|
1686
|
+
* ext/pg_binary_encoder.c, ext/pg_text_encoder.c,
|
1687
|
+
spec/pg/type_spec.rb:
|
1688
|
+
Allow to encode Strings to int types
|
1689
|
+
[b8c6be80a931]
|
1690
|
+
|
1691
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1692
|
+
Fix encoding of empty arrays.
|
1693
|
+
[eff38fc911d0]
|
1694
|
+
|
1695
|
+
* ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
|
1696
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
1697
|
+
lib/pg/basic_type_mapping.rb, lib/pg/text_decoder.rb,
|
1698
|
+
lib/pg/text_encoder.rb, spec/pg/column_mapping_spec.rb,
|
1699
|
+
spec/pg/result_spec.rb, spec/pg/type_spec.rb:
|
1700
|
+
Change all coder objects to UPPERCASE, because they aren't class
|
1701
|
+
constants.
|
1702
|
+
[8384fe858ebf]
|
1703
|
+
|
1704
|
+
2014-04-21 Lars Kanis <lars@greiz-reinsdorf.de>
|
1705
|
+
|
1706
|
+
* ext/pg_text_decoder.c, ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1707
|
+
Add encoder and decoder for identifiers.
|
1708
|
+
|
1709
|
+
Improve quotation code of Array encoder.
|
1710
|
+
|
1711
|
+
Refactor Array encoder and decoder functions to allow reuse for
|
1712
|
+
identifiers.
|
1713
|
+
[b13e27b316d4]
|
1714
|
+
|
1715
|
+
2014-04-19 Lars Kanis <lars@greiz-reinsdorf.de>
|
1716
|
+
|
1717
|
+
* ext/pg_type.c, spec/pg/type_spec.rb:
|
1718
|
+
Allow PG::CompositeType#elements_type=nil and fix error text for
|
1719
|
+
invalid types.
|
1720
|
+
[91f8becf18aa]
|
1721
|
+
|
1722
|
+
* spec/pg/column_mapping_spec.rb:
|
1723
|
+
Add decoder tests for float values NAN and INFINITY.
|
1724
|
+
[c45b87b317c3]
|
1725
|
+
|
1726
|
+
* ext/pg_type.c:
|
1727
|
+
pg_type_get_and_check() is no longer in use.
|
1728
|
+
[f387ba78ccbf]
|
1729
|
+
|
1730
|
+
* lib/pg/basic_type_mapping.rb:
|
1731
|
+
Array.new is somewhat faster than using an Enumerator.
|
1732
|
+
[458cdea12837]
|
1733
|
+
|
1734
|
+
* ext/pg_column_mapping.c, ext/pg_result.c:
|
1735
|
+
Don't call ENCODING_GET() for each result value, but only once, when
|
1736
|
+
the ColumnMapping is assigned to a PG::Result.
|
1737
|
+
|
1738
|
+
The speedup is only minimal (~1%).
|
1739
|
+
[29fc4769e95a]
|
1740
|
+
|
1741
|
+
2014-04-18 Lars Kanis <lars@greiz-reinsdorf.de>
|
1742
|
+
|
1743
|
+
* ext/pg_type.c:
|
1744
|
+
Add check for output lengths of first/second pass of C based
|
1745
|
+
encoders.
|
1746
|
+
[445a04470387]
|
1747
|
+
|
1748
|
+
* ext/pg_text_encoder.c, spec/pg/type_spec.rb:
|
1749
|
+
Fix size computation of negative numbers for text integer encoding.
|
1750
|
+
[3984ee009617]
|
1751
|
+
|
1752
|
+
* README.rdoc:
|
1753
|
+
Tune type cast documentation a bit more.
|
1754
|
+
[65f0f57deb57]
|
1755
|
+
|
1756
|
+
* README.rdoc:
|
1757
|
+
Add the most simple use case for type casting to the README.
|
1758
|
+
[6524afce6fbc]
|
1759
|
+
|
1760
|
+
* ext/pg_text_decoder.c:
|
1761
|
+
rb_cstr2inum() seems to be slow, so we do the integer conversion by
|
1762
|
+
hand in simple cases. This proved to be 40% faster.
|
1763
|
+
[976fcccb023f]
|
1764
|
+
|
1765
|
+
2014-04-16 Lars Kanis <lars@greiz-reinsdorf.de>
|
1766
|
+
|
1767
|
+
* spec/pg/type_spec.rb:
|
1768
|
+
Add spec for PG::Type default values.
|
1769
|
+
[ac8037456424]
|
1770
|
+
|
1771
|
+
* lib/pg/type.rb:
|
1772
|
+
Remove old code.
|
1773
|
+
[d9abf3b53985]
|
1774
|
+
|
1775
|
+
* spec/pg/type_spec.rb:
|
1776
|
+
Add specs for Type#to_h.
|
1777
|
+
[170f9f5a344b]
|
1778
|
+
|
1779
|
+
* ext/pg_type.c:
|
1780
|
+
needs_quotation? should return true or false.
|
1781
|
+
[f00c1948e602]
|
1782
|
+
|
1783
|
+
2014-04-16 Lars Kanis <kanis@comcard.de>
|
1784
|
+
|
1785
|
+
* History.rdoc, lib/pg.rb:
|
1786
|
+
Bump VERSION to 0.18.0
|
1787
|
+
[91ea8734d053]
|
1788
|
+
|
1789
|
+
2014-04-15 Lars Kanis <lars@greiz-reinsdorf.de>
|
1790
|
+
|
1791
|
+
* ext/pg.h, ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
|
1792
|
+
ext/pg_coder.c, ext/pg_text_decoder.c, ext/pg_text_encoder.c,
|
1793
|
+
lib/pg/coder.rb:
|
1794
|
+
Use full qualified name for Coder#name.
|
1795
|
+
|
1796
|
+
Remove duplicated code in coder definitions.
|
1797
|
+
[7ca87a46a91c]
|
1798
|
+
|
1799
|
+
2014-04-15 Lars Kanis <kanis@comcard.de>
|
1800
|
+
|
1801
|
+
* Manifest.txt:
|
1802
|
+
Update Manifest.txt
|
1803
|
+
[02c6ce33a90c]
|
1804
|
+
|
1805
|
+
* ext/pg_binary_decoder.c, ext/pg_binary_encoder.c,
|
1806
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c:
|
1807
|
+
Remove duplicated @name accessors.
|
1808
|
+
[13cc22a2b729]
|
1809
|
+
|
1810
|
+
2014-04-15 Lars Kanis <lars@greiz-reinsdorf.de>
|
1811
|
+
|
1812
|
+
* ext/pg.c, ext/pg.h, ext/pg_binary_decoder.c,
|
1813
|
+
ext/pg_binary_encoder.c, ext/pg_coder.c, ext/pg_text_decoder.c,
|
1814
|
+
ext/pg_text_encoder.c, lib/pg.rb, lib/pg/coder.rb, lib/pg/type.rb,
|
1815
|
+
spec/pg/type_spec.rb:
|
1816
|
+
Add ability to Marshal.dump/load PG::Type objects.
|
1817
|
+
|
1818
|
+
This should help to use PG::Type in ActiveRecord.
|
1819
|
+
|
1820
|
+
This also fixes base classes for Composite coders.
|
1821
|
+
[ef0ef4b51e0d]
|
1822
|
+
|
1823
|
+
2014-04-14 Lars Kanis <kanis@comcard.de>
|
1824
|
+
|
1825
|
+
* README.rdoc:
|
1826
|
+
Update README according to changes in type mapping.
|
1827
|
+
[fe3b1cd9850b]
|
1828
|
+
|
1829
|
+
2014-04-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
1830
|
+
|
1831
|
+
* Manifest.txt, ext/pg.h, ext/pg_column_mapping.c, ext/pg_type.c,
|
1832
|
+
lib/pg.rb, lib/pg/simple_type.rb, lib/pg/type.rb,
|
1833
|
+
spec/pg/type_spec.rb:
|
1834
|
+
Add a common base class PG::Type for PG::SimpleType and
|
1835
|
+
PG::CompositeType.
|
1836
|
+
|
1837
|
+
"some kind of PG::Type" sounds a little bit better than SimpleType.
|
1838
|
+
[2a385bd22f7c]
|
1839
|
+
|
1840
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_binary_decoder.c,
|
1841
|
+
ext/pg_binary_encoder.c, ext/pg_column_mapping.c,
|
1842
|
+
ext/pg_text_decoder.c, ext/pg_text_encoder.c, ext/pg_type.c,
|
1843
|
+
ext/pg_type_binary_decoder.c, ext/pg_type_binary_encoder.c,
|
1844
|
+
ext/pg_type_text_decoder.c, ext/pg_type_text_encoder.c, lib/pg.rb,
|
1845
|
+
lib/pg/basic_type_mapping.rb, lib/pg/simple_type.rb,
|
1846
|
+
lib/pg/text_decoder.rb, lib/pg/text_encoder.rb,
|
1847
|
+
lib/pg/type/simple_type.rb, lib/pg/type/text_decoder.rb,
|
1848
|
+
lib/pg/type/text_encoder.rb, lib/pg/type/type.rb,
|
1849
|
+
spec/pg/column_mapping_spec.rb, spec/pg/result_spec.rb,
|
1850
|
+
spec/pg/type_spec.rb:
|
1851
|
+
Remove namespace PG::Type and move all contained classes in PG
|
1852
|
+
namespace.
|
1853
|
+
|
1854
|
+
Rename function names accordingly.
|
1855
|
+
[c5886a74623c]
|
1856
|
+
|
1857
|
+
2014-04-12 Lars Kanis <lars@greiz-reinsdorf.de>
|
1858
|
+
|
1859
|
+
* spec/pg/result_spec.rb:
|
1860
|
+
Remove needless == in spec.
|
1861
|
+
[03d3a7c68f8f]
|
1862
|
+
|
1863
|
+
* Manifest.txt, lib/pg.rb, lib/pg/basic_type_mapping.rb,
|
1864
|
+
lib/pg/column_mapping.rb, lib/pg/result.rb, lib/pg/type.rb,
|
1865
|
+
spec/pg/column_mapping_spec.rb, spec/pg/connection_spec.rb,
|
1866
|
+
spec/pg/result_spec.rb:
|
1867
|
+
Change BasicTypeMapping so that it uses type information from the
|
1868
|
+
DB.
|
1869
|
+
|
1870
|
+
Align specs to the latest type code refactoring.
|
1871
|
+
[ad90adcc1ae3]
|
1872
|
+
|
1873
|
+
* ext/pg_column_mapping.c, lib/pg/type/simple_type.rb,
|
1874
|
+
lib/pg/type/text_decoder.rb, lib/pg/type/text_encoder.rb,
|
1875
|
+
lib/pg/type/type.rb:
|
1876
|
+
Fix colmap_init. It was the wrong variable name.
|
1877
|
+
[eb13e786adec]
|
1878
|
+
|
1879
|
+
2014-04-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
1880
|
+
|
1881
|
+
* spec/pg/type_spec.rb:
|
1882
|
+
Convert and add several new test cases to SimpleType and
|
1883
|
+
CompositType.
|
1884
|
+
[d07abe17054c]
|
1885
|
+
|
1886
|
+
* ext/pg_type_text_encoder.c:
|
1887
|
+
Avoid calling enc_func twice for array encoding.
|
1888
|
+
|
1889
|
+
This did lead to wrong behaviour on array of ruby defined types when
|
1890
|
+
using quotation.
|
1891
|
+
[767e1049ea08]
|
1892
|
+
|
1893
|
+
* ext/pg_type_binary_decoder.c, ext/pg_type_binary_encoder.c,
|
1894
|
+
ext/pg_type_text_decoder.c, ext/pg_type_text_encoder.c:
|
1895
|
+
Add String en/decoder.
|
1896
|
+
[d420f9b92bf3]
|
1897
|
+
|
1898
|
+
* ext/pg_type.c:
|
1899
|
+
Ensure encoder output is a string and decoder input is a string.
|
1900
|
+
[fd943340acac]
|
1901
|
+
|
1902
|
+
2014-04-09 Lars Kanis <lars@greiz-reinsdorf.de>
|
1903
|
+
|
1904
|
+
* ext/pg.c, ext/pg.h, ext/pg_column_mapping.c, ext/pg_connection.c,
|
1905
|
+
ext/pg_type.c, ext/pg_type_binary_decoder.c,
|
1906
|
+
ext/pg_type_binary_encoder.c, ext/pg_type_text_decoder.c,
|
1907
|
+
ext/pg_type_text_encoder.c:
|
1908
|
+
WIP: Major refactoring of the type mapping code and API.
|
1909
|
+
|
1910
|
+
Now we distinguish between Encoders/Decoders and Types on Ruby
|
1911
|
+
level.
|
1912
|
+
[48e40627d66b]
|
1913
|
+
|
1914
|
+
2014-04-04 Lars Kanis <lars@greiz-reinsdorf.de>
|
1915
|
+
|
1916
|
+
* spec/pg/connection_spec.rb:
|
1917
|
+
Cleanup test tables, so that these two test cases can be executed
|
1918
|
+
multiple times.
|
1919
|
+
[3c450594f574]
|
1920
|
+
|
1921
|
+
2014-03-31 Lars Kanis <kanis@comcard.de>
|
1922
|
+
|
1923
|
+
* ext/pg.h, ext/pg_column_mapping.c, ext/pg_type.c, lib/pg/type.rb,
|
1924
|
+
spec/pg/type_spec.rb:
|
1925
|
+
Allow composition of types in Ruby space, so that we can combine
|
1926
|
+
Ruby and C converters.
|
1927
|
+
[e25ee59f5bff]
|
1928
|
+
|
1929
|
+
2014-03-31 Lars Kanis <lars@greiz-reinsdorf.de>
|
1930
|
+
|
1931
|
+
* ext/pg.h, ext/pg_column_mapping.c, ext/pg_connection.c,
|
1932
|
+
ext/pg_type.c:
|
1933
|
+
Add composit types that allow mixed C/Ruby implementation of
|
1934
|
+
base/elem converters.
|
1935
|
+
[c5a3c68fe2bb]
|
1936
|
+
|
1937
|
+
2014-03-24 Lars Kanis <kanis@comcard.de>
|
1938
|
+
|
1939
|
+
* .travis.yml:
|
1940
|
+
Fix windows build on travis-ci.
|
1941
|
+
[0fc7eee486c8]
|
1942
|
+
|
1943
|
+
* lib/pg/type_mapping.rb:
|
1944
|
+
Merge branch 'column_type_mapping' of https://github.com/larskanis
|
1945
|
+
/ruby-pg into column_type_mapping
|
1946
|
+
[8e785f697ba7]
|
1947
|
+
|
1948
|
+
2014-03-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
1949
|
+
|
1950
|
+
* Manifest.txt, spec/pg/array_parser_spec.rb, spec/pg/type_spec.rb:
|
1951
|
+
Merge array_parser_spec.rb into type_spec.rb. Update Manifest.txt.
|
1952
|
+
[23907cc8d0f2]
|
1953
|
+
|
1954
|
+
* spec/lib/helpers.rb, spec/pg/column_mapping_spec.rb:
|
1955
|
+
Type encoding: Verify that the type OIDs match our expectation when
|
1956
|
+
encoding values.
|
1957
|
+
[4a4f58d3a058]
|
1958
|
+
|
1959
|
+
2014-03-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
1960
|
+
|
1961
|
+
* ext/pg_type.c, spec/pg/type_spec.rb:
|
1962
|
+
Fix conversion of Bignums to integer for text format.
|
1963
|
+
[987713eeca05]
|
1964
|
+
|
1965
|
+
* lib/pg/basic_type_mapping.rb, spec/pg/array_parser_spec.rb,
|
1966
|
+
spec/pg/column_mapping_spec.rb:
|
1967
|
+
Add basic type mapping for array types.
|
1968
|
+
[112cc249775b]
|
1969
|
+
|
1970
|
+
* ext/pg_type.c:
|
1971
|
+
Add float type conversions for text format.
|
1972
|
+
[d45c09db59c9]
|
1973
|
+
|
1974
|
+
* ext/pg_type.c:
|
1975
|
+
Text array encoding: Store all intermediate values into a single
|
1976
|
+
array even of converting multi dimensional arrays.
|
1977
|
+
|
1978
|
+
Add integer encoding for text format.
|
1979
|
+
[d95cc34a5119]
|
1980
|
+
|
1981
|
+
* ext/pg_type.c:
|
1982
|
+
Add inttypes.h since we're using int_t types.
|
1983
|
+
[c3a4655c70c5]
|
1984
|
+
|
1985
|
+
* ext/pg_type.c:
|
1986
|
+
Array type encoding: Avoid unnecessary copying of data.
|
1987
|
+
[78a8caa47042]
|
1988
|
+
|
1989
|
+
2014-03-21 Lars Kanis <lars@greiz-reinsdorf.de>
|
1990
|
+
|
1991
|
+
* ext/pg_type.c, spec/pg/array_parser_spec.rb:
|
1992
|
+
Add array encoding for text format.
|
1993
|
+
[54682c69398f]
|
1994
|
+
|
1995
|
+
* spec/pg/column_mapping_spec.rb:
|
1996
|
+
Fix typo in column_mapping_spec.rb
|
1997
|
+
[007d45ed9ab5]
|
1998
|
+
|
1999
|
+
* ext/pg_column_mapping.c:
|
2000
|
+
Fix wrong type check due to 274d3e533.
|
2001
|
+
[51a9632e9a33]
|
2002
|
+
|
2003
|
+
2014-02-25 Lars Kanis <lars@greiz-reinsdorf.de>
|
2004
|
+
|
2005
|
+
* ext/pg_type.c:
|
2006
|
+
Add encode/decode methods to CConverters only if corresponding C
|
2007
|
+
functions are defined.
|
2008
|
+
|
2009
|
+
This allowes simple detection of the capablities per respond_to? .
|
2010
|
+
[16209f4f9b70]
|
2011
|
+
|
2012
|
+
* ext/pg_connection.c:
|
2013
|
+
Use variable length arrays on the stack for intermediates while
|
2014
|
+
param value convertion.
|
2015
|
+
|
2016
|
+
This avoids malloc/free overhead, frees the memory before the
|
2017
|
+
function call and ensures proper GC protection.
|
2018
|
+
[44a016bc84fa]
|
2019
|
+
|
2020
|
+
2014-02-19 Lars Kanis <lars@greiz-reinsdorf.de>
|
2021
|
+
|
2022
|
+
* ext/pg_type.c:
|
2023
|
+
Fix value.inspect in raised exception.
|
2024
|
+
[2af869fcf933]
|
2025
|
+
|
2026
|
+
* README.rdoc:
|
2027
|
+
Add paths to implementation files in README.
|
2028
|
+
[d6ca799ef38c]
|
2029
|
+
|
2030
|
+
2014-02-18 Lars Kanis <lars@greiz-reinsdorf.de>
|
2031
|
+
|
2032
|
+
* ext/pg_result.c:
|
2033
|
+
Avoid 'result has been cleared' error in case of UnableToSend.
|
2034
|
+
|
2035
|
+
Avoid double checking per pgresult_get().
|
2036
|
+
[4a478da0839a]
|
2037
|
+
|
2038
|
+
* README.rdoc, ext/pg_connection.c, ext/pg_result.c,
|
2039
|
+
spec/pg/connection_spec.rb:
|
2040
|
+
Allow connection wide assignment of type_mapping.
|
2041
|
+
[ecd58ff267b1]
|
2042
|
+
|
2043
|
+
* ext/pg_type.c:
|
2044
|
+
Add missing string termination to array conversion.
|
2045
|
+
[f2dcc3692737]
|
2046
|
+
|
2047
|
+
* ext/pg_type.c, spec/pg/array_parser_spec.rb,
|
2048
|
+
spec/pg/column_mapping_spec.rb:
|
2049
|
+
Add array type conversions.
|
2050
|
+
[e667a761e93b]
|
2051
|
+
|
2052
|
+
* ext/pg_type.c, spec/pg/type_spec.rb:
|
2053
|
+
Allow Type.decode to be called without tuple and field args.
|
2054
|
+
[e6089af0d283]
|
2055
|
+
|
2056
|
+
* lib/pg.rb, lib/pg/basic_type_mapping.rb, lib/pg/type_mapping.rb:
|
2057
|
+
Rename file so that it matches the class name.
|
2058
|
+
[95a4b6841516]
|
2059
|
+
|
2060
|
+
2014-02-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
2061
|
+
|
2062
|
+
* .travis.yml:
|
2063
|
+
Update travis config.
|
2064
|
+
[8082f9d17c76]
|
2065
|
+
|
2066
|
+
* README.rdoc, lib/pg/result.rb:
|
2067
|
+
Tweak documentation.
|
2068
|
+
[c5e439d9ee9d]
|
2069
|
+
|
2070
|
+
* spec/pg/column_mapping_spec.rb:
|
2071
|
+
Fix test for time input type cast.
|
2072
|
+
[a217e1a4d4ac]
|
2073
|
+
|
2074
|
+
* spec/pg/connection_spec.rb:
|
2075
|
+
Do raise test per plpgsql on PostgreSQL-9.2+ only.
|
2076
|
+
[99301f365b41]
|
2077
|
+
|
2078
|
+
2014-02-13 Lars Kanis <kanis@comcard.de>
|
2079
|
+
|
2080
|
+
* spec/pg/connection_spec.rb:
|
2081
|
+
Restrict raise test with plpgsql to PostgreSQL-9.0+
|
2082
|
+
[62ad91254117]
|
2083
|
+
|
2084
|
+
2014-02-12 Lars Kanis <lars@greiz-reinsdorf.de>
|
2085
|
+
|
2086
|
+
* lib/pg/type_mapping.rb:
|
2087
|
+
Add missing type_mapping.rb
|
2088
|
+
[33238fce4d0b]
|
2089
|
+
|
2090
|
+
* README.rdoc, ext/pg_connection.c, ext/pg_result.c, lib/pg.rb,
|
2091
|
+
lib/pg/column_mapping.rb, lib/pg/result.rb, lib/pg/type.rb,
|
2092
|
+
spec/pg/column_mapping_spec.rb, spec/pg/connection_spec.rb,
|
2093
|
+
spec/pg/result_spec.rb:
|
2094
|
+
Implement BasicTypeMapping as a replacement to the Hash based
|
2095
|
+
DEFAULT_OID/DEFAULT_TYPE mechanism.
|
2096
|
+
[08fe2daeda55]
|
2097
|
+
|
2098
|
+
2014-02-11 Lars Kanis <lars@greiz-reinsdorf.de>
|
2099
|
+
|
2100
|
+
* README.rdoc:
|
2101
|
+
Add description of the type cast architecture.
|
2102
|
+
[e57f8662f564]
|
2103
|
+
|
2104
|
+
2014-01-06 Lars Kanis <lars@greiz-reinsdorf.de>
|
2105
|
+
|
2106
|
+
* ext/pg_connection.c, spec/pg/connection_spec.rb:
|
2107
|
+
Ensure all memory is free'd in case of exceptions in
|
2108
|
+
alloc_query_params()
|
2109
|
+
[efb0fdf2af3d]
|
2110
|
+
|
2111
|
+
2014-01-01 Lars Kanis <lars@greiz-reinsdorf.de>
|
2112
|
+
|
2113
|
+
* ext/pg.h, ext/pg_column_mapping.c, ext/pg_connection.c,
|
2114
|
+
ext/pg_type.c, lib/pg.rb, lib/pg/column_mapping.rb,
|
2115
|
+
lib/pg/result.rb, lib/pg/type.rb, spec/pg/column_mapping_spec.rb,
|
2116
|
+
spec/pg/result_spec.rb:
|
2117
|
+
Add optional type casting to input parameters
|
2118
|
+
|
2119
|
+
Refactor decoding code
|
2120
|
+
[19491546392d]
|
2121
|
+
|
2122
|
+
2013-12-28 Lars Kanis <lars@greiz-reinsdorf.de>
|
2123
|
+
|
2124
|
+
* ext/pg_connection.c:
|
2125
|
+
Refactor processing of query params, which was almost equal for
|
2126
|
+
exec_params, exec_prepared, send_query and send_query_prepared.
|
2127
|
+
[a3b5e9405825]
|
2128
|
+
|
2129
|
+
2013-12-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
2130
|
+
|
2131
|
+
* ext/pg.h, ext/pg_column_mapping.c, ext/pg_type.c, lib/pg/type.rb,
|
2132
|
+
spec/pg/column_mapping_spec.rb, spec/pg/type_spec.rb:
|
2133
|
+
Detach type decoders from Result, so that they could be used with
|
2134
|
+
COPY.
|
2135
|
+
|
2136
|
+
Change type encoders to a two pass mechanism, which could also be
|
2137
|
+
used with COPY.
|
2138
|
+
[40e8c382c3ad]
|
2139
|
+
|
2140
|
+
2013-12-21 Lars Kanis <lars@greiz-reinsdorf.de>
|
2141
|
+
|
2142
|
+
* ext/pg_column_mapping.c, ext/pg_type.c:
|
2143
|
+
Always map NULL values to Qnil.
|
2144
|
+
|
2145
|
+
This removes duplicated code from type converters and will speedup
|
2146
|
+
converters implemented in ruby.
|
2147
|
+
[af270f5e3ddf]
|
2148
|
+
|
2149
|
+
2013-12-13 Lars Kanis <lars@greiz-reinsdorf.de>
|
2150
|
+
|
2151
|
+
* ext/pg.h, ext/pg_column_mapping.c, ext/pg_type.c, lib/pg/result.rb,
|
2152
|
+
lib/pg/type.rb, spec/pg/column_mapping_spec.rb,
|
2153
|
+
spec/pg/result_spec.rb, spec/pg/type_spec.rb:
|
2154
|
+
more WIP: Add bidirectional type mapping
|
2155
|
+
[1ea69ac572c0]
|
2156
|
+
|
2157
|
+
2013-12-09 Lars Kanis <lars@greiz-reinsdorf.de>
|
2158
|
+
|
2159
|
+
* Manifest.txt, ext/pg.c, ext/pg.h, ext/pg_column_mapping.c,
|
2160
|
+
ext/pg_result.c, ext/pg_type.c, lib/pg.rb, lib/pg/result.rb,
|
2161
|
+
lib/pg/type.rb, spec/pg/column_mapping_spec.rb,
|
2162
|
+
spec/pg/result_spec.rb, spec/pg/type_spec.rb:
|
2163
|
+
WIP: Add bidiractional type mapping
|
2164
|
+
[a89d4991f444]
|
2165
|
+
|
2166
|
+
2013-12-07 Lars Kanis <lars@greiz-reinsdorf.de>
|
2167
|
+
|
2168
|
+
* lib/pg/result.rb, spec/pg/column_mapping_spec.rb:
|
2169
|
+
Add a (quite incomplete) default mapping of OIDs to PG::Result and
|
2170
|
+
allow distinct mappings for text and binary formats to
|
2171
|
+
Result#map_types! .
|
2172
|
+
|
2173
|
+
Add documentation to Result#map_types! .
|
2174
|
+
[d137dfe12905]
|
2175
|
+
|
2176
|
+
2013-07-19 Lars Kanis <kanis@comcard.de>
|
2177
|
+
|
2178
|
+
* spec/pg/column_mapping_spec.rb:
|
2179
|
+
Too less quoting. Should fix compat with PostgreSQL 8.4.
|
2180
|
+
[f502d245ea55]
|
2181
|
+
|
2182
|
+
2013-07-18 Lars Kanis <kanis@comcard.de>
|
2183
|
+
|
2184
|
+
* Manifest.txt:
|
2185
|
+
Add missing files to Manifest.txt.
|
2186
|
+
[b5c94ff41d4e]
|
2187
|
+
|
2188
|
+
* Manifest.txt, ext/pg_column_mapping.c, ext/util.c, ext/util.h:
|
2189
|
+
Add compat with Windows platform.
|
2190
|
+
[5780ddc9c111]
|
2191
|
+
|
2192
|
+
* ext/pg_column_mapping.c, spec/pg/column_mapping_spec.rb:
|
2193
|
+
Add compat with Ruby-1.8.7.
|
2194
|
+
[ab892e597042]
|
2195
|
+
|
2196
|
+
* spec/pg/column_mapping_spec.rb:
|
2197
|
+
Use old BYTEA escaping for compat with PostgreSQL 8.4
|
2198
|
+
[aa7b76abda66]
|
2199
|
+
|
2200
|
+
2013-07-04 Lars Kanis <lars@greiz-reinsdorf.de>
|
2201
|
+
|
2202
|
+
* ext/pg_column_mapping.c, spec/pg/column_mapping_spec.rb:
|
2203
|
+
Add BinaryBolean converter.
|
2204
|
+
|
2205
|
+
Refactor converter tests.
|
2206
|
+
[7f70efce09f0]
|
2207
|
+
|
2208
|
+
* ext/pg_column_mapping.c, spec/pg/column_mapping_spec.rb:
|
2209
|
+
Add BinaryFloat converter.
|
2210
|
+
[57942116c746]
|
2211
|
+
|
2212
|
+
2013-07-03 Lars Kanis <lars@greiz-reinsdorf.de>
|
2213
|
+
|
2214
|
+
* ext/pg_column_mapping.c, lib/pg/result.rb,
|
2215
|
+
spec/pg/column_mapping_spec.rb, spec/pg/result_spec.rb:
|
2216
|
+
Change ColumnMapping#initialize to take one Array arg rather than a
|
2217
|
+
parameter list.
|
2218
|
+
|
2219
|
+
Suggested by Aaron: https://groups.google.com/d/msg/ruby-
|
2220
|
+
pg/PE5K6q9RzBs/M5prOno39DEJ
|
2221
|
+
[2606fc4f350e]
|
2222
|
+
|
2223
|
+
* spec/pg/result_spec.rb:
|
2224
|
+
Add test case for all value retrieving methods of PG::Result .
|
2225
|
+
[970d02cee164]
|
2226
|
+
|
2227
|
+
* spec/pg/column_mapping_spec.rb:
|
2228
|
+
Add test case for default_mapping in Result#map_types!
|
2229
|
+
[dbcf59dcc118]
|
2230
|
+
|
2231
|
+
* lib/pg/result.rb, spec/pg/column_mapping_spec.rb:
|
2232
|
+
Add convenience method PG::Result#map_types!
|
2233
|
+
[3e900bc457e8]
|
2234
|
+
|
2235
|
+
* spec/pg/column_mapping_spec.rb:
|
2236
|
+
Add Boolean ColumnMapping spec and do Integer a bit more compact.
|
2237
|
+
[34f6e4b23fae]
|
2238
|
+
|
2239
|
+
2013-07-01 Lars Kanis <kanis@comcard.de>
|
2240
|
+
|
2241
|
+
* ext/pg_column_mapping.c, spec/pg/column_mapping_spec.rb:
|
2242
|
+
Add converter BinaryInteger.
|
2243
|
+
[6ccf466e1537]
|
2244
|
+
|
2245
|
+
* ext/pg_column_mapping.c, spec/pg/column_mapping_spec.rb,
|
2246
|
+
spec/pg/result_spec.rb:
|
2247
|
+
Use instances of PG::ColumnMapping::CConverter as representation of
|
2248
|
+
the buildin converters instead of plain symbols. Symbol arguments
|
2249
|
+
are converted to these instances, for convenience.
|
2250
|
+
|
2251
|
+
This allows to store and retrieve additional informations to the
|
2252
|
+
conversion and also which conversions are supported.
|
2253
|
+
[ccf7ec4cd083]
|
2254
|
+
|
2255
|
+
* ext/pg_column_mapping.c:
|
2256
|
+
Don't depend on TYPE(obj)==T_DATA of a proc object for compat with
|
2257
|
+
rubinius.
|
2258
|
+
[f4f6f25434dd]
|
2259
|
+
|
2260
|
+
2013-06-29 Lars Kanis <lars@greiz-reinsdorf.de>
|
2261
|
+
|
2262
|
+
* ext/pg.c, ext/pg.h, ext/pg_column_mapping.c, ext/pg_result.c,
|
2263
|
+
spec/pg/result_spec.rb:
|
2264
|
+
Add column based type mapping.
|
2265
|
+
|
2266
|
+
This allowes to speed up result retrieval by directly converting
|
2267
|
+
integer and float values to proper ruby types.
|
2268
|
+
[71ddc0446d26]
|
2269
|
+
|
2270
|
+
2014-10-11 Michael Granger <ged@FaerieMUD.org>
|
2271
|
+
|
2272
|
+
* spec/helpers.rb, spec/pg/connection_spec.rb:
|
2273
|
+
Merged with 4cc778c5ead7
|
2274
|
+
[67bb0f34ca05]
|
2275
|
+
|
2276
|
+
2014-10-09 Lars Kanis <lars@greiz-reinsdorf.de>
|
2277
|
+
|
2278
|
+
* Rakefile, Rakefile.cross, ext/extconf.rb:
|
2279
|
+
gcc option -static-libgcc is required for i386-mingw32 build.
|
2280
|
+
|
2281
|
+
Don't use native pg_config for cross build. The paths were
|
2282
|
+
overwritten anyways until now.
|
2283
|
+
|
2284
|
+
Remove code that was only needed for static build to libpq.
|
2285
|
+
[4cc778c5ead7]
|
2286
|
+
|
2287
|
+
2014-10-09 Lars Kanis <kanis@comcard.de>
|
2288
|
+
|
2289
|
+
* Rakefile, Rakefile.cross, lib/pg.rb:
|
2290
|
+
Bundle libpq.dll into gem, because PostgreSQL-9.3 does no longer
|
2291
|
+
support static linking.
|
2292
|
+
[a37e27d356e5]
|
2293
|
+
|
2294
|
+
2014-10-04 Lars Kanis <lars@greiz-reinsdorf.de>
|
2295
|
+
|
2296
|
+
* spec/helpers.rb, spec/pg/connection_spec.rb:
|
2297
|
+
Add missing spec for hash form parameters to #exec_params .
|
2298
|
+
[04a6a0136a12]
|
2299
|
+
|
2300
|
+
2014-08-24 Lars Kanis <lars@greiz-reinsdorf.de>
|
2301
|
+
|
2302
|
+
* ext/pg_connection.c:
|
2303
|
+
Change all remaining Oid <-> VALUE conversions to UINT.
|
2304
|
+
[bae3928a7b09]
|
2305
|
+
|
2306
|
+
* .travis.yml:
|
2307
|
+
'gem install rake-compiler' is still needed for cross build.
|
2308
|
+
[591c4b0f2d69]
|
2309
|
+
|
2310
|
+
* lib/pg/connection.rb, spec/pg/connection_spec.rb:
|
2311
|
+
Add Connection.conndefaults_hash and add specs for conndefault
|
2312
|
+
variants.
|
2313
|
+
[2221655210da]
|
2314
|
+
|
2315
|
+
* .travis.yml:
|
2316
|
+
Travis uses the Gemfile, so 'gem install' is obsolete.
|
2317
|
+
[4feb9bc05f2f]
|
2318
|
+
|
2319
|
+
2014-08-23 Lars Kanis <lars@greiz-reinsdorf.de>
|
2320
|
+
|
2321
|
+
* .travis.yml, Rakefile.cross:
|
2322
|
+
Fix cross build for mingw32.
|
2323
|
+
[f97f4b2cf0c9]
|
2324
|
+
|
2325
|
+
* Rakefile.cross:
|
2326
|
+
Update postgresql and openssl versions for windows cross build.
|
2327
|
+
[f34546022095]
|
2328
|
+
|
2329
|
+
* .travis.yml:
|
2330
|
+
Fix travis build
|
2331
|
+
[daf56926b7d6]
|
2332
|
+
|
2333
|
+
* .travis.yml:
|
2334
|
+
Update travis test environment
|
2335
|
+
[cdb7c193ba29]
|
2336
|
+
|
2337
|
+
2014-08-22 Lars Kanis <lars@greiz-reinsdorf.de>
|
2338
|
+
|
2339
|
+
* Gemfile:
|
2340
|
+
Update Gemfile
|
2341
|
+
[a044c5419ff7]
|
2342
|
+
|
2343
|
+
* ext/extconf.rb, ext/pg_connection.c, lib/pg/connection.rb,
|
2344
|
+
spec/pg/connection_spec.rb:
|
2345
|
+
Test for PQconninfo availability and exclude conninfo and
|
2346
|
+
conninfo_hash otherwise.
|
2347
|
+
[f2692d108f46]
|
2348
|
+
|
2349
|
+
2014-08-20 Michael Granger <ged@FaerieMUD.org>
|
2350
|
+
|
2351
|
+
* spec/helpers.rb, spec/pg/connection_spec.rb:
|
2352
|
+
Check connection status with a matcher in specs
|
2353
|
+
[b32840b98e4b]
|
2354
|
+
|
2355
|
+
* ext/pg_connection.c, lib/pg/connection.rb,
|
2356
|
+
spec/pg/connection_spec.rb:
|
2357
|
+
Implement PG::Connection#conninfo and use it to test #188
|
2358
|
+
[affbd590e74e]
|
2359
|
+
|
2360
|
+
2014-07-23 Mina Naguib <mina.github@naguib.ca>
|
2361
|
+
|
2362
|
+
* ext/pg_result.c:
|
2363
|
+
Fix some type mismatches for Oid return values.
|
2364
|
+
|
2365
|
+
Thanks to Mina Naguib for the fix.
|
2366
|
+
[738d4c4125a1]
|
2367
|
+
|
2368
|
+
2014-07-23 Michael Granger <ged@FaerieMUD.org>
|
2369
|
+
|
2370
|
+
* Manifest.txt:
|
2371
|
+
Fix the path to spec helpers in the manifest
|
2372
|
+
[b3f9e94a258c]
|
2373
|
+
|
2374
|
+
2014-06-05 Michael Granger <ged@FaerieMUD.org>
|
2375
|
+
|
2376
|
+
* Merge with 6c2444dc63e1
|
2377
|
+
[d7160a9fb5dc]
|
2378
|
+
|
2379
|
+
2013-12-30 Lars Kanis <lars@greiz-reinsdorf.de>
|
2380
|
+
|
2381
|
+
* ext/pg_connection.c:
|
2382
|
+
Fix typo in documentation.
|
2383
|
+
[6c2444dc63e1]
|
2384
|
+
|
2385
|
+
2014-06-05 Michael Granger <ged@FaerieMUD.org>
|
2386
|
+
|
2387
|
+
* .rvm.gems, Rakefile, spec/helpers.rb, spec/lib/helpers.rb,
|
2388
|
+
spec/pg/connection_spec.rb, spec/pg/result_spec.rb, spec/pg_spec.rb:
|
2389
|
+
Convert specs to expect syntax for RSpec 3
|
2390
|
+
[c9108c846ab2]
|
2391
|
+
|
2392
|
+
2013-12-18 Michael Granger <ged@FaerieMUD.org>
|
2393
|
+
|
2394
|
+
* .hgtags:
|
2395
|
+
Added tag v0.17.1 for changeset 78846e47d87b
|
2396
|
+
[a5ab7f06aa1d]
|
2397
|
+
|
2398
|
+
* .hgsigs:
|
2399
|
+
Added signature for changeset 22d57e3a2b37
|
2400
|
+
[78846e47d87b] [v0.17.1]
|
2401
|
+
|
2402
|
+
* History.rdoc, lib/pg.rb:
|
2403
|
+
Bump the patch version, set the date in History.
|
2404
|
+
[22d57e3a2b37]
|
2405
|
+
|
1
2406
|
2013-12-17 Lars Kanis <kanis@comcard.de>
|
2
2407
|
|
3
2408
|
* History.rdoc:
|
4
2409
|
Update History file
|
5
|
-
[ebd0e140f78d]
|
2410
|
+
[ebd0e140f78d]
|
6
2411
|
|
7
2412
|
2013-12-16 larskanis <lars@greiz-reinsdorf.de>
|
8
2413
|
|
@@ -49,7 +2454,7 @@
|
|
49
2454
|
|
50
2455
|
* ext/pg_connection.c, lib/pg/connection.rb:
|
51
2456
|
Fix documentation for PG::Connection::conndefaults.
|
52
|
-
[9812218e0654]
|
2457
|
+
[9812218e0654]
|
53
2458
|
|
54
2459
|
2013-09-20 Lars Kanis <lars@greiz-reinsdorf.de>
|
55
2460
|
|