From c6d680d0c08f474d76f5acecd6925361e1eb25f0 Mon Sep 17 00:00:00 2001 From: Aykhan Shahsuvarov Date: Wed, 6 Nov 2024 18:19:27 +0400 Subject: [PATCH] pgx.Conn -> pgxpool.Pool --- server/cmd/serve.go | 3 +-- server/go.mod | 2 ++ server/pkg/storage/postgresql/db.go | 10 ++++++---- server/pkg/storage/postgresql/repository/imdb.go | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/server/cmd/serve.go b/server/cmd/serve.go index 9de67eb..b3c7147 100644 --- a/server/cmd/serve.go +++ b/server/cmd/serve.go @@ -1,7 +1,6 @@ package cmd import ( - "context" "fmt" "log" "net/http" @@ -36,7 +35,7 @@ func runServe() error { return err } db, err := postgresql.NewDB(dbURL) - defer db.Close(context.Background()) + defer db.Close() if err != nil { return err } diff --git a/server/go.mod b/server/go.mod index 0045902..4b92ea7 100644 --- a/server/go.mod +++ b/server/go.mod @@ -13,9 +13,11 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect + github.com/jackc/puddle/v2 v2.2.2 // indirect github.com/spf13/pflag v1.0.5 // indirect golang.org/x/crypto v0.27.0 // indirect golang.org/x/net v0.28.0 // indirect + golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.25.0 // indirect golang.org/x/text v0.18.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect diff --git a/server/pkg/storage/postgresql/db.go b/server/pkg/storage/postgresql/db.go index c8bc05d..769690b 100644 --- a/server/pkg/storage/postgresql/db.go +++ b/server/pkg/storage/postgresql/db.go @@ -4,13 +4,15 @@ import ( "context" "fmt" - "github.com/jackc/pgx/v5" + // "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgxpool" ) -func NewDB(dbURL string) (*pgx.Conn, error) { - conn, err := pgx.Connect(context.Background(), dbURL) +func NewDB(dbURL string) (*pgxpool.Pool, error) { + // conn, err := pgx.Connect(context.Background(), dbURL) + dbpool, err := pgxpool.New(context.Background(), dbURL) if err != nil { return nil, fmt.Errorf("failed to connect to database: %w", err) } - return conn, nil + return dbpool, nil } diff --git a/server/pkg/storage/postgresql/repository/imdb.go b/server/pkg/storage/postgresql/repository/imdb.go index 9dea4af..58931bb 100644 --- a/server/pkg/storage/postgresql/repository/imdb.go +++ b/server/pkg/storage/postgresql/repository/imdb.go @@ -4,15 +4,16 @@ import ( "context" "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgxpool" "github.com/aykhans/movier/server/pkg/dto" ) type IMDbRepository struct { - db *pgx.Conn + db *pgxpool.Pool } -func NewIMDbRepository(db *pgx.Conn) *IMDbRepository { +func NewIMDbRepository(db *pgxpool.Pool) *IMDbRepository { return &IMDbRepository{ db: db, }