cipherstash-pg 1.0.0.beta.1-x86_64-linux → 1.0.0.beta.4-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.appveyor.yml +42 -0
  3. data/.gems +6 -0
  4. data/.gemtest +0 -0
  5. data/.github/workflows/binary-gems.yml +117 -0
  6. data/.github/workflows/source-gem.yml +137 -0
  7. data/.gitignore +19 -0
  8. data/.hgsigs +34 -0
  9. data/.hgtags +41 -0
  10. data/.irbrc +23 -0
  11. data/.pryrc +23 -0
  12. data/.tm_properties +21 -0
  13. data/.travis.yml +49 -0
  14. data/Gemfile +3 -3
  15. data/Gemfile.lock +45 -0
  16. data/{History.rdoc → History.md} +168 -153
  17. data/README.ja.md +266 -0
  18. data/README.md +272 -0
  19. data/Rakefile +65 -104
  20. data/Rakefile.cross +298 -0
  21. data/certs/larskanis-2023.pem +24 -0
  22. data/cipherstash-pg.gemspec +0 -0
  23. data/lib/2.7/pg_ext.so +0 -0
  24. data/lib/3.0/pg_ext.so +0 -0
  25. data/lib/3.1/pg_ext.so +0 -0
  26. data/lib/3.2/pg_ext.so +0 -0
  27. data/lib/cipherstash-pg/basic_type_map_based_on_result.rb +11 -0
  28. data/lib/cipherstash-pg/basic_type_map_for_queries.rb +113 -0
  29. data/lib/cipherstash-pg/basic_type_map_for_results.rb +30 -0
  30. data/lib/cipherstash-pg/basic_type_registry.rb +206 -0
  31. data/lib/cipherstash-pg/binary_decoder.rb +21 -0
  32. data/lib/cipherstash-pg/coder.rb +82 -0
  33. data/lib/cipherstash-pg/connection.rb +467 -0
  34. data/lib/cipherstash-pg/constants.rb +3 -0
  35. data/lib/cipherstash-pg/exceptions.rb +19 -0
  36. data/lib/cipherstash-pg/result.rb +22 -0
  37. data/lib/cipherstash-pg/text_decoder.rb +43 -0
  38. data/lib/cipherstash-pg/text_encoder.rb +67 -0
  39. data/lib/cipherstash-pg/tuple.rb +24 -0
  40. data/lib/cipherstash-pg/type_map_by_column.rb +11 -0
  41. data/lib/cipherstash-pg/version.rb +3 -0
  42. data/lib/cipherstash-pg.rb +56 -11
  43. data/lib/libpq.so.5 +0 -0
  44. data/misc/openssl-pg-segfault.rb +15 -25
  45. data/misc/postgres/Rakefile +13 -20
  46. data/misc/postgres/lib/postgres.rb +10 -14
  47. data/misc/ruby-pg/Rakefile +13 -20
  48. data/misc/ruby-pg/lib/ruby/pg.rb +10 -14
  49. data/rakelib/task_extension.rb +17 -31
  50. data/sample/array_insert.rb +7 -20
  51. data/sample/async_api.rb +54 -96
  52. data/sample/async_copyto.rb +20 -35
  53. data/sample/async_mixed.rb +22 -50
  54. data/sample/check_conn.rb +8 -20
  55. data/sample/copydata.rb +18 -68
  56. data/sample/copyfrom.rb +26 -78
  57. data/sample/copyto.rb +10 -16
  58. data/sample/cursor.rb +9 -19
  59. data/sample/disk_usage_report.rb +89 -174
  60. data/sample/issue-119.rb +45 -93
  61. data/sample/losample.rb +48 -66
  62. data/sample/minimal-testcase.rb +6 -17
  63. data/sample/notify_wait.rb +21 -67
  64. data/sample/pg_statistics.rb +100 -281
  65. data/sample/replication_monitor.rb +119 -218
  66. data/sample/test_binary_values.rb +14 -30
  67. data/sample/wal_shipper.rb +199 -431
  68. data/sample/warehouse_partitions.rb +157 -307
  69. data/translation/.po4a-version +7 -0
  70. data/translation/po/all.pot +875 -0
  71. data/translation/po/ja.po +868 -0
  72. data/translation/po4a.cfg +9 -0
  73. metadata +50 -28
  74. data/README.ja.rdoc +0 -13
  75. data/README.rdoc +0 -233
  76. data/lib/pg/basic_type_map_based_on_result.rb +0 -47
  77. data/lib/pg/basic_type_map_for_queries.rb +0 -193
  78. data/lib/pg/basic_type_map_for_results.rb +0 -81
  79. data/lib/pg/basic_type_registry.rb +0 -301
  80. data/lib/pg/binary_decoder.rb +0 -23
  81. data/lib/pg/coder.rb +0 -104
  82. data/lib/pg/connection.rb +0 -878
  83. data/lib/pg/constants.rb +0 -12
  84. data/lib/pg/exceptions.rb +0 -18
  85. data/lib/pg/result.rb +0 -43
  86. data/lib/pg/text_decoder.rb +0 -46
  87. data/lib/pg/text_encoder.rb +0 -59
  88. data/lib/pg/tuple.rb +0 -30
  89. data/lib/pg/type_map_by_column.rb +0 -16
  90. data/lib/pg/version.rb +0 -4
  91. data/lib/pg.rb +0 -55
@@ -1,73 +1,88 @@
1
- == v1.4.5 [2022-11-17] Lars Kanis <lars@greiz-reinsdorf.de>
1
+ ## v1.4.6 [2023-02-26] Lars Kanis <lars@greiz-reinsdorf.de>
2
2
 
3
- - Return the libpq default port when blank in conninfo. #492
4
- - Add PG::DEF_PGPORT constant and use it in specs. #492
3
+ - Add japanese README file. [#502](https://github.com/ged/ruby-pg/pull/502)
4
+ - Improve `discard_results` to not block under memory pressure. [#500](https://github.com/ged/ruby-pg/pull/500)
5
+ - 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.
6
+ Previously the "no COPY in progress" `PG::Error` was less specific. [#499](https://github.com/ged/ruby-pg/pull/499)
7
+ - Make sure an error in `put_copy_end` of `copy_data` doesn't lose the original exception.
8
+ - Disable nonblocking mode while large object calls. [#498](https://github.com/ged/ruby-pg/pull/498)
9
+ Since pg-1.3.0 libpq's "lo_*" calls failed when a bigger amount of data was transferred.
10
+ This specifically forced the `active_storage-postgresql` gem to use pg-1.2.3.
11
+ - Add rdoc options to gemspec, so that "gem install" generates complete offline documentation.
12
+ - Add binary Windows gems for Ruby 3.2.
13
+ - Update Windows fat binary gem to PostgreSQL-15.2 and OpenSSL-3.0.8.
14
+
15
+
16
+ ## v1.4.5 [2022-11-17] Lars Kanis <lars@greiz-reinsdorf.de>
17
+
18
+ - Return the libpq default port when blank in conninfo. [#492](https://github.com/ged/ruby-pg/pull/492)
19
+ - Add PG::DEF_PGPORT constant and use it in specs. [#492](https://github.com/ged/ruby-pg/pull/492)
5
20
  - Fix name resolution when empty or `nil` port is given.
6
21
  - Update error codes to PostgreSQL-15.
7
22
  - Update Windows fat binary gem to PostgreSQL-15.1 AND OpenSSL-1.1.1s.
8
23
 
9
24
 
10
- == v1.4.4 [2022-10-11] Lars Kanis <lars@greiz-reinsdorf.de>
25
+ ## v1.4.4 [2022-10-11] Lars Kanis <lars@greiz-reinsdorf.de>
11
26
 
12
- - Revert to let libpq do the host iteration while connecting. #485
27
+ - Revert to let libpq do the host iteration while connecting. [#485](https://github.com/ged/ruby-pg/pull/485)
13
28
  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
29
+ - Handle multiple hosts in the connection string, where only one host has writable session. [#476](https://github.com/ged/ruby-pg/pull/476)
30
+ - Add some useful information to PG::Connection#inspect. [#487](https://github.com/ged/ruby-pg/pull/487)
31
+ - Support new pgresult_stream_any API in sequel_pg-1.17.0. [#481](https://github.com/ged/ruby-pg/pull/481)
17
32
  - Update Windows fat binary gem to PostgreSQL-14.5.
18
33
 
19
34
 
20
- == v1.4.3 [2022-08-09] Lars Kanis <lars@greiz-reinsdorf.de>
35
+ ## v1.4.3 [2022-08-09] Lars Kanis <lars@greiz-reinsdorf.de>
21
36
 
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
37
+ - 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)
38
+ - Use Encoding::BINARY for JOHAB, removing some useless code. [#472](https://github.com/ged/ruby-pg/pull/472)
24
39
 
25
40
 
26
- == v1.4.2 [2022-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
41
+ ## v1.4.2 [2022-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
27
42
 
28
43
  Bugfixes:
29
44
 
30
- - Properly handle empty host parameter when connecting. #471
45
+ - Properly handle empty host parameter when connecting. [#471](https://github.com/ged/ruby-pg/pull/471)
31
46
  - Update Windows fat binary gem to OpenSSL-1.1.1q.
32
47
 
33
48
 
34
- == v1.4.1 [2022-06-24] Lars Kanis <lars@greiz-reinsdorf.de>
49
+ ## v1.4.1 [2022-06-24] Lars Kanis <lars@greiz-reinsdorf.de>
35
50
 
36
51
  Bugfixes:
37
52
 
38
- - Fix another ruby-2.7 keyword warning. #465
39
- - Allow PG::Error to be created without arguments. #466
53
+ - Fix another ruby-2.7 keyword warning. [#465](https://github.com/ged/ruby-pg/pull/465)
54
+ - Allow PG::Error to be created without arguments. [#466](https://github.com/ged/ruby-pg/pull/466)
40
55
 
41
56
 
42
- == v1.4.0 [2022-06-20] Lars Kanis <lars@greiz-reinsdorf.de>
57
+ ## v1.4.0 [2022-06-20] Lars Kanis <lars@greiz-reinsdorf.de>
43
58
 
44
59
  Added:
45
60
 
46
- - Add PG::Connection#hostaddr, present since PostgreSQL-12. #453
47
- - Add PG::Connection.conninfo_parse to wrap PQconninfoParse. #453
61
+ - Add PG::Connection#hostaddr, present since PostgreSQL-12. [#453](https://github.com/ged/ruby-pg/pull/453)
62
+ - Add PG::Connection.conninfo_parse to wrap PQconninfoParse. [#453](https://github.com/ged/ruby-pg/pull/453)
48
63
 
49
64
  Bugfixes:
50
65
 
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
66
+ - Try IPv6 and IPv4 addresses, if DNS resolves to both. [#452](https://github.com/ged/ruby-pg/pull/452)
67
+ - 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)
68
+ - Handle client error after all data consumed in #copy_data for output. [#455](https://github.com/ged/ruby-pg/pull/455)
69
+ - Avoid spurious keyword argument warning on Ruby 2.7. [#456](https://github.com/ged/ruby-pg/pull/456)
70
+ - Change connection setup to respect connect_timeout parameter. [#459](https://github.com/ged/ruby-pg/pull/459)
71
+ - Fix indefinite hang in case of connection error on Windows [#458](https://github.com/ged/ruby-pg/pull/458)
72
+ - Set connection attribute of PG::Error in various places where it was missing. [#461](https://github.com/ged/ruby-pg/pull/461)
73
+ - Fix transaction leak on early break/return. [#463](https://github.com/ged/ruby-pg/pull/463)
59
74
  - Update Windows fat binary gem to OpenSSL-1.1.1o and PostgreSQL-14.4.
60
75
 
61
76
  Enhancements:
62
77
 
63
- - Don't flush at each put_copy_data call, but flush at get_result. #462
78
+ - Don't flush at each put_copy_data call, but flush at get_result. [#462](https://github.com/ged/ruby-pg/pull/462)
64
79
 
65
80
 
66
- == v1.3.5 [2022-03-31] Lars Kanis <lars@greiz-reinsdorf.de>
81
+ ## v1.3.5 [2022-03-31] Lars Kanis <lars@greiz-reinsdorf.de>
67
82
 
68
83
  Bugfixes:
69
84
 
70
- - Handle PGRES_COMMAND_OK in pgresult_stream_any. #447
85
+ - Handle PGRES_COMMAND_OK in pgresult_stream_any. [#447](https://github.com/ged/ruby-pg/pull/447)
71
86
  Fixes usage when trying to stream the result of a procedure call that returns no results.
72
87
 
73
88
  Enhancements:
@@ -76,74 +91,74 @@ Enhancements:
76
91
  Keeping define_default_types for compatibility.
77
92
  - BasicTypeRegistry: return self instead of objects by accident.
78
93
  This allows call chaining.
79
- - Add some April fun. #449
94
+ - Add some April fun. [#449](https://github.com/ged/ruby-pg/pull/449)
80
95
 
81
96
  Documentation:
82
97
  - Refine documentation of conn.socket_io and conn.connect_poll
83
98
 
84
99
 
85
- == v1.3.4 [2022-03-10] Lars Kanis <lars@greiz-reinsdorf.de>
100
+ ## v1.3.4 [2022-03-10] Lars Kanis <lars@greiz-reinsdorf.de>
86
101
 
87
102
  Bugfixes:
88
103
 
89
- - Don't leak IO in case of connection errors. #439
104
+ - Don't leak IO in case of connection errors. [#439](https://github.com/ged/ruby-pg/pull/439)
90
105
  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
106
+ - Fix a performance regession in conn.get_result noticed in single row mode. [#442](https://github.com/ged/ruby-pg/pull/442)
107
+ - Fix occasional error Errno::EBADF (Bad file descriptor) while connecting. [#444](https://github.com/ged/ruby-pg/pull/444)
108
+ - Fix compatibility of res.stream_each* methods with Fiber.scheduler. [#446](https://github.com/ged/ruby-pg/pull/446)
109
+ - Remove FL_TEST and FL_SET, which are MRI-internal. [#437](https://github.com/ged/ruby-pg/pull/437)
95
110
 
96
111
  Enhancements:
97
112
 
98
- - Allow pgresult_stream_any to be used by sequel_pg. #443
113
+ - Allow pgresult_stream_any to be used by sequel_pg. [#443](https://github.com/ged/ruby-pg/pull/443)
99
114
 
100
115
 
101
- == v1.3.3 [2022-02-22] Lars Kanis <lars@greiz-reinsdorf.de>
116
+ ## v1.3.3 [2022-02-22] Lars Kanis <lars@greiz-reinsdorf.de>
102
117
 
103
118
  Bugfixes:
104
119
 
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
120
+ - Fix omission of the third digit of IPv4 addresses in connection URI. [#435](https://github.com/ged/ruby-pg/pull/435)
121
+ - 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
122
 
108
123
 
109
- == v1.3.2 [2022-02-14] Lars Kanis <lars@greiz-reinsdorf.de>
124
+ ## v1.3.2 [2022-02-14] Lars Kanis <lars@greiz-reinsdorf.de>
110
125
 
111
126
  Bugfixes:
112
127
 
113
- - Cancel only active query after failing transaction. #430
128
+ - Cancel only active query after failing transaction. [#430](https://github.com/ged/ruby-pg/pull/430)
114
129
  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
130
+ - Fix String objects with non-applied encoding when using COPY or record decoders. [#427](https://github.com/ged/ruby-pg/pull/427)
116
131
  - Update Windows fat binary gem to PostgreSQL-14.2.
117
132
 
118
133
  Enhancements:
119
134
 
120
135
  - 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
136
+ - 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
137
 
123
138
 
124
- == v1.3.1 [2022-02-01] Michael Granger <ged@FaerieMUD.org>
139
+ ## v1.3.1 [2022-02-01] Michael Granger <ged@FaerieMUD.org>
125
140
 
126
141
  Bugfixes:
127
142
 
128
- - Fix wrong handling of socket writability on Windows introduced in #417.
143
+ - Fix wrong handling of socket writability on Windows introduced in [#417](https://github.com/ged/ruby-pg/pull/417).
129
144
  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
145
+ - Fix error in PG.version_string(true). [#419](https://github.com/ged/ruby-pg/pull/419)
146
+ - 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
147
 
133
148
  Enhancements:
134
149
 
135
150
  - Raise an error when conn.copy_data is used in nonblocking mode.
136
151
 
137
152
 
138
- == v1.3.0 [2022-01-20] Michael Granger <ged@FaerieMUD.org>
153
+ ## v1.3.0 [2022-01-20] Michael Granger <ged@FaerieMUD.org>
139
154
 
140
155
  Install Enhancements:
141
- - Print some install help if libpq wasn't found. #396
156
+ - Print some install help if libpq wasn't found. [#396](https://github.com/ged/ruby-pg/pull/396)
142
157
  This should help to pick the necessary package without googling.
143
158
  - Update Windows fat binary gem to OpenSSL-1.1.1m and PostgreSQL-14.1.
144
159
  - 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
160
+ - 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)
161
+ - Fall back to pkg-config if pg_config is not found. [#380](https://github.com/ged/ruby-pg/pull/380)
147
162
  - Add option to extconf.rb to disable nogvl-wrapping of libpq functions.
148
163
  All methods (except PG::Connection.ping) are nonblocking now, so that GVL unlock is in theory no longer necessary.
149
164
  However it can have some advantage in concurrency, so that GVL unlock is still enabled by default.
@@ -151,8 +166,8 @@ Install Enhancements:
151
166
  - gem inst pg -- --disable-gvl-unlock
152
167
 
153
168
  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
169
+ - Add full compatibility to Fiber.scheduler introduced in Ruby-3.0. [#397](https://github.com/ged/ruby-pg/pull/397)
170
+ - Add async_connect and async_send methods and add specific specs for Fiber.scheduler [#342](https://github.com/ged/ruby-pg/pull/342)
156
171
  - Add async_get_result and async_get_last_result
157
172
  - Add async_get_copy_data
158
173
  - Implement async_put_copy_data/async_put_copy_end
@@ -166,35 +181,35 @@ API Enhancements:
166
181
  - Avoid PG.connect blocking while address resolution by automatically providing the +hostaddr+ parameter and resolving in Ruby instead of libpq.
167
182
  - On Windows Fiber.scheduler support requires Ruby-3.1+.
168
183
  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
184
+ - Add support for pipeline mode of PostgreSQL-14. [#401](https://github.com/ged/ruby-pg/pull/401)
185
+ - Allow specification of multiple hosts in PostgreSQL URI. [#387](https://github.com/ged/ruby-pg/pull/387)
171
186
  - Add new method conn.backend_key - used to implement our own cancel method.
172
187
 
173
188
  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
189
+ - Add PG::BasicTypeMapForQueries::BinaryData for encoding of bytea columns. [#348](https://github.com/ged/ruby-pg/pull/348)
190
+ - 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
191
  - Make BasicTypeRegistry a class and use a global default instance of it.
177
192
  Now a local type registry can be instanciated and given to the type map, to avoid changing shared global states.
178
193
  - Allow PG::BasicTypeMapForQueries to take a Proc as callback for undefined types.
179
194
 
180
195
  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
196
+ - Convert all PG classes implemented in C to TypedData objects. [#349](https://github.com/ged/ruby-pg/pull/349)
197
+ - Support ObjectSpace.memsize_of(obj) on all classes implemented in C. [#393](https://github.com/ged/ruby-pg/pull/393)
198
+ - Make all PG objects implemented in C memory moveable and therefore GC.compact friendly. [#349](https://github.com/ged/ruby-pg/pull/349)
184
199
  - Update errorcodes and error classes to PostgreSQL-14.0.
185
200
  - Add PG::CONNECTION_* constants for conn.status of newer PostgreSQL versions.
186
- - Add better support for logical replication. #339
201
+ - Add better support for logical replication. [#339](https://github.com/ged/ruby-pg/pull/339)
187
202
  - Change conn.socket_io to read+write mode and to a BasicSocket object instead of IO.
188
203
  - Use rb_io_wait() and the conn.socket_io object if available for better compatibility to Fiber.scheduler .
189
204
  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
205
+ - 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
206
 
192
207
  Bugfixes:
193
208
  - 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
209
+ - 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)
210
+ - Avoid casting of OIDs to fix compat with Redshift database. [#369](https://github.com/ged/ruby-pg/pull/369)
196
211
  - 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
212
+ - Sporadic Errno::ENOTSOCK when using conn.socket_io on Windows [#398](https://github.com/ged/ruby-pg/pull/398)
198
213
 
199
214
  Deprecated:
200
215
  - Add deprecation warning to PG::BasicTypeRegistry.register_type and siblings.
@@ -209,37 +224,37 @@ Repository:
209
224
  - Add Github Actions CI and testing of source and binary gems.
210
225
 
211
226
 
212
- == v1.2.3 [2020-03-18] Michael Granger <ged@FaerieMUD.org>
227
+ ## v1.2.3 [2020-03-18] Michael Granger <ged@FaerieMUD.org>
213
228
 
214
229
  Bugfixes:
215
230
 
216
231
  - 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
232
+ a typemap after GC.compact. [#327](https://github.com/ged/ruby-pg/pull/327)
233
+ - Fix possible segfault in `PG::TypeMapByClass` after GC.compact. [#328](https://github.com/ged/ruby-pg/pull/328)
219
234
 
220
235
 
221
- == v1.2.2 [2020-01-06] Michael Granger <ged@FaerieMUD.org>
236
+ ## v1.2.2 [2020-01-06] Michael Granger <ged@FaerieMUD.org>
222
237
 
223
238
  Enhancements:
224
239
 
225
240
  - Add a binary gem for Ruby 2.7.
226
241
 
227
242
 
228
- == v1.2.1 [2020-01-02] Michael Granger <ged@FaerieMUD.org>
243
+ ## v1.2.1 [2020-01-02] Michael Granger <ged@FaerieMUD.org>
229
244
 
230
245
  Enhancements:
231
246
 
232
247
  - Added internal API for sequel_pg compatibility.
233
248
 
234
249
 
235
- == v1.2.0 [2019-12-20] Michael Granger <ged@FaerieMUD.org>
250
+ ## v1.2.0 [2019-12-20] Michael Granger <ged@FaerieMUD.org>
236
251
 
237
252
  Repository:
238
253
  - 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
254
+ Most of the issues from https://bitbucket.org/ged/ruby-pg have been migrated. [#43](https://github.com/ged/ruby-pg/pull/43)
240
255
 
241
256
  API enhancements:
242
- - Add PG::Result#field_name_type= and siblings to allow symbols to be used as field names. #306
257
+ - 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
258
  - Add new methods for error reporting:
244
259
  - PG::Connection#set_error_context_visibility
245
260
  - PG::Result#verbose_error_message
@@ -248,29 +263,29 @@ API enhancements:
248
263
  - New constants: PG_DIAG_SEVERITY_NONLOCALIZED, PQERRORS_SQLSTATE, PQSHOW_CONTEXT_NEVER, PQSHOW_CONTEXT_ERRORS, PQSHOW_CONTEXT_ALWAYS
249
264
 
250
265
  Type cast enhancements:
251
- - Add PG::TextEncoder::Record and PG::TextDecoder::Record for en/decoding of Composite Types. #258, #36
266
+ - 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
267
  - Add PG::BasicTypeRegistry.register_coder to register instances instead of classes.
253
268
  This is useful to register parametrized en/decoders like PG::TextDecoder::Record .
254
269
  - Add PG::BasicTypeMapForQueries#encode_array_as= to switch between various interpretations of ruby arrays.
255
270
  - 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
271
+ - Exchange sprintf based float encoder by very fast own implementation with more natural format. [#301](https://github.com/ged/ruby-pg/pull/301)
257
272
  - Define encode and decode methods only in en/decoders that implement it, so that they can be queried by respond_to? .
258
273
  - Improve PG::TypeMapByColumn#inspect
259
- - Accept Integer and Float as input to TextEncoder::Numeric . #310
274
+ - Accept Integer and Float as input to TextEncoder::Numeric . [#310](https://github.com/ged/ruby-pg/pull/310)
260
275
 
261
276
  Other enhancements:
262
277
  - 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
278
+ 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
279
  - Make use of PQresultMemorySize() of PostgreSQL-12 and fall back to our internal estimator.
265
280
  - 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
281
+ - 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
282
  - Update Windows fat binary gem to OpenSSL-1.1.1d and PostgreSQL-12.1.
268
283
  - Add support for TruffleRuby. It is regularly tested as part of our CI.
269
284
  - Enable +frozen_string_literal+ in all pg's ruby files
270
285
 
271
286
  Bugfixes:
272
287
  - Update the license in gemspec to "BSD-2-Clause".
273
- It was incorrectly labeled "BSD-3-Clause". #40
288
+ It was incorrectly labeled "BSD-3-Clause". [#40](https://github.com/ged/ruby-pg/pull/40)
274
289
  - Respect PG::Coder#flags in PG::Coder#to_h.
275
290
  - Fix PG::Result memsize reporting after #clear.
276
291
  - Release field names to GC on PG::Result#clear.
@@ -284,7 +299,7 @@ Deprecated:
284
299
  Removed:
285
300
  - Remove PG::Connection#guess_result_memsize= which was temporary added in pg-1.1.
286
301
  - Remove PG::Result.allocate and PG::Result.new (see enhancements).
287
- - Remove support of tainted objects. #307
302
+ - Remove support of tainted objects. [#307](https://github.com/ged/ruby-pg/pull/307)
288
303
  - Remove support of ruby-2.0 and 2.1. Minimum is ruby-2.2 now.
289
304
 
290
305
  Documentation:
@@ -295,30 +310,30 @@ Documentation:
295
310
  - Fix documentation of many constants
296
311
 
297
312
 
298
- == v1.1.4 [2019-01-08] Michael Granger <ged@FaerieMUD.org>
313
+ ## v1.1.4 [2019-01-08] Michael Granger <ged@FaerieMUD.org>
299
314
 
300
315
  - Fix PG::BinaryDecoder::Timestamp on 32 bit systems. # 284
301
316
  - Add new error-codes of PostgreSQL-11.
302
317
  - Add ruby-2.6 support for Windows fat binary gems and remove ruby-2.0 and 2.1.
303
318
 
304
319
 
305
- == v1.1.3 [2018-09-06] Michael Granger <ged@FaerieMUD.org>
320
+ ## v1.1.3 [2018-09-06] Michael Granger <ged@FaerieMUD.org>
306
321
 
307
322
  - Revert opimization that was sometimes causing EBADF in rb_wait_for_single_fd().
308
323
 
309
324
 
310
- == v1.1.2 [2018-08-28] Michael Granger <ged@FaerieMUD.org>
325
+ ## v1.1.2 [2018-08-28] Michael Granger <ged@FaerieMUD.org>
311
326
 
312
327
  - Don't generate aliases for JOHAB encoding.
313
328
  This avoids linking to deprecated/private function rb_enc(db)_alias().
314
329
 
315
330
 
316
- == v1.1.1 [2018-08-27] Michael Granger <ged@FaerieMUD.org>
331
+ ## v1.1.1 [2018-08-27] Michael Granger <ged@FaerieMUD.org>
317
332
 
318
333
  - Reduce deprecation warnings to only one message per deprecation.
319
334
 
320
335
 
321
- == v1.1.0 [2018-08-24] Michael Granger <ged@FaerieMUD.org>
336
+ ## v1.1.0 [2018-08-24] Michael Granger <ged@FaerieMUD.org>
322
337
 
323
338
  Deprecated (disable warnings per PG_SKIP_DEPRECATION_WARNING=1):
324
339
  - Forwarding conn.exec to conn.exec_params is deprecated.
@@ -344,7 +359,7 @@ Result retrieval enhancements:
344
359
  - Make the estimated PG::Result size available to ObjectSpace.memsize_of(result) .
345
360
 
346
361
  Type cast enhancements:
347
- - Replace Ruby code by a faster C implementation of the SimpleDecoder's timestamp decode functions. github #20
362
+ - 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
363
  - Interpret years with up to 7 digists and BC dates by timestamp decoder.
349
364
  - Add text timestamp decoders for UTC vs. local timezone variations.
350
365
  - Add text timestamp encoders for UTC timezone.
@@ -359,12 +374,12 @@ Source code enhancements:
359
374
  - Fix headers and permission bits of various repository files.
360
375
 
361
376
  Bugfixes:
362
- - Properly decode array with prepended dimensions. #272
377
+ - Properly decode array with prepended dimensions. [#272](https://github.com/ged/ruby-pg/pull/272)
363
378
  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
379
+ - Array-Decoder: Avoid leaking memory when an Exception is raised while parsing. Fixes [#279](https://github.com/ged/ruby-pg/pull/279)
365
380
 
366
381
 
367
- == v1.0.0 [2018-01-10] Michael Granger <ged@FaerieMUD.org>
382
+ ## v1.0.0 [2018-01-10] Michael Granger <ged@FaerieMUD.org>
368
383
 
369
384
  Deprecated:
370
385
  - Deprecate Ruby older than 2.2.
@@ -381,16 +396,16 @@ Enhancements:
381
396
  OpenSSL 1.1.0g.
382
397
 
383
398
  Bugfixes:
384
- - Fix URI detection for connection strings. #265 (thanks to jjoos)
399
+ - Fix URI detection for connection strings. [#265](https://github.com/ged/ruby-pg/pull/265) (thanks to jjoos)
385
400
  - MINGW: Workaround segfault due to GCC linker error in conjunction with MSVC.
386
401
  This happens when linking to PostgreSQL-10.0-x64 from EnterpriseDB.
387
402
 
388
403
  Documentation fixes:
389
- - Add PostgreSQL version since when the given function is supported. #263
404
+ - Add PostgreSQL version since when the given function is supported. [#263](https://github.com/ged/ruby-pg/pull/263)
390
405
  - Better documentation to `encoder` and `decoder` arguments of COPY related methods.
391
406
 
392
407
 
393
- == v0.21.0 [2017-06-12] Michael Granger <ged@FaerieMUD.org>
408
+ ## v0.21.0 [2017-06-12] Michael Granger <ged@FaerieMUD.org>
394
409
 
395
410
  Enhancements:
396
411
  - Move add_dll_directory to the Runtime namespace for newest versions
@@ -406,7 +421,7 @@ New Samples:
406
421
  - Add an example of the nicer #copy_data way of doing `COPY`.
407
422
 
408
423
 
409
- == v0.20.0 [2017-03-10] Michael Granger <ged@FaerieMUD.org>
424
+ ## v0.20.0 [2017-03-10] Michael Granger <ged@FaerieMUD.org>
410
425
 
411
426
  Enhancements:
412
427
  - Update error codes to PostgreSQL-9.6
@@ -415,22 +430,22 @@ Enhancements:
415
430
  - Add support for RubyInstaller2 to Windows binary gems.
416
431
 
417
432
  Bugfixes:
418
- - Use secure JSON methods for JSON (de)serialisation. #248
433
+ - Use secure JSON methods for JSON (de)serialisation. [#248](https://github.com/ged/ruby-pg/pull/248)
419
434
  - Fix Result#inspect on a cleared result.
420
- - Fix test case that failed on Ruby-2.4. #255
435
+ - Fix test case that failed on Ruby-2.4. [#255](https://github.com/ged/ruby-pg/pull/255)
421
436
 
422
437
  Documentation fixes:
423
438
  - Talk about Integer instead of Fixnum.
424
439
  - Fix method signature of Coder#encode.
425
440
 
426
441
 
427
- == v0.19.0 [2016-09-21] Michael Granger <ged@FaerieMUD.org>
442
+ ## v0.19.0 [2016-09-21] Michael Granger <ged@FaerieMUD.org>
428
443
 
429
444
  - Deprecate Ruby 1.9
430
445
 
431
446
  Enhancements:
432
447
  - Respect and convert character encoding of all strings sent
433
- to the server. #231
448
+ to the server. [#231](https://github.com/ged/ruby-pg/pull/231)
434
449
  - Add PostgreSQL-9.5 functions PQsslInUse(), PQsslAttribute()
435
450
  and PQsslAttributeNames().
436
451
  - Various documentation fixes and improvements.
@@ -443,24 +458,24 @@ Enhancements:
443
458
  - Allow build from git per bundler.
444
459
 
445
460
  Bugfixes:
446
- - Release GVL while calling PQsetClientEncoding(). #245
447
- - Add __EXTENSIONS__ to Solaris/SmartOS for Ruby >= 2.3.x. #236
461
+ - Release GVL while calling PQsetClientEncoding(). [#245](https://github.com/ged/ruby-pg/pull/245)
462
+ - Add __EXTENSIONS__ to Solaris/SmartOS for Ruby >= 2.3.x. [#236](https://github.com/ged/ruby-pg/pull/236)
448
463
  - Fix wrong exception when running SQL while in Connection#copy_data
449
464
  block for output
450
465
 
451
466
 
452
- == v0.18.4 [2015-11-13] Michael Granger <ged@FaerieMUD.org>
467
+ ## v0.18.4 [2015-11-13] Michael Granger <ged@FaerieMUD.org>
453
468
 
454
469
  Enhancements:
455
- - Fixing compilation problems with Microsoft Visual Studio 2008. GH #10
456
- - Avoid name clash with xcode and jemalloc. PR#22, PR#23
470
+ - Fixing compilation problems with Microsoft Visual Studio 2008. GH [#10](https://github.com/ged/ruby-pg/pull/10)
471
+ - 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
472
 
458
473
  Bugfixes:
459
474
  - Avoid segfault, when quote_ident or TextEncoder::Identifier
460
- is called with Array containing non-strings. #226
475
+ is called with Array containing non-strings. [#226](https://github.com/ged/ruby-pg/pull/226)
461
476
 
462
477
 
463
- == v0.18.3 [2015-09-03] Michael Granger <ged@FaerieMUD.org>
478
+ ## v0.18.3 [2015-09-03] Michael Granger <ged@FaerieMUD.org>
464
479
 
465
480
  Enhancements:
466
481
  - Use rake-compiler-dock to build windows gems easily.
@@ -468,12 +483,12 @@ Enhancements:
468
483
 
469
484
  Bugfixes:
470
485
  - Fix data type resulting in wrong base64 encoding.
471
- - Change instance_of checks to kind_of for subclassing. #220
486
+ - Change instance_of checks to kind_of for subclassing. [#220](https://github.com/ged/ruby-pg/pull/220)
472
487
  - TextDecoder::Date returns an actual Ruby Date instead of a Time
473
488
  (thanks to Thomas Ramfjord)
474
489
 
475
490
 
476
- == v0.18.2 [2015-05-14] Michael Granger <ged@FaerieMUD.org>
491
+ ## v0.18.2 [2015-05-14] Michael Granger <ged@FaerieMUD.org>
477
492
 
478
493
  Enhancements:
479
494
 
@@ -483,22 +498,22 @@ Enhancements:
483
498
  Bugfixes:
484
499
 
485
500
  - 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]
501
+ - Revert addition of PG::Connection#hostaddr [[#202](https://github.com/ged/ruby-pg/pull/202)].
502
+ - Fix decoding of fractional timezones and timestamps [[#203](https://github.com/ged/ruby-pg/pull/203)]
488
503
  - Fixes for non-C99 compilers
489
504
  - Avoid possible symbol name clash when linking against static libpq.
490
505
 
491
506
 
492
- == v0.18.1 [2015-01-05] Michael Granger <ged@FaerieMUD.org>
507
+ ## v0.18.1 [2015-01-05] Michael Granger <ged@FaerieMUD.org>
493
508
 
494
- Correct the minimum compatible Ruby version to 1.9.3. #199
509
+ Correct the minimum compatible Ruby version to 1.9.3. [#199](https://github.com/ged/ruby-pg/pull/199)
495
510
 
496
511
 
497
- == v0.18.0 [2015-01-01] Michael Granger <ged@FaerieMUD.org>
512
+ ## v0.18.0 [2015-01-01] Michael Granger <ged@FaerieMUD.org>
498
513
 
499
514
  Bugfixes:
500
- - Fix OID to Integer mapping (it is unsigned now). #187
501
- - Fix possible segfault in conjunction with notice receiver. #185
515
+ - Fix OID to Integer mapping (it is unsigned now). [#187](https://github.com/ged/ruby-pg/pull/187)
516
+ - Fix possible segfault in conjunction with notice receiver. [#185](https://github.com/ged/ruby-pg/pull/185)
502
517
 
503
518
  Enhancements:
504
519
 
@@ -517,7 +532,7 @@ Enhancements:
517
532
 
518
533
 
519
534
 
520
- == v0.17.1 [2013-12-18] Michael Granger <ged@FaerieMUD.org>
535
+ ## v0.17.1 [2013-12-18] Michael Granger <ged@FaerieMUD.org>
521
536
 
522
537
  Bugfixes:
523
538
 
@@ -533,11 +548,11 @@ Documentation fixes:
533
548
  - Fix documentation for PG::Connection::conndefaults.
534
549
 
535
550
 
536
- == v0.17.0 [2013-09-15] Michael Granger <ged@FaerieMUD.org>
551
+ ## v0.17.0 [2013-09-15] Michael Granger <ged@FaerieMUD.org>
537
552
 
538
553
  Bugfixes:
539
554
 
540
- - Fix crash by calling PQsend* and PQisBusy without GVL (#171).
555
+ - Fix crash by calling PQsend* and PQisBusy without GVL ([#171](https://github.com/ged/ruby-pg/pull/171)).
541
556
 
542
557
  Enhancements:
543
558
 
@@ -548,18 +563,18 @@ Enhancements:
548
563
  to stack method calls.
549
564
 
550
565
 
551
- == v0.16.0 [2013-07-22] Michael Granger <ged@FaerieMUD.org>
566
+ ## v0.16.0 [2013-07-22] Michael Granger <ged@FaerieMUD.org>
552
567
 
553
568
  Bugfixes:
554
569
 
555
570
  - Avoid warnings about uninitialized instance variables.
556
571
  - Use a more standard method of adding library and include directories.
557
- This fixes build on AIX (Github #7) and Solaris (#164).
572
+ 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
573
  - Cancel the running query, if a thread is about to be killed (e.g. by CTRL-C).
559
574
  - Fix GVL issue with wait_for_notify/notifies and notice callbacks.
560
575
  - 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).
576
+ and escape_identifier ([#163](https://github.com/ged/ruby-pg/pull/163)).
577
+ - Use nil as PG::Error#result in case of a NULL-result from libpq ([#166](https://github.com/ged/ruby-pg/pull/166)).
563
578
  - Recalculate the timeout of conn#wait_for_notify and conn#block in case
564
579
  of socket events that require re-runs of select().
565
580
 
@@ -569,20 +584,20 @@ Documentation fixes:
569
584
 
570
585
  Enhancements:
571
586
 
572
- - Add unique exception classes for each PostgreSQL error type (#5).
573
- - Return result of the block in conn#transaction instead of nil (#158).
587
+ - Add unique exception classes for each PostgreSQL error type ([#5](https://github.com/ged/ruby-pg/pull/5)).
588
+ - Return result of the block in conn#transaction instead of nil ([#158](https://github.com/ged/ruby-pg/pull/158)).
574
589
  - Allow 'rake compile' and 'rake gem' on non mercurial repos.
575
- - Add support for PG_DIAG_*_NAME error fields of PostgreSQL-9.3 (#161).
590
+ - Add support for PG_DIAG_*_NAME error fields of PostgreSQL-9.3 ([#161](https://github.com/ged/ruby-pg/pull/161)).
576
591
 
577
592
 
578
- == v0.15.1 [2013-04-08] Michael Granger <ged@FaerieMUD.org>
593
+ ## v0.15.1 [2013-04-08] Michael Granger <ged@FaerieMUD.org>
579
594
 
580
595
  Bugfixes:
581
596
 
582
597
  - Shorten application_name to avoid warnings about truncated identifier.
583
598
 
584
599
 
585
- == v0.15.0 [2013-03-03] Michael Granger <ged@FaerieMUD.org>
600
+ ## v0.15.0 [2013-03-03] Michael Granger <ged@FaerieMUD.org>
586
601
 
587
602
  Bugfixes:
588
603
 
@@ -607,7 +622,7 @@ Enhancements:
607
622
  - Refactor different variants of waiting for the connection socket.
608
623
  - Make use of rb_thread_fd_select() on Ruby 1.9 and avoid deprecated
609
624
  rb_thread_select().
610
- - Add an example of how to insert array data using a prepared statement (#145).
625
+ - Add an example of how to insert array data using a prepared statement ([#145](https://github.com/ged/ruby-pg/pull/145)).
611
626
  - Add continuous integration tests on travis-ci.org.
612
627
  - Add PG::Result#each_row for iterative over result sets by row. Thanks to
613
628
  Aaron Patterson for the patch.
@@ -620,11 +635,11 @@ Specs:
620
635
  - Avoid fork() in specs to allow usage on Windows and JRuby.
621
636
 
622
637
 
623
- == v0.14.1 [2012-09-02] Michael Granger <ged@FaerieMUD.org>
638
+ ## v0.14.1 [2012-09-02] Michael Granger <ged@FaerieMUD.org>
624
639
 
625
640
  Important bugfix:
626
641
 
627
- - Fix stack overflow bug in PG::Result#values and #column_values (#135). Thanks
642
+ - Fix stack overflow bug in PG::Result#values and #column_values ([#135](https://github.com/ged/ruby-pg/pull/135)). Thanks
628
643
  to everyone who reported the bug, and Lars Kanis especially for figuring out
629
644
  the problem.
630
645
 
@@ -637,13 +652,13 @@ Documentation fixes:
637
652
  - Add note about the usage scope of the result object received by the
638
653
  #set_notice_receiver block. (Lars Kanis)
639
654
  - Add PGRES_COPY_BOTH to documentation of PG::Result#result_status. (Lars Kanis)
640
- - Add some documentation to PG::Result#fnumber (fix for #139)
655
+ - Add some documentation to PG::Result#fnumber (fix for [#139](https://github.com/ged/ruby-pg/pull/139))
641
656
 
642
657
 
643
- == v0.14.0 [2012-06-17] Michael Granger <ged@FaerieMUD.org>
658
+ ## v0.14.0 [2012-06-17] Michael Granger <ged@FaerieMUD.org>
644
659
 
645
660
  Bugfixes:
646
- #47, #104
661
+ [#47](https://github.com/ged/ruby-pg/pull/47), [#104](https://github.com/ged/ruby-pg/pull/104)
647
662
 
648
663
 
649
664
  New Methods for PostgreSQL 9 and async API support:
@@ -668,20 +683,20 @@ monitoring for replication lag, shipping WAL files for replication,
668
683
  automated tablespace partitioning, etc. See the samples/ directory.
669
684
 
670
685
 
671
- == v0.13.2 [2012-02-22] Michael Granger <ged@FaerieMUD.org>
686
+ ## v0.13.2 [2012-02-22] Michael Granger <ged@FaerieMUD.org>
672
687
 
673
688
  - Make builds against PostgreSQL earlier than 8.3 fail with a descriptive
674
689
  message instead of a compile failure.
675
690
 
676
691
 
677
- == v0.13.1 [2012-02-12] Michael Granger <ged@FaerieMUD.org>
692
+ ## v0.13.1 [2012-02-12] Michael Granger <ged@FaerieMUD.org>
678
693
 
679
694
  - 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)
695
+ a fatal error ([#110](https://github.com/ged/ruby-pg/pull/110)).
696
+ - Added missing BSDL license file ([#108](https://github.com/ged/ruby-pg/pull/108))
682
697
 
683
698
 
684
- == v0.13.0 [2012-02-09] Michael Granger <ged@FaerieMUD.org>
699
+ ## v0.13.0 [2012-02-09] Michael Granger <ged@FaerieMUD.org>
685
700
 
686
701
  Reorganization of modules/classes to be better Ruby citizens (with backward-compatible aliases):
687
702
  - Created toplevel namespace 'PG' to correspond with the gem name.
@@ -710,23 +725,23 @@ Bugfixes:
710
725
 
711
726
 
712
727
 
713
- == v0.12.2 [2012-01-03] Michael Granger <ged@FaerieMUD.org>
728
+ ## v0.12.2 [2012-01-03] Michael Granger <ged@FaerieMUD.org>
714
729
 
715
730
  - 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)
731
+ 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.
732
+ - Encode error messages with the connection's encoding under 1.9 ([#96](https://github.com/ged/ruby-pg/pull/96))
718
733
 
719
734
 
720
- == v0.12.1 [2011-12-14] Michael Granger <ged@FaerieMUD.org>
735
+ ## v0.12.1 [2011-12-14] Michael Granger <ged@FaerieMUD.org>
721
736
 
722
737
  - Made rake-compiler a dev dependency, as Rubygems doesn't use the Rakefile
723
738
  for compiling the extension. Thanks to eolamey@bitbucket and Jeremy Evans
724
739
  for pointing this out.
725
740
  - Added an explicit include for ruby/st.h for implementations that need it
726
- (fixes #95).
741
+ (fixes [#95](https://github.com/ged/ruby-pg/pull/95)).
727
742
 
728
743
 
729
- == v0.12.0 [2011-12-07] Michael Granger <ged@FaerieMUD.org>
744
+ ## v0.12.0 [2011-12-07] Michael Granger <ged@FaerieMUD.org>
730
745
 
731
746
  - PGconn#wait_for_notify
732
747
  * send nil as the payload argument if the NOTIFY didn't have one.
@@ -737,7 +752,7 @@ Bugfixes:
737
752
  (Brian Weaver).
738
753
  - Fixes for Win32 async queries (Rafał Bigaj)
739
754
  - Memory leak fixed: Closing opened WSA event. (rafal)
740
- - Fixes for #66 Win32 asynchronous queries hang on connection
755
+ - Fixes for [#66](https://github.com/ged/ruby-pg/pull/66) Win32 asynchronous queries hang on connection
741
756
  error. (rafal)
742
757
  - Fixed a typo in PGconn#error_message's documentation
743
758
  - fixing unused variable warnings for ruby 1.9.3 (Aaron Patterson)
@@ -746,7 +761,7 @@ Bugfixes:
746
761
  - Updates for the Win32 binary gem builds (Lars Kanis)
747
762
 
748
763
 
749
- == v0.11.0 [2011-02-09] Michael Granger <ged@FaerieMUD.org>
764
+ ## v0.11.0 [2011-02-09] Michael Granger <ged@FaerieMUD.org>
750
765
 
751
766
  Enhancements:
752
767
 
@@ -755,19 +770,19 @@ Enhancements:
755
770
  the patch.
756
771
 
757
772
 
758
- == v0.10.1 [2011-01-19] Michael Granger <ged@FaerieMUD.org>
773
+ ## v0.10.1 [2011-01-19] Michael Granger <ged@FaerieMUD.org>
759
774
 
760
775
  Bugfixes:
761
776
 
762
777
  * Add an include guard for pg.h
763
778
  * Simplify the common case require of the ext
764
779
  * 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)
780
+ * Fix compatibility with versions of PostgreSQL without PQgetCancel. (fixes [#36](https://github.com/ged/ruby-pg/pull/36))
781
+ * Fix require for natively-compiled extension under Windows. (fixes [#55](https://github.com/ged/ruby-pg/pull/55))
782
+ * Change rb_yield_splat() to rb_yield_values() for compatibility with Rubinius. (fixes [#54](https://github.com/ged/ruby-pg/pull/54))
768
783
 
769
784
 
770
- == v0.10.0 [2010-12-01] Michael Granger <ged@FaerieMUD.org>
785
+ ## v0.10.0 [2010-12-01] Michael Granger <ged@FaerieMUD.org>
771
786
 
772
787
  Enhancements:
773
788
 
@@ -779,11 +794,11 @@ Bugfixes:
779
794
  * Fixed issue with PGconn#wait_for_notify that caused it to miss notifications that happened after
780
795
  the LISTEN but before the wait_for_notify.
781
796
 
782
- == v0.9.0 [2010-02-28] Michael Granger <ged@FaerieMUD.org>
797
+ ## v0.9.0 [2010-02-28] Michael Granger <ged@FaerieMUD.org>
783
798
 
784
799
  Bugfixes.
785
800
 
786
- == v0.8.0 [2009-03-28] Jeff Davis <davis.jeffrey@gmail.com>
801
+ ## v0.8.0 [2009-03-28] Jeff Davis <davis.jeffrey@gmail.com>
787
802
 
788
803
  Bugfixes, better Windows support.
789
804