Skip to content
This repository has been archived by the owner on Jun 28, 2020. It is now read-only.

Update pg: 1.1.3 → 1.2.3 (minor) #127

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Mar 19, 2020

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ pg (1.1.3 → 1.2.3) · Repo · Changelog

Release Notes

1.2.3 (from changelog)

Bugfixes:

  • Fix possible segfault at `PG::Coder#encode`, `decode` or their implicit calls through a typemap after GC.compact. #327

  • Fix possible segfault in `PG::TypeMapByClass` after GC.compact. #328

1.2.2 (from changelog)

Enhancements:

  • Add a binary gem for Ruby 2.7.

1.2.1 (from changelog)

Enhancements:

  • Added internal API for sequel_pg compatibility.

1.2.0 (from changelog)

Repository:

API enhancements:

  • Add PG::Result#field_name_type= and siblings to allow symbols to be used as field names. #306

  • Add new methods for error reporting:

    • PG::Connection#set_error_context_visibility

    • PG::Result#verbose_error_message

    • PG::Result#result_verbose_error_message (alias)

  • Update errorcodes and error classes to PostgreSQL-12.0.

  • New constants: PG_DIAG_SEVERITY_NONLOCALIZED, PQERRORS_SQLSTATE, PQSHOW_CONTEXT_NEVER, PQSHOW_CONTEXT_ERRORS, PQSHOW_CONTEXT_ALWAYS

Type cast enhancements:

  • Add PG::TextEncoder::Record and PG::TextDecoder::Record for en/decoding of Composite Types. #258, #36

  • Add PG::BasicTypeRegistry.register_coder to register instances instead of classes. This is useful to register parametrized en/decoders like PG::TextDecoder::Record .

  • Add PG::BasicTypeMapForQueries#encode_array_as= to switch between various interpretations of ruby arrays.

  • Add Time, Array<Time>, Array<BigDecimal> and Array<IPAddr> encoders to PG::BasicTypeMapForQueries

  • Exchange sprintf based float encoder by very fast own implementation with more natural format. #301

  • Define encode and decode methods only in en/decoders that implement it, so that they can be queried by respond_to? .

  • Improve PG::TypeMapByColumn#inspect

  • Accept Integer and Float as input to TextEncoder::Numeric . #310

Other enhancements:

  • 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. This removes PG::Result.allocate and PG::Result.new, which were callable but without any practical use. #42

  • Make use of PQresultMemorySize() of PostgreSQL-12 and fall back to our internal estimator.

  • Improve performance of PG::Result#stream_each_tuple .

  • 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

  • Update Windows fat binary gem to OpenSSL-1.1.1d and PostgreSQL-12.1.

  • Add support for TruffleRuby. It is regulary tested as part of our CI.

  • Enable frozen_string_literal in all pg's ruby files

Bugfixes:

  • Update the license in gemspec to “BSD-2-Clause”. It was incorrectly labeled “BSD-3-Clause”. #40

  • Respect PG::Coder#flags in PG::Coder#to_h.

  • Fix PG::Result memsize reporting after #clear.

  • Release field names to GC on PG::Result#clear.

  • Fix double free in PG::Result#stream_each_tuple when an exception is raised in the block.

  • Fix PG::Result#stream_each_tuple to deliver typemapped values.

  • Fix encoding of Array<unknown> with PG::BasicTypeMapForQueries

Deprecated:

  • Add a deprecation warning to PG::Connection#socket .

Removed:

  • Remove PG::Connection#guess_result_memsize= which was temporary added in pg-1.1.

  • Remove PG::Result.allocate and PG::Result.new (see enhancements).

  • Remove support of tainted objects. #307

  • Remove support of ruby-2.0 and 2.1. Minimum is ruby-2.2 now.

Documentation:

  • Update description of connection params. See PG::Connection.new

  • Link many method descriptions to corresponding libpq's documentation.

  • Update sync_* and async_* query method descriptions and document the aliases. The primary documentation is now at the async_* methods which are the default since pg-1.1.

  • Fix documentation of many constants

1.1.4 (from changelog)

  • Fix PG::BinaryDecoder::Timestamp on 32 bit systems. # 284

  • Add new error-codes of PostgreSQL-11.

  • Add ruby-2.6 support for Windows fat binary gems and remove ruby-2.0 and 2.1.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Mar 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants