pg 1.6.0.rc2 → 1.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 956a534d3545f2d25ab922f903042bf6ae160f97c2b0e67a535d70559ce78cde
4
- data.tar.gz: facd2045b9f51620fd66f407202d4b5d4f1ad31f991eef7b5eb4c2f4606416ef
3
+ metadata.gz: 012dafe387d9f1fe9444dee7674ff5fdfcebce3b8ca61500b0ccbba847e28721
4
+ data.tar.gz: 2a3d537246a65cb6c86822296d723154abbab3be71ca772cfa71678535eb3369
5
5
  SHA512:
6
- metadata.gz: bfbeb91b593698fbce35d3d7eb54b1c918ab741f96568faedcc045ddf0fe9917735d411df339f4fc2b7ced6d5fb4e9fb4845c56ee17d8b5880b30620741650c1
7
- data.tar.gz: 71524df43d1c3891d9ecd052153f93e8e563b0ab5f4324292fe176bc8c93ace60be175fe275fb7546420d996b8cc7eecf27a254729029d566bcbe67c34ad67bc
6
+ metadata.gz: 9d395a1d05e7bafda559f0a5041579b5d15c7f8b5c50b8ff0e37ae0b577a21e20b0f3471fb874ed23f6101e0fe21591f22efd60c230b59106029d7f1713b3023
7
+ data.tar.gz: 2456f8130e18b84aebd95aa08254fb79747024ce1e4747237aa36909e3031039fdfede8b315a2ad4b7ab03daf79f067e634336abeb675151e5d9a2950cb7ec13
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,49 +1,41 @@
1
- ## v1.6.0.rc2 [2025-07-16] Lars Kanis <lars@greiz-reinsdorf.de>
1
+ ## v1.6.0 [2025-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
2
2
 
3
3
  Added:
4
4
 
5
5
  - Add binary gems for Ruby 3.4.
6
- - Add fat binary gem for platform `aarch64-mingw-ucrt` aka Windows on ARM [#626](https://github.com/ged/ruby-pg/pull/626), for platform Macos on Intel and ARM [#643](https://github.com/ged/ruby-pg/pull/643) and for platform `aarch64-linux` [#646](https://github.com/ged/ruby-pg/pull/646).
6
+ - Add fat binary gem for platform `aarch64-mingw-ucrt` aka Windows on ARM [#626](https://github.com/ged/ruby-pg/pull/626), for platform Macos on Intel and ARM [#643](https://github.com/ged/ruby-pg/pull/643), for platform `aarch64-linux` [#646](https://github.com/ged/ruby-pg/pull/646) and for platform `x86_64-linux` [#551](https://github.com/ged/ruby-pg/pull/551#issuecomment-2504715762).
7
7
  - Update fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.
8
8
  - Add a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.
9
9
  This patch applies to platform specific binary gems only.
10
10
  [#616](https://github.com/ged/ruby-pg/pull/616)
11
- - Fix missing array input verification in PG::TypeMapByColumn.
12
- This could cause a segfault.
13
- [#620](https://github.com/ged/ruby-pg/pull/620)
11
+ - Add support for new query cancel functions of PostgreSQL-17.
12
+ This adds the new class `PG::CancelConnection` which provides the ability to cancel a query per blocking or per non-blocking functions.
13
+ If the new functions are available they are used and the older are no longer compiled in.
14
+ This way we can get rid of reading out the internal `PGcancel` struct by `Connection#backend_key`.
15
+ [#614](https://github.com/ged/ruby-pg/pull/614)
16
+ - Add PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.
17
+ [#603](https://github.com/ged/ruby-pg/pull/603)
14
18
  - Add possibility to define the number of array dimensions to be encoded.
15
19
  Setting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.
16
20
  [#622](https://github.com/ged/ruby-pg/pull/622)
21
+ - Add Connection#set_chunked_rows_mode [#610](https://github.com/ged/ruby-pg/pull/610)
22
+ - Add PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.
23
+ [#611](https://github.com/ged/ruby-pg/pull/611)
24
+ - Add Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.
25
+ [#612](https://github.com/ged/ruby-pg/pull/612)
17
26
  - Add MINGW package dependency which is resolved by RubyInstaller.
18
27
  [#617](https://github.com/ged/ruby-pg/pull/617)
19
28
  - Change `conn.server_version` and `conn.protocol_version` to raise instead of return 0 on error.
20
29
  [#632](https://github.com/ged/ruby-pg/pull/632)
30
+ - Fix connecting to multiple hosts after `connnect_timeout`.
31
+ [#637](https://github.com/ged/ruby-pg/pull/637)
21
32
  - Fix making PG::BasicTypeMapForQueries shareable for Ractor in ruby-3.5.
22
33
  [#636](https://github.com/ged/ruby-pg/pull/636)
34
+ - Fix missing array input verification in PG::TypeMapByColumn.
35
+ This could cause a segfault.
36
+ [#620](https://github.com/ged/ruby-pg/pull/620)
23
37
  - Rename `History.md` to `CHANGELOG.md`, which is more common.
24
38
  [#642](https://github.com/ged/ruby-pg/pull/642)
25
- - Fix connecting to multiple hosts after `connnect_timeout`.
26
- [#637](https://github.com/ged/ruby-pg/pull/637)
27
-
28
-
29
- ## v1.6.0.rc1 [2024-11-28] Lars Kanis <lars@greiz-reinsdorf.de>
30
-
31
- Added:
32
-
33
- - Add fat binary gem for platform `x86_64-linux`.
34
- [#551](https://github.com/ged/ruby-pg/pull/551#issuecomment-2504715762)
35
- - Add PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.
36
- [#603](https://github.com/ged/ruby-pg/pull/603)
37
- - Add support for new query cancel functions of PostgreSQL-17.
38
- This adds the new class `PG::CancelConnection` which provides the ability to cancel a query per blocking or per non-blocking functions.
39
- If the new functions are available they are used and the older are no longer compiled in.
40
- This way we can get rid of reading out the internal `PGcancel` struct by `Connection#backend_key`.
41
- [#614](https://github.com/ged/ruby-pg/pull/614)
42
- - Add Connection#set_chunked_rows_mode [#610](https://github.com/ged/ruby-pg/pull/610)
43
- - Add PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.
44
- [#611](https://github.com/ged/ruby-pg/pull/611)
45
- - Add Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.
46
- [#612](https://github.com/ged/ruby-pg/pull/612)
47
39
 
48
40
  Removed:
49
41
 
data/lib/pg/connection.rb CHANGED
@@ -763,7 +763,7 @@ class PG::Connection
763
763
  ihosts = iopts[:host]&.split(",", -1)
764
764
  ihostaddrs = iopts[:hostaddr]&.split(",", -1)
765
765
  iports = iopts[:port]&.split(",", -1)
766
- iports = iports * (ihosts || ihostaddrs).size if iports&.size == 1
766
+ iports = iports * (ihosts || ihostaddrs || [1]).size if iports&.size == 1
767
767
 
768
768
  idx = (ihosts || ihostaddrs || iports).index.with_index do |_, i|
769
769
  (ihosts ? ihosts[i] == host : true) &&
@@ -863,7 +863,9 @@ class PG::Connection
863
863
  # - All hosts are resolved before the first connection is tried.
864
864
  # This means that when +load_balance_hosts+ is set to +random+, then all resolved addresses are tried randomly in one level.
865
865
  # When a host resolves to more than one address, it is therefore tried more often than a host that has only one address.
866
- # - When a timeout occurs due to the value of +connect_timeout+, then the given +host+, +hostaddr+ and +port+ combination is not tried a second time, even if it is specified several times.
866
+ # - When a timeout occurs due to the value of +connect_timeout+, then the given +host+, +hostaddr+ and +port+ combination is not tried a second time, even if it's specified several times.
867
+ # It's still possible to do load balancing with +load_balance_hosts+ set to +random+ and to increase the number of connections a node gets, when the hostname is provided multiple times in the host string.
868
+ # This is because in non-timeout cases the host is tried multiple times.
867
869
  #
868
870
  def new(*args)
869
871
  conn = connect_to_hosts(*args)
data/lib/pg/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PG
2
2
  # Library version
3
- VERSION = '1.6.0.rc2'
3
+ VERSION = '1.6.0'
4
4
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.rc2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -33,7 +33,7 @@ cert_chain:
33
33
  DrkJ9tVlPQtJB0LqT0tvBap4upnwT1xYq721b5dwH6AF4Pi6iz/dc5vnq1/MH8bV
34
34
  8VbbBzzeE7MsvgkP3sHlLmY8PtuyViJ8
35
35
  -----END CERTIFICATE-----
36
- date: 2025-07-16 00:00:00.000000000 Z
36
+ date: 2025-07-27 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
39
39
  10 and later.
metadata.gz.sig CHANGED
Binary file