Restore ERROR detail preservation through error handling - #2361
Merged
Merged
Conversation
Contributor
Author
|
no good deed goes unpunished |
eeeebbbbrrrr
force-pushed
the
pg-rethrow-error-fix
branch
from
July 30, 2026 13:39
1e6d3bc to
cb6f9da
Compare
eeeebbbbrrrr
added a commit
that referenced
this pull request
Jul 30, 2026
Welcome to pgrx v0.19.2. This brings Postgres 19beta2 support, an important fix for retaining ERROR detail messages when a pgrx extension catches and rethrows a Postgres-originated ERROR, more header bindings, and bugfixes. As always run `cargo install cargo-pgrx --version 0.19.2 --locked` and run `cargo pgrx upgrade` to fixup your extension crates. # New Features * support pg19beta2 by @eeeebbbbrrrr in #2362 * make Array<&str> serializable via per-type Serialize impls by @isdaniel in #2322 * Support multiple `cargo pgrx test` filters by @eeeebbbbrrrr in #2345 * implement DatumPass, Element and Scalar for Uuid by @ibotty in #2358 * Safe casting of PgNode values with bindgen tag discovery by @cbandy in #2347 # Bug Fixes and Cleanup * Restore ERROR detail preservation through error handling by @eeeebbbbrrrr in #2361 * Refactor dedup BoxRet + SqlTranslatable boilerplate via existing macros by @isdaniel in #2349 * Add missing unsafe on GUC hook registration by @cbandy in #2348 * fix(pgrx-tests): respect configured PostgreSQL GUCs by @0xPoe in #2337 * fix: make_test_name() now handles filenames with multiple dots by @CyberCabano in #2352 * Fix incorrect mutability in GUC assign hook macro by @cbandy in #2356 # New Headers * Add missing `pg_statistic_ext` includes for pg18 and pg19. by @isdaniel in #2338 * add `catalog/pg_auth_members.h `by @eeeebbbbrrrr in #2340 * Add `utils/datum.h` bindings + generic_agg example by @isdaniel in #2341 * Add `commands/async.h` (LISTEN/NOTIFY) bindings by @isdaniel in #2344 * Add additional executor node headers by @eeeebbbbrrrr in #2353 # Administrative * Serialize env-mutating framework tests to fix flaky Windows CI by @eeeebbbbrrrr in #2342 * Fix `semicolon_in_expressions_from_macros` errors on nightly by @ChronicallyJD in #2360 * Fix docs.rs rustdoc emit flag by @eeeebbbbrrrr in #2363 ## New Contributors * @0xPoe made their first contribution in #2337 * @CyberCabano made their first contribution in #2352 * @ibotty made their first contribution in #2358 **Full Changelog**: v0.19.1...v0.19.2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#2262 was intended to smuggle Rust backtraces into Postgres' ERROR detail line, but the implementation had the unintended side effect of wiping out user/postgres-provided ERROR detail lines, including those generated from pl/pgsql statements.
PR brings our use of
pg_re_throw()back, preserving the actual Postgres ERROR as given, doesn't sneak a backtrace into caught Postgres ERRORs, adds a test around this (now known to be expected) behavior, and tidies up a few comments.