Repository navigation
v1.0.0-rc.10
Pre-release
Pre-release
Fixed
- The plugin process no longer hangs forever when Tabularis quits while an
RPC is in flight. After stdin EOF (the orphan path — the host is gone),
in-flight RPCs now drain for at most 5s (SHUTDOWN_GRACE), then any
worker still blocked on an unbounded await is force-cancelled via
handle.abort(), which drops the helddeadpool::Objectand closes the
DB socket server-side.tokio-postgres'sconnect_timeoutbounds only
the socket-level connect, not the startup handshake, so it could not
bound the pooler-accepts-but-never-responds case — only this shutdown
deadline covers every hang mode (connect, handshake, query, pool wait)
uniformly (#156, #155).
Added
pooler_modefield inConnectionParamsfor PgBouncer transaction-mode
pooler awareness. When the host declares"transaction"(companion:
tabularis#1126), the plugin skips its ownprepare()call for
column discovery on empty result sets (eliminating the plugin's
named-statement trigger) and rewrites SQLSTATE 26000/42P05 errors
(from tokio-postgres's internaltypeinfo_statementfired by non-builtin
column types — custom enums, composites, extension types) with actionable
guidance pointing tomax_prepared_statements > 0in pgbouncer.ini.
Backward-compatible:pooler_modedefaults toNone— no behavior
change until the host sends the field (#158, #157, tabularis#1097).