Repository navigation
refactor!: simplify client and pool connection model - #19
Merged
Merged
Conversation
myfreess
force-pushed
the
simplify-archtecture
branch
2 times, most recently
from
August 10, 2026 09:42
37892dd to
84049ab
Compare
myfreess
force-pushed
the
simplify-archtecture
branch
2 times, most recently
from
September 17, 2026 09:04
82d1821 to
13b5f05
Compare
Auto-drive client connections and serialize logical operations. Replace manual pool leases with scoped sessions and direct pool APIs. Internalize prepared statement caching and migrate tests. BREAKING CHANGE: client.connect now accepts a TaskGroup and returns Client directly; public Connection and manual pgpool lease/cache APIs are removed.
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 18, 2026 02:13
13b5f05 to
1dcef19
Compare
Document auto-driven client sessions, serialized logical operations, direct pool APIs, and callback-scoped session affinity.
Pool operation and callback shields can finish successfully while task cancellation is pending. Check cancellation before new work and after leaving protection, including transaction and savepoint auto-commit boundaries. Keep protocol cleanup and rollback protected, and complete already-sent COMMITs according to their server results. Add operation/session boundary tests and PostgreSQL lock-wait regressions for transactions and nested savepoints. Document the cancellation guarantees.
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 18, 2026 08:54
1dcef19 to
6cbe2f5
Compare
Construct the client without network I/O, run its socket driver through a single-use executor, and expose repeatable readiness and completion results. Move detached drains under executor ownership and cover startup, shutdown, and cancellation paths. Keep connect(config, group) as a transition adapter until the pool and integration callers move to the new lifecycle in the following commit.
Construct pools without starting physical connections. Run creation, retirement, and shutdown inside a single-use pool executor that owns the client executors, and migrate integration callers to the explicit lifecycle. Remove the transitional client.connect adapter and bump the package version to 0.1.0. Update pool documentation and coverage for readiness, close, and driver failure. BREAKING CHANGE: Pool::new returns a pool and executor pair; Connector now returns a client and executor pair, and client.connect is removed.
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 18, 2026 10:17
33ffbf5 to
12e62b3
Compare
myfreess
force-pushed
the
simplify-archtecture
branch
5 times, most recently
from
September 21, 2026 03:07
8bed53c to
ce74850
Compare
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 21, 2026 03:14
ce74850 to
a92b601
Compare
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 21, 2026 03:44
16a29e2 to
5b06007
Compare
myfreess
force-pushed
the
simplify-archtecture
branch
from
September 23, 2026 03:49
99a39e6 to
d1d9787
Compare
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.
Auto-drive client connections and serialize logical operations. Replace manual pool leases with scoped sessions and direct pool APIs. Internalize prepared statement caching and migrate tests and documentation.
BREAKING CHANGE: client.connect now accepts a TaskGroup and returns Client directly; public Connection and manual pgpool lease/cache APIs are removed.