summaryrefslogtreecommitdiff
path: root/connector.go
diff options
context:
space:
mode:
Diffstat (limited to 'connector.go')
-rw-r--r--connector.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/connector.go b/connector.go
index 1914ddb..e24ff61 100644
--- a/connector.go
+++ b/connector.go
@@ -13,16 +13,24 @@ import (
// SingleConnector returns a [pgruntime.Connector] that spawns individual database connections.
func SingleConnector() pgruntime.Connector[*Conn] {
- return func(ctx context.Context, dbURL string) (*Conn, error) {
- conn, err := pgx.Connect(ctx, dbURL)
+ return func(ctx context.Context, target pgruntime.ConnectionTarget) (*Conn, error) {
+ dbURL, err := target.IntoURL()
+ if err != nil {
+ return nil, err
+ }
+ conn, err := pgx.Connect(ctx, dbURL.String())
return maybe(NewConn, conn), err
}
}
// PoolConnector returns a [pgruntime.Connector] that spawns database connection pools.
func PoolConnector() pgruntime.Connector[*Pool] {
- return func(ctx context.Context, dbURL string) (*Pool, error) {
- pool, err := pgxpool.New(ctx, dbURL)
+ return func(ctx context.Context, target pgruntime.ConnectionTarget) (*Pool, error) {
+ dbURL, err := target.IntoURL()
+ if err != nil {
+ return nil, err
+ }
+ pool, err := pgxpool.New(ctx, dbURL.String())
return maybe(NewPool, pool), err
}
}