diff options
Diffstat (limited to 'connector.go')
| -rw-r--r-- | connector.go | 16 |
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 } } |
