pg 1.4.5 → 1.5.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/.appveyor.yml +15 -9
- data/.github/workflows/binary-gems.yml +41 -10
- data/.github/workflows/source-gem.yml +23 -13
- data/.gitignore +11 -2
- data/.travis.yml +2 -2
- data/{History.rdoc → History.md} +248 -153
- data/README.ja.md +300 -0
- data/README.md +286 -0
- data/Rakefile +12 -3
- data/Rakefile.cross +7 -11
- data/certs/larskanis-2023.pem +24 -0
- data/ext/extconf.rb +4 -0
- data/ext/pg.c +11 -29
- data/ext/pg.h +10 -6
- data/ext/pg_binary_decoder.c +79 -0
- data/ext/pg_binary_encoder.c +224 -0
- data/ext/pg_coder.c +16 -7
- data/ext/pg_connection.c +172 -69
- data/ext/pg_copy_coder.c +306 -17
- data/ext/pg_record_coder.c +5 -4
- data/ext/pg_result.c +91 -17
- data/ext/pg_text_decoder.c +28 -10
- data/ext/pg_text_encoder.c +22 -9
- data/ext/pg_tuple.c +34 -31
- data/ext/pg_type_map.c +3 -2
- data/ext/pg_type_map_all_strings.c +2 -2
- data/ext/pg_type_map_by_class.c +5 -3
- data/ext/pg_type_map_by_column.c +7 -3
- data/ext/pg_type_map_by_oid.c +7 -4
- data/ext/pg_type_map_in_ruby.c +5 -2
- data/lib/pg/basic_type_map_based_on_result.rb +21 -1
- data/lib/pg/basic_type_map_for_queries.rb +13 -8
- data/lib/pg/basic_type_map_for_results.rb +26 -3
- data/lib/pg/basic_type_registry.rb +30 -32
- data/lib/pg/binary_decoder/date.rb +9 -0
- data/lib/pg/binary_decoder/timestamp.rb +26 -0
- data/lib/pg/binary_encoder/timestamp.rb +20 -0
- data/lib/pg/coder.rb +15 -13
- data/lib/pg/connection.rb +103 -30
- data/lib/pg/exceptions.rb +7 -0
- data/lib/pg/text_decoder/date.rb +18 -0
- data/lib/pg/text_decoder/inet.rb +9 -0
- data/lib/pg/text_decoder/json.rb +14 -0
- data/lib/pg/text_decoder/numeric.rb +9 -0
- data/lib/pg/text_decoder/timestamp.rb +30 -0
- data/lib/pg/text_encoder/date.rb +12 -0
- data/lib/pg/text_encoder/inet.rb +28 -0
- data/lib/pg/text_encoder/json.rb +14 -0
- data/lib/pg/text_encoder/numeric.rb +9 -0
- data/lib/pg/text_encoder/timestamp.rb +24 -0
- data/lib/pg/version.rb +1 -1
- data/lib/pg.rb +55 -15
- data/pg.gemspec +4 -2
- data/rakelib/task_extension.rb +1 -1
- data/translation/.po4a-version +7 -0
- data/translation/po/all.pot +936 -0
- data/translation/po/ja.po +1036 -0
- data/translation/po4a.cfg +12 -0
- data.tar.gz.sig +0 -0
- metadata +93 -22
- metadata.gz.sig +0 -0
- data/README.ja.rdoc +0 -13
- data/README.rdoc +0 -233
- data/lib/pg/binary_decoder.rb +0 -23
- data/lib/pg/constants.rb +0 -12
- data/lib/pg/text_decoder.rb +0 -46
- data/lib/pg/text_encoder.rb +0 -59
data/{History.rdoc → History.md}
RENAMED
|
@@ -1,73 +1,168 @@
|
|
|
1
|
-
|
|
1
|
+
## v1.5.4 [2023-09-01] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
-
|
|
3
|
+
- Fix compiling the pg extension with MSVC 2022. [#535](https://github.com/ged/ruby-pg/pull/535)
|
|
4
|
+
- Set PG::Connection's encoding even if setting client_encoding on connection startup fails. [#541](https://github.com/ged/ruby-pg/pull/541)
|
|
5
|
+
- Don't set the server's client_encoding if it's unnecessary. [#542](https://github.com/ged/ruby-pg/pull/542)
|
|
6
|
+
This is important for connection proxies, who disallow configuration settings.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## v1.5.3 [2023-04-28] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
10
|
+
|
|
11
|
+
- Fix possible segfault when creating a new PG::Result with type map. [#530](https://github.com/ged/ruby-pg/pull/530)
|
|
12
|
+
- Add category to deprecation warnings of Coder.new, so that they are suppressed for most users. [#528](https://github.com/ged/ruby-pg/pull/528)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## v1.5.2 [2023-04-26] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
16
|
+
|
|
17
|
+
- Fix regression in copy_data regarding binary format when using no coder. [#527](https://github.com/ged/ruby-pg/pull/527)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## v1.5.1 [2023-04-24] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
21
|
+
|
|
22
|
+
- Don't overwrite flags of timestamp coders. [#524](https://github.com/ged/ruby-pg/pull/524)
|
|
23
|
+
Fixes a regression in rails: https://github.com/rails/rails/issues/48049
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## v1.5.0 [2023-04-24] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
27
|
+
|
|
28
|
+
Enhancements:
|
|
29
|
+
|
|
30
|
+
- Better support for binary format:
|
|
31
|
+
- Extend PG::Connection#copy_data to better support binary transfers [#511](https://github.com/ged/ruby-pg/pull/511)
|
|
32
|
+
- Add binary COPY encoder and decoder:
|
|
33
|
+
* PG::BinaryEncoder::CopyRow
|
|
34
|
+
* PG::BinaryDecoder::CopyRow
|
|
35
|
+
- Add binary timestamp encoders:
|
|
36
|
+
* PG::BinaryEncoder::TimestampUtc
|
|
37
|
+
* PG::BinaryEncoder::TimestampLocal
|
|
38
|
+
* PG::BinaryEncoder::Timestamp
|
|
39
|
+
- Add PG::BinaryEncoder::Float4 and Float8
|
|
40
|
+
- Add binary date type: [#515](https://github.com/ged/ruby-pg/pull/515)
|
|
41
|
+
* PG::BinaryEncoder::Date
|
|
42
|
+
* PG::BinaryDecoder::Date
|
|
43
|
+
- Add PG::Result#binary_tuples [#511](https://github.com/ged/ruby-pg/pull/511)
|
|
44
|
+
It is useful for COPY and not deprecated in that context.
|
|
45
|
+
- Add PG::TextEncoder::Bytea to BasicTypeRegistry [#506](https://github.com/ged/ruby-pg/pull/506)
|
|
46
|
+
- Ractor support: [#519](https://github.com/ged/ruby-pg/pull/519)
|
|
47
|
+
- Pg is now fully compatible with Ractor introduced in Ruby-3.0 and doesn't use any global mutable state.
|
|
48
|
+
- All type en/decoders and type maps are shareable between ractors if they are made frozen by `Ractor.make_shareable`.
|
|
49
|
+
- Also frozen PG::Result and PG::Tuple objects can be shared.
|
|
50
|
+
- All frozen objects (except PG::Connection) can still be used to do communication with the PostgreSQL server or to read retrieved data.
|
|
51
|
+
- PG::Connection is not shareable and must be created within each Ractor to establish a dedicated connection.
|
|
52
|
+
- Use keyword arguments instead of hashes for Coder initialization and #to_h. [#511](https://github.com/ged/ruby-pg/pull/511)
|
|
53
|
+
- Add PG::Result.res_status as a class method and extend Result#res_status to return the status of self. [#508](https://github.com/ged/ruby-pg/pull/508)
|
|
54
|
+
- Reduce the number of files loaded at `require 'pg'` by using autoload. [#513](https://github.com/ged/ruby-pg/pull/513)
|
|
55
|
+
Previously stdlib libraries `date`, `json`, `ipaddr` and `bigdecimal` were static dependencies, but now only `socket` is mandatory.
|
|
56
|
+
- Improve garbage collector performance by adding write barriers to all PG classes. [#518](https://github.com/ged/ruby-pg/pull/518)
|
|
57
|
+
Now they can be promoted to the old generation, which means they only get marked on major GC.
|
|
58
|
+
- New method PG::Connection#check_socket to check the socket state. [#521](https://github.com/ged/ruby-pg/pull/521)
|
|
59
|
+
- Mark many internal constants as private. [#522](https://github.com/ged/ruby-pg/pull/522)
|
|
60
|
+
- Update Windows fat binary gem to OpenSSL-3.1.0.
|
|
61
|
+
|
|
62
|
+
Bugfixes:
|
|
63
|
+
|
|
64
|
+
- Move nfields-check of stream-methods after result status check [#507](https://github.com/ged/ruby-pg/pull/507)
|
|
65
|
+
This ensures that the nfield-check doesn't hide errors like statement timeout.
|
|
66
|
+
|
|
67
|
+
Removed:
|
|
68
|
+
|
|
69
|
+
- Remove deprecated PG::BasicTypeRegistry.register_type and co. [Part of #519](https://github.com/ged/ruby-pg/commit/2919ee1a0c6b216e18e1d06c95c2616ef69d2f97)
|
|
70
|
+
- Add deprecation warning about PG::Coder initialization per Hash argument. [#514](https://github.com/ged/ruby-pg/pull/514)
|
|
71
|
+
It is recommended to use keyword arguments instead.
|
|
72
|
+
- The internal encoding cache was removed. [#516](https://github.com/ged/ruby-pg/pull/516)
|
|
73
|
+
It shouldn't have a practical performance impact.
|
|
74
|
+
|
|
75
|
+
Repository:
|
|
76
|
+
|
|
77
|
+
- `rake test` tries to find PostgreSQL server commands by pg_config [#503](https://github.com/ged/ruby-pg/pull/503)
|
|
78
|
+
So there's no need to set the PATH manuelly any longer.
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## v1.4.6 [2023-02-26] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
82
|
+
|
|
83
|
+
- Add japanese README file. [#502](https://github.com/ged/ruby-pg/pull/502)
|
|
84
|
+
- Improve `discard_results` to not block under memory pressure. [#500](https://github.com/ged/ruby-pg/pull/500)
|
|
85
|
+
- Use a dedicated error class `PG::LostCopyState` for errors due to another query within `copy_data` and mention that it's probably due to another query.
|
|
86
|
+
Previously the "no COPY in progress" `PG::Error` was less specific. [#499](https://github.com/ged/ruby-pg/pull/499)
|
|
87
|
+
- Make sure an error in `put_copy_end` of `copy_data` doesn't lose the original exception.
|
|
88
|
+
- Disable nonblocking mode while large object calls. [#498](https://github.com/ged/ruby-pg/pull/498)
|
|
89
|
+
Since pg-1.3.0 libpq's "lo_*" calls failed when a bigger amount of data was transferred.
|
|
90
|
+
This specifically forced the `active_storage-postgresql` gem to use pg-1.2.3.
|
|
91
|
+
- Add rdoc options to gemspec, so that "gem install" generates complete offline documentation.
|
|
92
|
+
- Add binary Windows gems for Ruby 3.2.
|
|
93
|
+
- Update Windows fat binary gem to PostgreSQL-15.2 and OpenSSL-3.0.8.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## v1.4.5 [2022-11-17] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
97
|
+
|
|
98
|
+
- Return the libpq default port when blank in conninfo. [#492](https://github.com/ged/ruby-pg/pull/492)
|
|
99
|
+
- Add PG::DEF_PGPORT constant and use it in specs. [#492](https://github.com/ged/ruby-pg/pull/492)
|
|
5
100
|
- Fix name resolution when empty or `nil` port is given.
|
|
6
101
|
- Update error codes to PostgreSQL-15.
|
|
7
102
|
- Update Windows fat binary gem to PostgreSQL-15.1 AND OpenSSL-1.1.1s.
|
|
8
103
|
|
|
9
104
|
|
|
10
|
-
|
|
105
|
+
## v1.4.4 [2022-10-11] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
11
106
|
|
|
12
|
-
- Revert to let libpq do the host iteration while connecting. #485
|
|
107
|
+
- Revert to let libpq do the host iteration while connecting. [#485](https://github.com/ged/ruby-pg/pull/485)
|
|
13
108
|
Ensure that parameter `connect_timeout` is still respected.
|
|
14
|
-
- Handle multiple hosts in the connection string, where only one host has writable session. #476
|
|
15
|
-
- Add some useful information to PG::Connection#inspect. #487
|
|
16
|
-
- Support new pgresult_stream_any API in sequel_pg-1.17.0. #481
|
|
109
|
+
- Handle multiple hosts in the connection string, where only one host has writable session. [#476](https://github.com/ged/ruby-pg/pull/476)
|
|
110
|
+
- Add some useful information to PG::Connection#inspect. [#487](https://github.com/ged/ruby-pg/pull/487)
|
|
111
|
+
- Support new pgresult_stream_any API in sequel_pg-1.17.0. [#481](https://github.com/ged/ruby-pg/pull/481)
|
|
17
112
|
- Update Windows fat binary gem to PostgreSQL-14.5.
|
|
18
113
|
|
|
19
114
|
|
|
20
|
-
|
|
115
|
+
## v1.4.3 [2022-08-09] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
21
116
|
|
|
22
|
-
- Avoid memory bloat possible in put_copy_data in pg-1.4.0 to 1.4.2. #473
|
|
23
|
-
- Use Encoding::BINARY for JOHAB, removing some useless code. #472
|
|
117
|
+
- Avoid memory bloat possible in put_copy_data in pg-1.4.0 to 1.4.2. [#473](https://github.com/ged/ruby-pg/pull/473)
|
|
118
|
+
- Use Encoding::BINARY for JOHAB, removing some useless code. [#472](https://github.com/ged/ruby-pg/pull/472)
|
|
24
119
|
|
|
25
120
|
|
|
26
|
-
|
|
121
|
+
## v1.4.2 [2022-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
27
122
|
|
|
28
123
|
Bugfixes:
|
|
29
124
|
|
|
30
|
-
- Properly handle empty host parameter when connecting. #471
|
|
125
|
+
- Properly handle empty host parameter when connecting. [#471](https://github.com/ged/ruby-pg/pull/471)
|
|
31
126
|
- Update Windows fat binary gem to OpenSSL-1.1.1q.
|
|
32
127
|
|
|
33
128
|
|
|
34
|
-
|
|
129
|
+
## v1.4.1 [2022-06-24] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
35
130
|
|
|
36
131
|
Bugfixes:
|
|
37
132
|
|
|
38
|
-
- Fix another ruby-2.7 keyword warning. #465
|
|
39
|
-
- Allow PG::Error to be created without arguments. #466
|
|
133
|
+
- Fix another ruby-2.7 keyword warning. [#465](https://github.com/ged/ruby-pg/pull/465)
|
|
134
|
+
- Allow PG::Error to be created without arguments. [#466](https://github.com/ged/ruby-pg/pull/466)
|
|
40
135
|
|
|
41
136
|
|
|
42
|
-
|
|
137
|
+
## v1.4.0 [2022-06-20] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
43
138
|
|
|
44
139
|
Added:
|
|
45
140
|
|
|
46
|
-
- Add PG::Connection#hostaddr, present since PostgreSQL-12. #453
|
|
47
|
-
- Add PG::Connection.conninfo_parse to wrap PQconninfoParse. #453
|
|
141
|
+
- Add PG::Connection#hostaddr, present since PostgreSQL-12. [#453](https://github.com/ged/ruby-pg/pull/453)
|
|
142
|
+
- Add PG::Connection.conninfo_parse to wrap PQconninfoParse. [#453](https://github.com/ged/ruby-pg/pull/453)
|
|
48
143
|
|
|
49
144
|
Bugfixes:
|
|
50
145
|
|
|
51
|
-
- Try IPv6 and IPv4 addresses, if DNS resolves to both. #452
|
|
52
|
-
- Re-add block-call semantics to PG::Connection.new accidently removed in pg-1.3.0. #454
|
|
53
|
-
- Handle client error after all data consumed in #copy_data for output. #455
|
|
54
|
-
- Avoid spurious keyword argument warning on Ruby 2.7. #456
|
|
55
|
-
- Change connection setup to respect connect_timeout parameter. #459
|
|
56
|
-
- Fix indefinite hang in case of connection error on Windows #458
|
|
57
|
-
- Set connection attribute of PG::Error in various places where it was missing. #461
|
|
58
|
-
- Fix transaction leak on early break/return. #463
|
|
146
|
+
- Try IPv6 and IPv4 addresses, if DNS resolves to both. [#452](https://github.com/ged/ruby-pg/pull/452)
|
|
147
|
+
- Re-add block-call semantics to PG::Connection.new accidently removed in pg-1.3.0. [#454](https://github.com/ged/ruby-pg/pull/454)
|
|
148
|
+
- Handle client error after all data consumed in #copy_data for output. [#455](https://github.com/ged/ruby-pg/pull/455)
|
|
149
|
+
- Avoid spurious keyword argument warning on Ruby 2.7. [#456](https://github.com/ged/ruby-pg/pull/456)
|
|
150
|
+
- Change connection setup to respect connect_timeout parameter. [#459](https://github.com/ged/ruby-pg/pull/459)
|
|
151
|
+
- Fix indefinite hang in case of connection error on Windows [#458](https://github.com/ged/ruby-pg/pull/458)
|
|
152
|
+
- Set connection attribute of PG::Error in various places where it was missing. [#461](https://github.com/ged/ruby-pg/pull/461)
|
|
153
|
+
- Fix transaction leak on early break/return. [#463](https://github.com/ged/ruby-pg/pull/463)
|
|
59
154
|
- Update Windows fat binary gem to OpenSSL-1.1.1o and PostgreSQL-14.4.
|
|
60
155
|
|
|
61
156
|
Enhancements:
|
|
62
157
|
|
|
63
|
-
- Don't flush at each put_copy_data call, but flush at get_result. #462
|
|
158
|
+
- Don't flush at each put_copy_data call, but flush at get_result. [#462](https://github.com/ged/ruby-pg/pull/462)
|
|
64
159
|
|
|
65
160
|
|
|
66
|
-
|
|
161
|
+
## v1.3.5 [2022-03-31] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
67
162
|
|
|
68
163
|
Bugfixes:
|
|
69
164
|
|
|
70
|
-
- Handle PGRES_COMMAND_OK in pgresult_stream_any. #447
|
|
165
|
+
- Handle PGRES_COMMAND_OK in pgresult_stream_any. [#447](https://github.com/ged/ruby-pg/pull/447)
|
|
71
166
|
Fixes usage when trying to stream the result of a procedure call that returns no results.
|
|
72
167
|
|
|
73
168
|
Enhancements:
|
|
@@ -76,74 +171,74 @@ Enhancements:
|
|
|
76
171
|
Keeping define_default_types for compatibility.
|
|
77
172
|
- BasicTypeRegistry: return self instead of objects by accident.
|
|
78
173
|
This allows call chaining.
|
|
79
|
-
- Add some April fun. #449
|
|
174
|
+
- Add some April fun. [#449](https://github.com/ged/ruby-pg/pull/449)
|
|
80
175
|
|
|
81
176
|
Documentation:
|
|
82
177
|
- Refine documentation of conn.socket_io and conn.connect_poll
|
|
83
178
|
|
|
84
179
|
|
|
85
|
-
|
|
180
|
+
## v1.3.4 [2022-03-10] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
86
181
|
|
|
87
182
|
Bugfixes:
|
|
88
183
|
|
|
89
|
-
- Don't leak IO in case of connection errors. #439
|
|
184
|
+
- Don't leak IO in case of connection errors. [#439](https://github.com/ged/ruby-pg/pull/439)
|
|
90
185
|
Previously it was kept open until the PG::Connection was garbage collected.
|
|
91
|
-
- Fix a performance regession in conn.get_result noticed in single row mode. #442
|
|
92
|
-
- Fix occasional error Errno::EBADF (Bad file descriptor) while connecting. #444
|
|
93
|
-
- Fix compatibility of res.stream_each* methods with Fiber.scheduler. #446
|
|
94
|
-
- Remove FL_TEST and FL_SET, which are MRI-internal. #437
|
|
186
|
+
- Fix a performance regession in conn.get_result noticed in single row mode. [#442](https://github.com/ged/ruby-pg/pull/442)
|
|
187
|
+
- Fix occasional error Errno::EBADF (Bad file descriptor) while connecting. [#444](https://github.com/ged/ruby-pg/pull/444)
|
|
188
|
+
- Fix compatibility of res.stream_each* methods with Fiber.scheduler. [#446](https://github.com/ged/ruby-pg/pull/446)
|
|
189
|
+
- Remove FL_TEST and FL_SET, which are MRI-internal. [#437](https://github.com/ged/ruby-pg/pull/437)
|
|
95
190
|
|
|
96
191
|
Enhancements:
|
|
97
192
|
|
|
98
|
-
- Allow pgresult_stream_any to be used by sequel_pg. #443
|
|
193
|
+
- Allow pgresult_stream_any to be used by sequel_pg. [#443](https://github.com/ged/ruby-pg/pull/443)
|
|
99
194
|
|
|
100
195
|
|
|
101
|
-
|
|
196
|
+
## v1.3.3 [2022-02-22] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
102
197
|
|
|
103
198
|
Bugfixes:
|
|
104
199
|
|
|
105
|
-
- Fix omission of the third digit of IPv4 addresses in connection URI. #435
|
|
106
|
-
- Fix wrong permission of certs/larskanis-2022.pem in the pg-1.3.2.gem. #432
|
|
200
|
+
- Fix omission of the third digit of IPv4 addresses in connection URI. [#435](https://github.com/ged/ruby-pg/pull/435)
|
|
201
|
+
- Fix wrong permission of certs/larskanis-2022.pem in the pg-1.3.2.gem. [#432](https://github.com/ged/ruby-pg/pull/432)
|
|
107
202
|
|
|
108
203
|
|
|
109
|
-
|
|
204
|
+
## v1.3.2 [2022-02-14] Lars Kanis <lars@greiz-reinsdorf.de>
|
|
110
205
|
|
|
111
206
|
Bugfixes:
|
|
112
207
|
|
|
113
|
-
- Cancel only active query after failing transaction. #430
|
|
208
|
+
- Cancel only active query after failing transaction. [#430](https://github.com/ged/ruby-pg/pull/430)
|
|
114
209
|
This avoids an incompatibility with pgbouncer since pg-1.3.0.
|
|
115
|
-
- Fix String objects with non-applied encoding when using COPY or record decoders. #427
|
|
210
|
+
- Fix String objects with non-applied encoding when using COPY or record decoders. [#427](https://github.com/ged/ruby-pg/pull/427)
|
|
116
211
|
- Update Windows fat binary gem to PostgreSQL-14.2.
|
|
117
212
|
|
|
118
213
|
Enhancements:
|
|
119
214
|
|
|
120
215
|
- Improve extconf.rb checks to reduces the number of compiler calls.
|
|
121
|
-
- Add a check for PGRES_PIPELINE_SYNC, to make sure the library version and the header files are PostgreSQL-14+. #429
|
|
216
|
+
- Add a check for PGRES_PIPELINE_SYNC, to make sure the library version and the header files are PostgreSQL-14+. [#429](https://github.com/ged/ruby-pg/pull/429)
|
|
122
217
|
|
|
123
218
|
|
|
124
|
-
|
|
219
|
+
## v1.3.1 [2022-02-01] Michael Granger <ged@FaerieMUD.org>
|
|
125
220
|
|
|
126
221
|
Bugfixes:
|
|
127
222
|
|
|
128
|
-
- Fix wrong handling of socket writability on Windows introduced in #417.
|
|
223
|
+
- Fix wrong handling of socket writability on Windows introduced in [#417](https://github.com/ged/ruby-pg/pull/417).
|
|
129
224
|
This caused starvation in conn.put_copy_data.
|
|
130
|
-
- Fix error in PG.version_string(true). #419
|
|
131
|
-
- Fix a regression in pg 1.3.0 where Ruby 2.x busy-looping any fractional seconds for every wait. #420
|
|
225
|
+
- Fix error in PG.version_string(true). [#419](https://github.com/ged/ruby-pg/pull/419)
|
|
226
|
+
- Fix a regression in pg 1.3.0 where Ruby 2.x busy-looping any fractional seconds for every wait. [#420](https://github.com/ged/ruby-pg/pull/420)
|
|
132
227
|
|
|
133
228
|
Enhancements:
|
|
134
229
|
|
|
135
230
|
- Raise an error when conn.copy_data is used in nonblocking mode.
|
|
136
231
|
|
|
137
232
|
|
|
138
|
-
|
|
233
|
+
## v1.3.0 [2022-01-20] Michael Granger <ged@FaerieMUD.org>
|
|
139
234
|
|
|
140
235
|
Install Enhancements:
|
|
141
|
-
- Print some install help if libpq wasn't found. #396
|
|
236
|
+
- Print some install help if libpq wasn't found. [#396](https://github.com/ged/ruby-pg/pull/396)
|
|
142
237
|
This should help to pick the necessary package without googling.
|
|
143
238
|
- Update Windows fat binary gem to OpenSSL-1.1.1m and PostgreSQL-14.1.
|
|
144
239
|
- Add binary Windows gems for Ruby 3.0 and 3.1.
|
|
145
|
-
- Make the library path of libpq available in ruby as PG::POSTGRESQL_LIB_PATH and add it to the search paths on Windows similar to +rpath+ on Unix systems. #373
|
|
146
|
-
- Fall back to pkg-config if pg_config is not found. #380
|
|
240
|
+
- Make the library path of libpq available in ruby as PG::POSTGRESQL_LIB_PATH and add it to the search paths on Windows similar to +rpath+ on Unix systems. [#373](https://github.com/ged/ruby-pg/pull/373)
|
|
241
|
+
- Fall back to pkg-config if pg_config is not found. [#380](https://github.com/ged/ruby-pg/pull/380)
|
|
147
242
|
- Add option to extconf.rb to disable nogvl-wrapping of libpq functions.
|
|
148
243
|
All methods (except PG::Connection.ping) are nonblocking now, so that GVL unlock is in theory no longer necessary.
|
|
149
244
|
However it can have some advantage in concurrency, so that GVL unlock is still enabled by default.
|
|
@@ -151,8 +246,8 @@ Install Enhancements:
|
|
|
151
246
|
- gem inst pg -- --disable-gvl-unlock
|
|
152
247
|
|
|
153
248
|
API Enhancements:
|
|
154
|
-
- Add full compatibility to Fiber.scheduler introduced in Ruby-3.0. #397
|
|
155
|
-
- Add async_connect and async_send methods and add specific specs for Fiber.scheduler #342
|
|
249
|
+
- Add full compatibility to Fiber.scheduler introduced in Ruby-3.0. [#397](https://github.com/ged/ruby-pg/pull/397)
|
|
250
|
+
- Add async_connect and async_send methods and add specific specs for Fiber.scheduler [#342](https://github.com/ged/ruby-pg/pull/342)
|
|
156
251
|
- Add async_get_result and async_get_last_result
|
|
157
252
|
- Add async_get_copy_data
|
|
158
253
|
- Implement async_put_copy_data/async_put_copy_end
|
|
@@ -166,35 +261,35 @@ API Enhancements:
|
|
|
166
261
|
- Avoid PG.connect blocking while address resolution by automatically providing the +hostaddr+ parameter and resolving in Ruby instead of libpq.
|
|
167
262
|
- On Windows Fiber.scheduler support requires Ruby-3.1+.
|
|
168
263
|
It is also only partly usable since may ruby IO methods are not yet scheduler aware on Windows.
|
|
169
|
-
- Add support for pipeline mode of PostgreSQL-14. #401
|
|
170
|
-
- Allow specification of multiple hosts in PostgreSQL URI. #387
|
|
264
|
+
- Add support for pipeline mode of PostgreSQL-14. [#401](https://github.com/ged/ruby-pg/pull/401)
|
|
265
|
+
- Allow specification of multiple hosts in PostgreSQL URI. [#387](https://github.com/ged/ruby-pg/pull/387)
|
|
171
266
|
- Add new method conn.backend_key - used to implement our own cancel method.
|
|
172
267
|
|
|
173
268
|
Type cast enhancements:
|
|
174
|
-
- Add PG::BasicTypeMapForQueries::BinaryData for encoding of bytea columns. #348
|
|
175
|
-
- Reduce time to build coder maps and permit to reuse them for several type maps per PG::BasicTypeRegistry::CoderMapsBundle.new(conn) . #376
|
|
269
|
+
- Add PG::BasicTypeMapForQueries::BinaryData for encoding of bytea columns. [#348](https://github.com/ged/ruby-pg/pull/348)
|
|
270
|
+
- Reduce time to build coder maps and permit to reuse them for several type maps per PG::BasicTypeRegistry::CoderMapsBundle.new(conn) . [#376](https://github.com/ged/ruby-pg/pull/376)
|
|
176
271
|
- Make BasicTypeRegistry a class and use a global default instance of it.
|
|
177
272
|
Now a local type registry can be instanciated and given to the type map, to avoid changing shared global states.
|
|
178
273
|
- Allow PG::BasicTypeMapForQueries to take a Proc as callback for undefined types.
|
|
179
274
|
|
|
180
275
|
Other Enhancements:
|
|
181
|
-
- Convert all PG classes implemented in C to TypedData objects. #349
|
|
182
|
-
- Support ObjectSpace.memsize_of(obj) on all classes implemented in C. #393
|
|
183
|
-
- Make all PG objects implemented in C memory moveable and therefore GC.compact friendly. #349
|
|
276
|
+
- Convert all PG classes implemented in C to TypedData objects. [#349](https://github.com/ged/ruby-pg/pull/349)
|
|
277
|
+
- Support ObjectSpace.memsize_of(obj) on all classes implemented in C. [#393](https://github.com/ged/ruby-pg/pull/393)
|
|
278
|
+
- Make all PG objects implemented in C memory moveable and therefore GC.compact friendly. [#349](https://github.com/ged/ruby-pg/pull/349)
|
|
184
279
|
- Update errorcodes and error classes to PostgreSQL-14.0.
|
|
185
280
|
- Add PG::CONNECTION_* constants for conn.status of newer PostgreSQL versions.
|
|
186
|
-
- Add better support for logical replication. #339
|
|
281
|
+
- Add better support for logical replication. [#339](https://github.com/ged/ruby-pg/pull/339)
|
|
187
282
|
- Change conn.socket_io to read+write mode and to a BasicSocket object instead of IO.
|
|
188
283
|
- Use rb_io_wait() and the conn.socket_io object if available for better compatibility to Fiber.scheduler .
|
|
189
284
|
Fall back to rb_wait_for_single_fd() on ruby < 3.0.
|
|
190
|
-
- On Windows use a specialized wait function as a workaround for very poor performance of rb_io_wait(). #416
|
|
285
|
+
- On Windows use a specialized wait function as a workaround for very poor performance of rb_io_wait(). [#416](https://github.com/ged/ruby-pg/pull/416)
|
|
191
286
|
|
|
192
287
|
Bugfixes:
|
|
193
288
|
- Release GVL while calling PQping which is a blocking method, but it didn't release GVL so far.
|
|
194
|
-
- Fix Connection#transaction to no longer block on interrupts, for instance when pressing Ctrl-C and cancel a running query. #390
|
|
195
|
-
- Avoid casting of OIDs to fix compat with Redshift database. #369
|
|
289
|
+
- Fix Connection#transaction to no longer block on interrupts, for instance when pressing Ctrl-C and cancel a running query. [#390](https://github.com/ged/ruby-pg/pull/390)
|
|
290
|
+
- Avoid casting of OIDs to fix compat with Redshift database. [#369](https://github.com/ged/ruby-pg/pull/369)
|
|
196
291
|
- Call conn.block before each conn.get_result call to avoid possible blocking in case of a slow network and multiple query results.
|
|
197
|
-
- Sporadic Errno::ENOTSOCK when using conn.socket_io on Windows #398
|
|
292
|
+
- Sporadic Errno::ENOTSOCK when using conn.socket_io on Windows [#398](https://github.com/ged/ruby-pg/pull/398)
|
|
198
293
|
|
|
199
294
|
Deprecated:
|
|
200
295
|
- Add deprecation warning to PG::BasicTypeRegistry.register_type and siblings.
|
|
@@ -209,37 +304,37 @@ Repository:
|
|
|
209
304
|
- Add Github Actions CI and testing of source and binary gems.
|
|
210
305
|
|
|
211
306
|
|
|
212
|
-
|
|
307
|
+
## v1.2.3 [2020-03-18] Michael Granger <ged@FaerieMUD.org>
|
|
213
308
|
|
|
214
309
|
Bugfixes:
|
|
215
310
|
|
|
216
311
|
- Fix possible segfault at `PG::Coder#encode`, `decode` or their implicit calls through
|
|
217
|
-
a typemap after GC.compact. #327
|
|
218
|
-
- Fix possible segfault in `PG::TypeMapByClass` after GC.compact. #328
|
|
312
|
+
a typemap after GC.compact. [#327](https://github.com/ged/ruby-pg/pull/327)
|
|
313
|
+
- Fix possible segfault in `PG::TypeMapByClass` after GC.compact. [#328](https://github.com/ged/ruby-pg/pull/328)
|
|
219
314
|
|
|
220
315
|
|
|
221
|
-
|
|
316
|
+
## v1.2.2 [2020-01-06] Michael Granger <ged@FaerieMUD.org>
|
|
222
317
|
|
|
223
318
|
Enhancements:
|
|
224
319
|
|
|
225
320
|
- Add a binary gem for Ruby 2.7.
|
|
226
321
|
|
|
227
322
|
|
|
228
|
-
|
|
323
|
+
## v1.2.1 [2020-01-02] Michael Granger <ged@FaerieMUD.org>
|
|
229
324
|
|
|
230
325
|
Enhancements:
|
|
231
326
|
|
|
232
327
|
- Added internal API for sequel_pg compatibility.
|
|
233
328
|
|
|
234
329
|
|
|
235
|
-
|
|
330
|
+
## v1.2.0 [2019-12-20] Michael Granger <ged@FaerieMUD.org>
|
|
236
331
|
|
|
237
332
|
Repository:
|
|
238
333
|
- Our primary repository has been moved to Github https://github.com/ged/ruby-pg .
|
|
239
|
-
Most of the issues from https://bitbucket.org/ged/ruby-pg have been migrated. #43
|
|
334
|
+
Most of the issues from https://bitbucket.org/ged/ruby-pg have been migrated. [#43](https://github.com/ged/ruby-pg/pull/43)
|
|
240
335
|
|
|
241
336
|
API enhancements:
|
|
242
|
-
- Add PG::Result#field_name_type= and siblings to allow symbols to be used as field names. #306
|
|
337
|
+
- Add PG::Result#field_name_type= and siblings to allow symbols to be used as field names. [#306](https://github.com/ged/ruby-pg/pull/306)
|
|
243
338
|
- Add new methods for error reporting:
|
|
244
339
|
- PG::Connection#set_error_context_visibility
|
|
245
340
|
- PG::Result#verbose_error_message
|
|
@@ -248,29 +343,29 @@ API enhancements:
|
|
|
248
343
|
- New constants: PG_DIAG_SEVERITY_NONLOCALIZED, PQERRORS_SQLSTATE, PQSHOW_CONTEXT_NEVER, PQSHOW_CONTEXT_ERRORS, PQSHOW_CONTEXT_ALWAYS
|
|
249
344
|
|
|
250
345
|
Type cast enhancements:
|
|
251
|
-
- Add PG::TextEncoder::Record and PG::TextDecoder::Record for en/decoding of Composite Types. #258, #36
|
|
346
|
+
- Add PG::TextEncoder::Record and PG::TextDecoder::Record for en/decoding of Composite Types. [#258](https://github.com/ged/ruby-pg/pull/258), [#36](https://github.com/ged/ruby-pg/pull/36)
|
|
252
347
|
- Add PG::BasicTypeRegistry.register_coder to register instances instead of classes.
|
|
253
348
|
This is useful to register parametrized en/decoders like PG::TextDecoder::Record .
|
|
254
349
|
- Add PG::BasicTypeMapForQueries#encode_array_as= to switch between various interpretations of ruby arrays.
|
|
255
350
|
- Add Time, Array<Time>, Array<BigDecimal> and Array<IPAddr> encoders to PG::BasicTypeMapForQueries
|
|
256
|
-
- Exchange sprintf based float encoder by very fast own implementation with more natural format. #301
|
|
351
|
+
- Exchange sprintf based float encoder by very fast own implementation with more natural format. [#301](https://github.com/ged/ruby-pg/pull/301)
|
|
257
352
|
- Define encode and decode methods only in en/decoders that implement it, so that they can be queried by respond_to? .
|
|
258
353
|
- Improve PG::TypeMapByColumn#inspect
|
|
259
|
-
- Accept Integer and Float as input to TextEncoder::Numeric . #310
|
|
354
|
+
- Accept Integer and Float as input to TextEncoder::Numeric . [#310](https://github.com/ged/ruby-pg/pull/310)
|
|
260
355
|
|
|
261
356
|
Other enhancements:
|
|
262
357
|
- Allocate the data part and the ruby object of PG::Result in one step, so that we don't need to check for valid data.
|
|
263
|
-
This removes PG::Result.allocate and PG::Result.new, which were callable but without any practical use. #42
|
|
358
|
+
This removes PG::Result.allocate and PG::Result.new, which were callable but without any practical use. [#42](https://github.com/ged/ruby-pg/pull/42)
|
|
264
359
|
- Make use of PQresultMemorySize() of PostgreSQL-12 and fall back to our internal estimator.
|
|
265
360
|
- Improve performance of PG::Result#stream_each_tuple .
|
|
266
|
-
- Store client encoding in data part of PG::Connection and PG::Result objects, so that we no longer use ruby's internal encoding bits. #280
|
|
361
|
+
- Store client encoding in data part of PG::Connection and PG::Result objects, so that we no longer use ruby's internal encoding bits. [#280](https://github.com/ged/ruby-pg/pull/280)
|
|
267
362
|
- Update Windows fat binary gem to OpenSSL-1.1.1d and PostgreSQL-12.1.
|
|
268
363
|
- Add support for TruffleRuby. It is regularly tested as part of our CI.
|
|
269
364
|
- Enable +frozen_string_literal+ in all pg's ruby files
|
|
270
365
|
|
|
271
366
|
Bugfixes:
|
|
272
367
|
- Update the license in gemspec to "BSD-2-Clause".
|
|
273
|
-
It was incorrectly labeled "BSD-3-Clause". #40
|
|
368
|
+
It was incorrectly labeled "BSD-3-Clause". [#40](https://github.com/ged/ruby-pg/pull/40)
|
|
274
369
|
- Respect PG::Coder#flags in PG::Coder#to_h.
|
|
275
370
|
- Fix PG::Result memsize reporting after #clear.
|
|
276
371
|
- Release field names to GC on PG::Result#clear.
|
|
@@ -284,7 +379,7 @@ Deprecated:
|
|
|
284
379
|
Removed:
|
|
285
380
|
- Remove PG::Connection#guess_result_memsize= which was temporary added in pg-1.1.
|
|
286
381
|
- Remove PG::Result.allocate and PG::Result.new (see enhancements).
|
|
287
|
-
- Remove support of tainted objects. #307
|
|
382
|
+
- Remove support of tainted objects. [#307](https://github.com/ged/ruby-pg/pull/307)
|
|
288
383
|
- Remove support of ruby-2.0 and 2.1. Minimum is ruby-2.2 now.
|
|
289
384
|
|
|
290
385
|
Documentation:
|
|
@@ -295,30 +390,30 @@ Documentation:
|
|
|
295
390
|
- Fix documentation of many constants
|
|
296
391
|
|
|
297
392
|
|
|
298
|
-
|
|
393
|
+
## v1.1.4 [2019-01-08] Michael Granger <ged@FaerieMUD.org>
|
|
299
394
|
|
|
300
395
|
- Fix PG::BinaryDecoder::Timestamp on 32 bit systems. # 284
|
|
301
396
|
- Add new error-codes of PostgreSQL-11.
|
|
302
397
|
- Add ruby-2.6 support for Windows fat binary gems and remove ruby-2.0 and 2.1.
|
|
303
398
|
|
|
304
399
|
|
|
305
|
-
|
|
400
|
+
## v1.1.3 [2018-09-06] Michael Granger <ged@FaerieMUD.org>
|
|
306
401
|
|
|
307
402
|
- Revert opimization that was sometimes causing EBADF in rb_wait_for_single_fd().
|
|
308
403
|
|
|
309
404
|
|
|
310
|
-
|
|
405
|
+
## v1.1.2 [2018-08-28] Michael Granger <ged@FaerieMUD.org>
|
|
311
406
|
|
|
312
407
|
- Don't generate aliases for JOHAB encoding.
|
|
313
408
|
This avoids linking to deprecated/private function rb_enc(db)_alias().
|
|
314
409
|
|
|
315
410
|
|
|
316
|
-
|
|
411
|
+
## v1.1.1 [2018-08-27] Michael Granger <ged@FaerieMUD.org>
|
|
317
412
|
|
|
318
413
|
- Reduce deprecation warnings to only one message per deprecation.
|
|
319
414
|
|
|
320
415
|
|
|
321
|
-
|
|
416
|
+
## v1.1.0 [2018-08-24] Michael Granger <ged@FaerieMUD.org>
|
|
322
417
|
|
|
323
418
|
Deprecated (disable warnings per PG_SKIP_DEPRECATION_WARNING=1):
|
|
324
419
|
- Forwarding conn.exec to conn.exec_params is deprecated.
|
|
@@ -344,7 +439,7 @@ Result retrieval enhancements:
|
|
|
344
439
|
- Make the estimated PG::Result size available to ObjectSpace.memsize_of(result) .
|
|
345
440
|
|
|
346
441
|
Type cast enhancements:
|
|
347
|
-
- Replace Ruby code by a faster C implementation of the SimpleDecoder's timestamp decode functions. github #20
|
|
442
|
+
- Replace Ruby code by a faster C implementation of the SimpleDecoder's timestamp decode functions. github [#20](https://github.com/ged/ruby-pg/pull/20)
|
|
348
443
|
- Interpret years with up to 7 digists and BC dates by timestamp decoder.
|
|
349
444
|
- Add text timestamp decoders for UTC vs. local timezone variations.
|
|
350
445
|
- Add text timestamp encoders for UTC timezone.
|
|
@@ -359,12 +454,12 @@ Source code enhancements:
|
|
|
359
454
|
- Fix headers and permission bits of various repository files.
|
|
360
455
|
|
|
361
456
|
Bugfixes:
|
|
362
|
-
- Properly decode array with prepended dimensions. #272
|
|
457
|
+
- Properly decode array with prepended dimensions. [#272](https://github.com/ged/ruby-pg/pull/272)
|
|
363
458
|
For now dimension decorations are ignored, but a correct Array is returned.
|
|
364
|
-
- Array-Decoder: Avoid leaking memory when an Exception is raised while parsing. Fixes #279
|
|
459
|
+
- Array-Decoder: Avoid leaking memory when an Exception is raised while parsing. Fixes [#279](https://github.com/ged/ruby-pg/pull/279)
|
|
365
460
|
|
|
366
461
|
|
|
367
|
-
|
|
462
|
+
## v1.0.0 [2018-01-10] Michael Granger <ged@FaerieMUD.org>
|
|
368
463
|
|
|
369
464
|
Deprecated:
|
|
370
465
|
- Deprecate Ruby older than 2.2.
|
|
@@ -381,16 +476,16 @@ Enhancements:
|
|
|
381
476
|
OpenSSL 1.1.0g.
|
|
382
477
|
|
|
383
478
|
Bugfixes:
|
|
384
|
-
- Fix URI detection for connection strings. #265 (thanks to jjoos)
|
|
479
|
+
- Fix URI detection for connection strings. [#265](https://github.com/ged/ruby-pg/pull/265) (thanks to jjoos)
|
|
385
480
|
- MINGW: Workaround segfault due to GCC linker error in conjunction with MSVC.
|
|
386
481
|
This happens when linking to PostgreSQL-10.0-x64 from EnterpriseDB.
|
|
387
482
|
|
|
388
483
|
Documentation fixes:
|
|
389
|
-
- Add PostgreSQL version since when the given function is supported. #263
|
|
484
|
+
- Add PostgreSQL version since when the given function is supported. [#263](https://github.com/ged/ruby-pg/pull/263)
|
|
390
485
|
- Better documentation to `encoder` and `decoder` arguments of COPY related methods.
|
|
391
486
|
|
|
392
487
|
|
|
393
|
-
|
|
488
|
+
## v0.21.0 [2017-06-12] Michael Granger <ged@FaerieMUD.org>
|
|
394
489
|
|
|
395
490
|
Enhancements:
|
|
396
491
|
- Move add_dll_directory to the Runtime namespace for newest versions
|
|
@@ -406,7 +501,7 @@ New Samples:
|
|
|
406
501
|
- Add an example of the nicer #copy_data way of doing `COPY`.
|
|
407
502
|
|
|
408
503
|
|
|
409
|
-
|
|
504
|
+
## v0.20.0 [2017-03-10] Michael Granger <ged@FaerieMUD.org>
|
|
410
505
|
|
|
411
506
|
Enhancements:
|
|
412
507
|
- Update error codes to PostgreSQL-9.6
|
|
@@ -415,22 +510,22 @@ Enhancements:
|
|
|
415
510
|
- Add support for RubyInstaller2 to Windows binary gems.
|
|
416
511
|
|
|
417
512
|
Bugfixes:
|
|
418
|
-
- Use secure JSON methods for JSON (de)serialisation. #248
|
|
513
|
+
- Use secure JSON methods for JSON (de)serialisation. [#248](https://github.com/ged/ruby-pg/pull/248)
|
|
419
514
|
- Fix Result#inspect on a cleared result.
|
|
420
|
-
- Fix test case that failed on Ruby-2.4. #255
|
|
515
|
+
- Fix test case that failed on Ruby-2.4. [#255](https://github.com/ged/ruby-pg/pull/255)
|
|
421
516
|
|
|
422
517
|
Documentation fixes:
|
|
423
518
|
- Talk about Integer instead of Fixnum.
|
|
424
519
|
- Fix method signature of Coder#encode.
|
|
425
520
|
|
|
426
521
|
|
|
427
|
-
|
|
522
|
+
## v0.19.0 [2016-09-21] Michael Granger <ged@FaerieMUD.org>
|
|
428
523
|
|
|
429
524
|
- Deprecate Ruby 1.9
|
|
430
525
|
|
|
431
526
|
Enhancements:
|
|
432
527
|
- Respect and convert character encoding of all strings sent
|
|
433
|
-
to the server. #231
|
|
528
|
+
to the server. [#231](https://github.com/ged/ruby-pg/pull/231)
|
|
434
529
|
- Add PostgreSQL-9.5 functions PQsslInUse(), PQsslAttribute()
|
|
435
530
|
and PQsslAttributeNames().
|
|
436
531
|
- Various documentation fixes and improvements.
|
|
@@ -443,24 +538,24 @@ Enhancements:
|
|
|
443
538
|
- Allow build from git per bundler.
|
|
444
539
|
|
|
445
540
|
Bugfixes:
|
|
446
|
-
- Release GVL while calling PQsetClientEncoding(). #245
|
|
447
|
-
- Add __EXTENSIONS__ to Solaris/SmartOS for Ruby >= 2.3.x. #236
|
|
541
|
+
- Release GVL while calling PQsetClientEncoding(). [#245](https://github.com/ged/ruby-pg/pull/245)
|
|
542
|
+
- Add __EXTENSIONS__ to Solaris/SmartOS for Ruby >= 2.3.x. [#236](https://github.com/ged/ruby-pg/pull/236)
|
|
448
543
|
- Fix wrong exception when running SQL while in Connection#copy_data
|
|
449
544
|
block for output
|
|
450
545
|
|
|
451
546
|
|
|
452
|
-
|
|
547
|
+
## v0.18.4 [2015-11-13] Michael Granger <ged@FaerieMUD.org>
|
|
453
548
|
|
|
454
549
|
Enhancements:
|
|
455
|
-
- Fixing compilation problems with Microsoft Visual Studio 2008. GH #10
|
|
456
|
-
- Avoid name clash with xcode and jemalloc. PR#22, PR#23
|
|
550
|
+
- Fixing compilation problems with Microsoft Visual Studio 2008. GH [#10](https://github.com/ged/ruby-pg/pull/10)
|
|
551
|
+
- Avoid name clash with xcode and jemalloc. PR[#22](https://github.com/ged/ruby-pg/pull/22), PR[#23](https://github.com/ged/ruby-pg/pull/23)
|
|
457
552
|
|
|
458
553
|
Bugfixes:
|
|
459
554
|
- Avoid segfault, when quote_ident or TextEncoder::Identifier
|
|
460
|
-
is called with Array containing non-strings. #226
|
|
555
|
+
is called with Array containing non-strings. [#226](https://github.com/ged/ruby-pg/pull/226)
|
|
461
556
|
|
|
462
557
|
|
|
463
|
-
|
|
558
|
+
## v0.18.3 [2015-09-03] Michael Granger <ged@FaerieMUD.org>
|
|
464
559
|
|
|
465
560
|
Enhancements:
|
|
466
561
|
- Use rake-compiler-dock to build windows gems easily.
|
|
@@ -468,12 +563,12 @@ Enhancements:
|
|
|
468
563
|
|
|
469
564
|
Bugfixes:
|
|
470
565
|
- Fix data type resulting in wrong base64 encoding.
|
|
471
|
-
- Change instance_of checks to kind_of for subclassing. #220
|
|
566
|
+
- Change instance_of checks to kind_of for subclassing. [#220](https://github.com/ged/ruby-pg/pull/220)
|
|
472
567
|
- TextDecoder::Date returns an actual Ruby Date instead of a Time
|
|
473
568
|
(thanks to Thomas Ramfjord)
|
|
474
569
|
|
|
475
570
|
|
|
476
|
-
|
|
571
|
+
## v0.18.2 [2015-05-14] Michael Granger <ged@FaerieMUD.org>
|
|
477
572
|
|
|
478
573
|
Enhancements:
|
|
479
574
|
|
|
@@ -483,22 +578,22 @@ Enhancements:
|
|
|
483
578
|
Bugfixes:
|
|
484
579
|
|
|
485
580
|
- Speedups and fixes for PG::TextDecoder::Identifier and quoting behavior
|
|
486
|
-
- Revert addition of PG::Connection#hostaddr [#202].
|
|
487
|
-
- Fix decoding of fractional timezones and timestamps [#203]
|
|
581
|
+
- Revert addition of PG::Connection#hostaddr [[#202](https://github.com/ged/ruby-pg/pull/202)].
|
|
582
|
+
- Fix decoding of fractional timezones and timestamps [[#203](https://github.com/ged/ruby-pg/pull/203)]
|
|
488
583
|
- Fixes for non-C99 compilers
|
|
489
584
|
- Avoid possible symbol name clash when linking against static libpq.
|
|
490
585
|
|
|
491
586
|
|
|
492
|
-
|
|
587
|
+
## v0.18.1 [2015-01-05] Michael Granger <ged@FaerieMUD.org>
|
|
493
588
|
|
|
494
|
-
Correct the minimum compatible Ruby version to 1.9.3. #199
|
|
589
|
+
Correct the minimum compatible Ruby version to 1.9.3. [#199](https://github.com/ged/ruby-pg/pull/199)
|
|
495
590
|
|
|
496
591
|
|
|
497
|
-
|
|
592
|
+
## v0.18.0 [2015-01-01] Michael Granger <ged@FaerieMUD.org>
|
|
498
593
|
|
|
499
594
|
Bugfixes:
|
|
500
|
-
- Fix OID to Integer mapping (it is unsigned now). #187
|
|
501
|
-
- Fix possible segfault in conjunction with notice receiver. #185
|
|
595
|
+
- Fix OID to Integer mapping (it is unsigned now). [#187](https://github.com/ged/ruby-pg/pull/187)
|
|
596
|
+
- Fix possible segfault in conjunction with notice receiver. [#185](https://github.com/ged/ruby-pg/pull/185)
|
|
502
597
|
|
|
503
598
|
Enhancements:
|
|
504
599
|
|
|
@@ -517,7 +612,7 @@ Enhancements:
|
|
|
517
612
|
|
|
518
613
|
|
|
519
614
|
|
|
520
|
-
|
|
615
|
+
## v0.17.1 [2013-12-18] Michael Granger <ged@FaerieMUD.org>
|
|
521
616
|
|
|
522
617
|
Bugfixes:
|
|
523
618
|
|
|
@@ -533,11 +628,11 @@ Documentation fixes:
|
|
|
533
628
|
- Fix documentation for PG::Connection::conndefaults.
|
|
534
629
|
|
|
535
630
|
|
|
536
|
-
|
|
631
|
+
## v0.17.0 [2013-09-15] Michael Granger <ged@FaerieMUD.org>
|
|
537
632
|
|
|
538
633
|
Bugfixes:
|
|
539
634
|
|
|
540
|
-
- Fix crash by calling PQsend* and PQisBusy without GVL (#171).
|
|
635
|
+
- Fix crash by calling PQsend* and PQisBusy without GVL ([#171](https://github.com/ged/ruby-pg/pull/171)).
|
|
541
636
|
|
|
542
637
|
Enhancements:
|
|
543
638
|
|
|
@@ -548,18 +643,18 @@ Enhancements:
|
|
|
548
643
|
to stack method calls.
|
|
549
644
|
|
|
550
645
|
|
|
551
|
-
|
|
646
|
+
## v0.16.0 [2013-07-22] Michael Granger <ged@FaerieMUD.org>
|
|
552
647
|
|
|
553
648
|
Bugfixes:
|
|
554
649
|
|
|
555
650
|
- Avoid warnings about uninitialized instance variables.
|
|
556
651
|
- Use a more standard method of adding library and include directories.
|
|
557
|
-
This fixes build on AIX (Github #7) and Solaris (#164).
|
|
652
|
+
This fixes build on AIX (Github [#7](https://github.com/ged/ruby-pg/pull/7)) and Solaris ([#164](https://github.com/ged/ruby-pg/pull/164)).
|
|
558
653
|
- Cancel the running query, if a thread is about to be killed (e.g. by CTRL-C).
|
|
559
654
|
- Fix GVL issue with wait_for_notify/notifies and notice callbacks.
|
|
560
655
|
- Set proper encoding on the string returned by quote_ident, escape_literal
|
|
561
|
-
and escape_identifier (#163).
|
|
562
|
-
- Use nil as PG::Error#result in case of a NULL-result from libpq (#166).
|
|
656
|
+
and escape_identifier ([#163](https://github.com/ged/ruby-pg/pull/163)).
|
|
657
|
+
- Use nil as PG::Error#result in case of a NULL-result from libpq ([#166](https://github.com/ged/ruby-pg/pull/166)).
|
|
563
658
|
- Recalculate the timeout of conn#wait_for_notify and conn#block in case
|
|
564
659
|
of socket events that require re-runs of select().
|
|
565
660
|
|
|
@@ -569,20 +664,20 @@ Documentation fixes:
|
|
|
569
664
|
|
|
570
665
|
Enhancements:
|
|
571
666
|
|
|
572
|
-
- Add unique exception classes for each PostgreSQL error type (#5).
|
|
573
|
-
- Return result of the block in conn#transaction instead of nil (#158).
|
|
667
|
+
- Add unique exception classes for each PostgreSQL error type ([#5](https://github.com/ged/ruby-pg/pull/5)).
|
|
668
|
+
- Return result of the block in conn#transaction instead of nil ([#158](https://github.com/ged/ruby-pg/pull/158)).
|
|
574
669
|
- Allow 'rake compile' and 'rake gem' on non mercurial repos.
|
|
575
|
-
- Add support for PG_DIAG_*_NAME error fields of PostgreSQL-9.3 (#161).
|
|
670
|
+
- Add support for PG_DIAG_*_NAME error fields of PostgreSQL-9.3 ([#161](https://github.com/ged/ruby-pg/pull/161)).
|
|
576
671
|
|
|
577
672
|
|
|
578
|
-
|
|
673
|
+
## v0.15.1 [2013-04-08] Michael Granger <ged@FaerieMUD.org>
|
|
579
674
|
|
|
580
675
|
Bugfixes:
|
|
581
676
|
|
|
582
677
|
- Shorten application_name to avoid warnings about truncated identifier.
|
|
583
678
|
|
|
584
679
|
|
|
585
|
-
|
|
680
|
+
## v0.15.0 [2013-03-03] Michael Granger <ged@FaerieMUD.org>
|
|
586
681
|
|
|
587
682
|
Bugfixes:
|
|
588
683
|
|
|
@@ -607,7 +702,7 @@ Enhancements:
|
|
|
607
702
|
- Refactor different variants of waiting for the connection socket.
|
|
608
703
|
- Make use of rb_thread_fd_select() on Ruby 1.9 and avoid deprecated
|
|
609
704
|
rb_thread_select().
|
|
610
|
-
- Add an example of how to insert array data using a prepared statement (#145).
|
|
705
|
+
- Add an example of how to insert array data using a prepared statement ([#145](https://github.com/ged/ruby-pg/pull/145)).
|
|
611
706
|
- Add continuous integration tests on travis-ci.org.
|
|
612
707
|
- Add PG::Result#each_row for iterative over result sets by row. Thanks to
|
|
613
708
|
Aaron Patterson for the patch.
|
|
@@ -620,11 +715,11 @@ Specs:
|
|
|
620
715
|
- Avoid fork() in specs to allow usage on Windows and JRuby.
|
|
621
716
|
|
|
622
717
|
|
|
623
|
-
|
|
718
|
+
## v0.14.1 [2012-09-02] Michael Granger <ged@FaerieMUD.org>
|
|
624
719
|
|
|
625
720
|
Important bugfix:
|
|
626
721
|
|
|
627
|
-
- Fix stack overflow bug in PG::Result#values and #column_values (#135). Thanks
|
|
722
|
+
- Fix stack overflow bug in PG::Result#values and #column_values ([#135](https://github.com/ged/ruby-pg/pull/135)). Thanks
|
|
628
723
|
to everyone who reported the bug, and Lars Kanis especially for figuring out
|
|
629
724
|
the problem.
|
|
630
725
|
|
|
@@ -637,13 +732,13 @@ Documentation fixes:
|
|
|
637
732
|
- Add note about the usage scope of the result object received by the
|
|
638
733
|
#set_notice_receiver block. (Lars Kanis)
|
|
639
734
|
- Add PGRES_COPY_BOTH to documentation of PG::Result#result_status. (Lars Kanis)
|
|
640
|
-
- Add some documentation to PG::Result#fnumber (fix for #139)
|
|
735
|
+
- Add some documentation to PG::Result#fnumber (fix for [#139](https://github.com/ged/ruby-pg/pull/139))
|
|
641
736
|
|
|
642
737
|
|
|
643
|
-
|
|
738
|
+
## v0.14.0 [2012-06-17] Michael Granger <ged@FaerieMUD.org>
|
|
644
739
|
|
|
645
740
|
Bugfixes:
|
|
646
|
-
#47, #104
|
|
741
|
+
[#47](https://github.com/ged/ruby-pg/pull/47), [#104](https://github.com/ged/ruby-pg/pull/104)
|
|
647
742
|
|
|
648
743
|
|
|
649
744
|
New Methods for PostgreSQL 9 and async API support:
|
|
@@ -668,20 +763,20 @@ monitoring for replication lag, shipping WAL files for replication,
|
|
|
668
763
|
automated tablespace partitioning, etc. See the samples/ directory.
|
|
669
764
|
|
|
670
765
|
|
|
671
|
-
|
|
766
|
+
## v0.13.2 [2012-02-22] Michael Granger <ged@FaerieMUD.org>
|
|
672
767
|
|
|
673
768
|
- Make builds against PostgreSQL earlier than 8.3 fail with a descriptive
|
|
674
769
|
message instead of a compile failure.
|
|
675
770
|
|
|
676
771
|
|
|
677
|
-
|
|
772
|
+
## v0.13.1 [2012-02-12] Michael Granger <ged@FaerieMUD.org>
|
|
678
773
|
|
|
679
774
|
- Made use of a finished PG::Connection raise a PG::Error instead of
|
|
680
|
-
a fatal error (#110).
|
|
681
|
-
- Added missing BSDL license file (#108)
|
|
775
|
+
a fatal error ([#110](https://github.com/ged/ruby-pg/pull/110)).
|
|
776
|
+
- Added missing BSDL license file ([#108](https://github.com/ged/ruby-pg/pull/108))
|
|
682
777
|
|
|
683
778
|
|
|
684
|
-
|
|
779
|
+
## v0.13.0 [2012-02-09] Michael Granger <ged@FaerieMUD.org>
|
|
685
780
|
|
|
686
781
|
Reorganization of modules/classes to be better Ruby citizens (with backward-compatible aliases):
|
|
687
782
|
- Created toplevel namespace 'PG' to correspond with the gem name.
|
|
@@ -710,23 +805,23 @@ Bugfixes:
|
|
|
710
805
|
|
|
711
806
|
|
|
712
807
|
|
|
713
|
-
|
|
808
|
+
## v0.12.2 [2012-01-03] Michael Granger <ged@FaerieMUD.org>
|
|
714
809
|
|
|
715
810
|
- Fix for the 1.8.7 breakage introduced by the st.h fix for alternative Ruby
|
|
716
|
-
implementations (#97 and #98). Thanks to Lars Kanis for the patch.
|
|
717
|
-
- Encode error messages with the connection's encoding under 1.9 (#96)
|
|
811
|
+
implementations ([#97](https://github.com/ged/ruby-pg/pull/97) and [#98](https://github.com/ged/ruby-pg/pull/98)). Thanks to Lars Kanis for the patch.
|
|
812
|
+
- Encode error messages with the connection's encoding under 1.9 ([#96](https://github.com/ged/ruby-pg/pull/96))
|
|
718
813
|
|
|
719
814
|
|
|
720
|
-
|
|
815
|
+
## v0.12.1 [2011-12-14] Michael Granger <ged@FaerieMUD.org>
|
|
721
816
|
|
|
722
817
|
- Made rake-compiler a dev dependency, as Rubygems doesn't use the Rakefile
|
|
723
818
|
for compiling the extension. Thanks to eolamey@bitbucket and Jeremy Evans
|
|
724
819
|
for pointing this out.
|
|
725
820
|
- Added an explicit include for ruby/st.h for implementations that need it
|
|
726
|
-
(fixes #95).
|
|
821
|
+
(fixes [#95](https://github.com/ged/ruby-pg/pull/95)).
|
|
727
822
|
|
|
728
823
|
|
|
729
|
-
|
|
824
|
+
## v0.12.0 [2011-12-07] Michael Granger <ged@FaerieMUD.org>
|
|
730
825
|
|
|
731
826
|
- PGconn#wait_for_notify
|
|
732
827
|
* send nil as the payload argument if the NOTIFY didn't have one.
|
|
@@ -737,7 +832,7 @@ Bugfixes:
|
|
|
737
832
|
(Brian Weaver).
|
|
738
833
|
- Fixes for Win32 async queries (Rafał Bigaj)
|
|
739
834
|
- Memory leak fixed: Closing opened WSA event. (rafal)
|
|
740
|
-
- Fixes for #66 Win32 asynchronous queries hang on connection
|
|
835
|
+
- Fixes for [#66](https://github.com/ged/ruby-pg/pull/66) Win32 asynchronous queries hang on connection
|
|
741
836
|
error. (rafal)
|
|
742
837
|
- Fixed a typo in PGconn#error_message's documentation
|
|
743
838
|
- fixing unused variable warnings for ruby 1.9.3 (Aaron Patterson)
|
|
@@ -746,7 +841,7 @@ Bugfixes:
|
|
|
746
841
|
- Updates for the Win32 binary gem builds (Lars Kanis)
|
|
747
842
|
|
|
748
843
|
|
|
749
|
-
|
|
844
|
+
## v0.11.0 [2011-02-09] Michael Granger <ged@FaerieMUD.org>
|
|
750
845
|
|
|
751
846
|
Enhancements:
|
|
752
847
|
|
|
@@ -755,19 +850,19 @@ Enhancements:
|
|
|
755
850
|
the patch.
|
|
756
851
|
|
|
757
852
|
|
|
758
|
-
|
|
853
|
+
## v0.10.1 [2011-01-19] Michael Granger <ged@FaerieMUD.org>
|
|
759
854
|
|
|
760
855
|
Bugfixes:
|
|
761
856
|
|
|
762
857
|
* Add an include guard for pg.h
|
|
763
858
|
* Simplify the common case require of the ext
|
|
764
859
|
* Include the extconf header
|
|
765
|
-
* Fix compatibility with versions of PostgreSQL without PQgetCancel. (fixes #36)
|
|
766
|
-
* Fix require for natively-compiled extension under Windows. (fixes #55)
|
|
767
|
-
* Change rb_yield_splat() to rb_yield_values() for compatibility with Rubinius. (fixes #54)
|
|
860
|
+
* Fix compatibility with versions of PostgreSQL without PQgetCancel. (fixes [#36](https://github.com/ged/ruby-pg/pull/36))
|
|
861
|
+
* Fix require for natively-compiled extension under Windows. (fixes [#55](https://github.com/ged/ruby-pg/pull/55))
|
|
862
|
+
* Change rb_yield_splat() to rb_yield_values() for compatibility with Rubinius. (fixes [#54](https://github.com/ged/ruby-pg/pull/54))
|
|
768
863
|
|
|
769
864
|
|
|
770
|
-
|
|
865
|
+
## v0.10.0 [2010-12-01] Michael Granger <ged@FaerieMUD.org>
|
|
771
866
|
|
|
772
867
|
Enhancements:
|
|
773
868
|
|
|
@@ -779,11 +874,11 @@ Bugfixes:
|
|
|
779
874
|
* Fixed issue with PGconn#wait_for_notify that caused it to miss notifications that happened after
|
|
780
875
|
the LISTEN but before the wait_for_notify.
|
|
781
876
|
|
|
782
|
-
|
|
877
|
+
## v0.9.0 [2010-02-28] Michael Granger <ged@FaerieMUD.org>
|
|
783
878
|
|
|
784
879
|
Bugfixes.
|
|
785
880
|
|
|
786
|
-
|
|
881
|
+
## v0.8.0 [2009-03-28] Jeff Davis <davis.jeffrey@gmail.com>
|
|
787
882
|
|
|
788
883
|
Bugfixes, better Windows support.
|
|
789
884
|
|