Draft
Conversation
beeequeue
commented
Feb 7, 2026
| @@ -1,63 +1,79 @@ | |||
| import pg from "pg"; | |||
| import { type ClientConfig, Client, type QueryResult } from "pg"; | |||
| import * as mutex from "ciorent/mutex"; | |||
Contributor
Author
There was a problem hiding this comment.
ciorent should optimally be bundled instead of dependend on, as the used code from it is only around 150B minified, and the install size is 4kB
im not sure how to configure this with obuild though, im too used to tsdown :^)
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.
this is a wip implementation of my idea described in #202.
it adds a new
acquireConnection()function to databases and connectors that allows users to grab a connection from the connection pool of a connector if it supports it.for connectors that don't it will block other queries until the connection is disposed of, allowing to run transactions without them possibly being disturbed by other queries being ran in between.
to do this i also restructured the types to be based on
Connections, whichConnectorandDatabasethen extend. im not sure if this is the best way to do it, but it made it quite clean code-wise... there are a lot of re-used function definitions between them all.ultimately this pr will have to implement the connection logic for every connector which will make it quite big, but im not sure how to split it up right now...
the branch is currently based on the one from #204 since i need it to build the project :^)
fixes #202
part of work towards #49