Skip to content

Commit e704f1c

Browse files
authored
gen: Add Close method to Queries struct (sqlc-dev#127)
When using prepared queries, generate a method to close all the prepared queries. Fixes sqlc-dev#101
1 parent ea9c62f commit e704f1c

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

internal/dinosql/gen.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,18 @@ func Prepare(ctx context.Context, db dbtx) (*Queries, error) {
743743
return &q, nil
744744
}
745745
746+
func (q *Queries) Close() error {
747+
var err error
748+
{{- range .GoQueries }}
749+
if q.{{.FieldName}} != nil {
750+
if cerr := q.{{.FieldName}}.Close(); cerr != nil {
751+
err = fmt.Errorf("error closing {{.FieldName}}: %w", cerr)
752+
}
753+
}
754+
{{- end}}
755+
return err
756+
}
757+
746758
func (q *Queries) exec(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) (sql.Result, error) {
747759
switch {
748760
case stmt != nil && q.tx != nil:

internal/dinosql/testdata/ondeck/prepared/db.go

Lines changed: 55 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)