Skip to content

Commit 61f3bf0

Browse files
committed
Add BeginTX func
1 parent 7700b5a commit 61f3bf0

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{{define "dbCodeTemplatePgx"}}
22

33
type DBTX interface {
4+
Begin(ctx context.Context) (pgx.Tx, error)
45
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
56
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
67
QueryRow(context.Context, string, ...interface{}) pgx.Row
@@ -34,4 +35,22 @@ func (q *Queries) WithTx(tx pgx.Tx) *Queries {
3435
}
3536
}
3637
{{end}}
38+
39+
{{if not .EmitMethodsWithDBArgument}}
40+
func (q *Queries) BeginTX(ctx context.Context) (*generated.Queries, func(*error) error, error) {
41+
tx, err := q.beginer.Begin(ctx)
42+
if err != nil {
43+
return nil, nil, err
44+
}
45+
return q.WithTx(tx), func(e *error) error {
46+
if e != nil {
47+
if err1 := tx.Rollback(ctx); err1 != nil {
48+
log.Printf("rollback:%v", err1)
49+
}
50+
}
51+
return tx.Commit(ctx)
52+
}, nil
53+
}
54+
{{end}}
55+
3756
{{end}}

0 commit comments

Comments
 (0)