Skip to content

v2.0.4 – PgTransaction reflective query parity

Choose a tag to compare

@g2px1 g2px1 released this 09 Nov 19:23
· 72 commits to main since this release

This update restores full parity between PgTransaction and PgPool reflective APIs and stabilizes coroutine-based reflection handling.

Changes & Fixes

  • Restored PgTransaction::query_reflect and PgTransaction::select_reflect interfaces for DML and SELECT operations.
  • Unified reflective CRUD behavior across PgPool, PgTransaction, and PgSubtransaction.
  • Fixed template deduction issues and compiler ICE triggered by coroutine instantiation with aggregates.
  • Improved safety checks for inactive or disconnected transaction connections.
  • Simplified internal parameter forwarding logic to match PgPool’s variadic reflect dispatch.

Behavioral Improvements

  • Transactions and subtransactions now support reflective inserts, updates, and selects with aggregates or tuples directly.
  • All reflective calls behave identically inside or outside explicit transactions.

Impact

Developers can now use the same reflection API consistently across all Pg* contexts, ensuring safer and more predictable transaction workflows.