Skip to content

Commit c1c275b

Browse files
authored
fix: pgx closed batch return pointer if need #1959 (#1960)
1 parent 37e478e commit c1c275b

File tree

19 files changed

+452
-1
lines changed

19 files changed

+452
-1
lines changed

internal/codegen/golang/templates/pgx/batchCode.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func (b *{{.MethodName}}BatchResults) QueryRow(f func(int, {{.Ret.DefineType}},
107107
var {{.Ret.Name}} {{.Ret.Type}}
108108
if b.closed {
109109
if f != nil {
110-
f(t, {{.Ret.Name}}, errors.New("batch already closed"))
110+
f(t, {{if .Ret.IsPointer}}nil{{else}}{{.Ret.Name}}{{end}}, errors.New("batch already closed"))
111111
}
112112
continue
113113
}

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v4/go/batch.go

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v4/go/db.go

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v4/go/models.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v4/go/query.sql.go

Lines changed: 75 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
CREATE TABLE foo (a integer, b integer);
2+
3+
-- name: InsertValues :batchone
4+
INSERT INTO foo (a, b)
5+
VALUES ($1, $2)
6+
ON CONFLICT DO NOTHING
7+
RETURNING *;
8+
9+
-- name: GetOne :one
10+
SELECT * FROM foo WHERE a = ? AND b = ? LIMIT 1;
11+
12+
-- name: GetAll :many
13+
SELECT * FROM foo;
14+
15+
-- name: GetAllAByB :many
16+
SELECT a FROM foo WHERE b = ?;
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"version": "2",
3+
"sql": [
4+
{
5+
"engine": "postgresql",
6+
"schema": "query.sql",
7+
"queries": "query.sql",
8+
"gen": {
9+
"go": {
10+
"package": "querytest",
11+
"sql_package": "pgx/v4",
12+
"out": "go",
13+
"emit_result_struct_pointers": true,
14+
"emit_params_struct_pointers": true
15+
}
16+
}
17+
}
18+
]
19+
}

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v5/go/batch.go

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v5/go/db.go

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/emit_result_and_params_struct_pointers/postgresql/pgx/v5/go/models.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)