Subject: CVS commit: pkgsrc/databases/ruby-pg
From: Takahiro Kambe
Date: 2023-04-27 15:46:29
Message id: 20230427134629.629AEFA87@cvs.NetBSD.org

Log Message:
databases/ruby-pg: update to 1.5.2

1.5.0 (2023-04-24)

Enhancements:

o Better support for binary format:

  * Extend PG::Connection#copy_data to better support binary transfers #511
  * Add binary COPY encoder and decoder:
    - PG::BinaryEncoder::CopyRow
    - PG::BinaryDecoder::CopyRow
  * Add binary timestamp encoders:
    - PG::BinaryEncoder::TimestampUtc
    - PG::BinaryEncoder::TimestampLocal
    - PG::BinaryEncoder::Timestamp
  * Add PG::BinaryEncoder::Float4 and Float8
  * Add binary date type: #515
    - PG::BinaryEncoder::Date
    - PG::BinaryDecoder::Date
  * Add PG::Result#binary_tuples #511 It is useful for COPY and not
    deprecated in that context.
  * Add PG::TextEncoder::Bytea to BasicTypeRegistry #506

o Ractor support: #519

  * Pg is now fully compatible with Ractor introduced in Ruby-3.0 and
    doesn't use any global mutable state.
  * All type en/decoders and type maps are shareable between ractors if they
    are made frozen by Ractor.make_shareable.
  * Also frozen PG::Result and PG::Tuple objects can be shared.
  * All frozen objects (except PG::Connection) can still be used to do
    communication with the PostgreSQL server or to read retrieved data.
  * PG::Connection is not shareable and must be created within each Ractor
    to establish a dedicated connection.

o Use keyword arguments instead of hashes for Coder initialization and
  #to_h.  #511

o Add PG::Result.res_status as a class method and extend Result#res_status
  to return the status of self.  #508

o Reduce the number of files loaded at require 'pg' by using autoload.  #513
  Previously stdlib libraries date, json, ipaddr and bigdecimal were static
  dependencies, but now only socket is mandatory.

o Improve garbage collector performance by adding write barriers to all PG
  classes.  #518 Now they can be promoted to the old generation, which means
  they only get marked on major GC.

o New method PG::Connection#check_socket to check the socket state. #521

o Mark many internal constants as private. #522

o Update Windows fat binary gem to OpenSSL-3.1.0.

Bugfixes:

o Move nfields-check of stream-methods after result status check #507 This
  ensures that the nfield-check doesn't hide errors like statement timeout.

Removed:

o Remove deprecated PG::BasicTypeRegistry.register_type and co. Part of #519

o Add deprecation warning about PG::Coder initialization per Hash argument.
  #514 It is recommended to use keyword arguments instead.

o The internal encoding cache was removed.  #516 It shouldn't have a
  practical performance impact.

Repository:

o rake test tries to find PostgreSQL server commands by pg_config #503 So
  there's no need to set the PATH manuelly any longer.

1.5.1 (2023-04-24)

o Don't overwrite flags of timestamp coders.  #524 Fixes a regression in
  rails: rails/rails#48049

1.5.2 (2023-04-26)

o Fix regression in copy_data regarding binary format when using no coder.
  #527

Files:
RevisionActionfile
1.39modifypkgsrc/databases/ruby-pg/Makefile
1.21modifypkgsrc/databases/ruby-pg/PLIST
1.34modifypkgsrc/databases/ruby-pg/distinfo