From 0af131e8511b67dfe2f4507fc11d1ccefe94a694 Mon Sep 17 00:00:00 2001 From: Kyle Conroy Date: Mon, 31 Mar 2025 21:11:36 -0700 Subject: [PATCH] fix(pgx): Do not wrap nil error --- internal/codegen/golang/templates/pgx/queryCode.tmpl | 9 ++++++++- .../testdata/wrap_errors/postgresql/pgx/db/query.sql.go | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/codegen/golang/templates/pgx/queryCode.tmpl b/internal/codegen/golang/templates/pgx/queryCode.tmpl index fb43db46aa..59a88c880a 100644 --- a/internal/codegen/golang/templates/pgx/queryCode.tmpl +++ b/internal/codegen/golang/templates/pgx/queryCode.tmpl @@ -89,7 +89,14 @@ func (q *Queries) {{.MethodName}}(ctx context.Context, db DBTX, {{.Arg.Pair}}) e func (q *Queries) {{.MethodName}}(ctx context.Context, {{.Arg.Pair}}) error { _, err := q.db.Exec(ctx, {{.ConstantName}}, {{.Arg.Params}}) {{- end}} - return {{if $.WrapErrors}}fmt.Errorf("query {{.MethodName}}: %w", err){{else}}err{{end}} + {{- if $.WrapErrors }} + if err != nil { + return fmt.Errorf("query {{.MethodName}}: %w", err) + } + return nil + {{- else }} + return err + {{- end }} } {{end}} diff --git a/internal/endtoend/testdata/wrap_errors/postgresql/pgx/db/query.sql.go b/internal/endtoend/testdata/wrap_errors/postgresql/pgx/db/query.sql.go index 3da47fd614..fa8c929bc5 100644 --- a/internal/endtoend/testdata/wrap_errors/postgresql/pgx/db/query.sql.go +++ b/internal/endtoend/testdata/wrap_errors/postgresql/pgx/db/query.sql.go @@ -44,7 +44,10 @@ WHERE id = $1 func (q *Queries) DeleteAuthorExec(ctx context.Context, id int64) error { _, err := q.db.Exec(ctx, deleteAuthorExec, id) - return fmt.Errorf("query DeleteAuthorExec: %w", err) + if err != nil { + return fmt.Errorf("query DeleteAuthorExec: %w", err) + } + return nil } const deleteAuthorExecLastID = `-- name: DeleteAuthorExecLastID :execlastid