File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed
Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -142,6 +142,9 @@ func (i *importer) dbImports() fileImports {
142142 pkg = append (pkg , ImportSpec {Path : "github.com/jackc/pgx/v5" })
143143 if len (i .CompositeTypes ) > 0 {
144144 pkg = append (pkg , ImportSpec {Path : "github.com/jackc/pgx/v5/pgtype" })
145+ if ! i .Options .EmitMethodsWithDbArgument {
146+ pkg = append (pkg , ImportSpec {Path : "fmt" })
147+ }
145148 }
146149 default :
147150 std = append (std , ImportSpec {Path : "database/sql" })
Original file line number Diff line number Diff line change @@ -10,6 +10,10 @@ type DBTX interface {
1010{{- if .UsesBatch }}
1111 SendBatch(context.Context , *pgx.Batch ) pgx.BatchResults
1212{{- end }}
13+ }
14+
15+ type DB interface {
16+ DBTX
1317{{- if gt (len .CompositeTypes ) 0 }}
1418 LoadTypes(ctx context.Context , typeNames []string) ([]*pgtype.Type , error)
1519 TypeMap() *pgtype.Map
@@ -20,7 +24,7 @@ type DBTX interface {
2024func New() *Queries {
2125 return &Queries{}
2226{{- else -}}
23- func New(db DBTX ) *Queries {
27+ func New(db DB ) *Queries {
2428 return &Queries{db: db}
2529{{- end }}
2630}
@@ -34,13 +38,17 @@ type Queries struct {
3438{{if gt (len .CompositeTypes ) 0}}
3539{{if not .EmitMethodsWithDBArgument }}
3640func (q *Queries) RegisterTypes(ctx context.Context ) error {
37- db := q.db
41+ db, ok := q.db. (DB)
42+ if !ok {
43+ return fmt.Errorf (" cannot register types with a transaction object" )
44+ }
3845{{else }}
39- func (q *Queries) RegisterTypes(ctx context.Context , db *Queries ) error {
46+ func (q *Queries) RegisterTypes(ctx context.Context , db DB ) error {
4047{{end }}
4148 typeNames := []string{
4249 {{- range .CompositeTypes }}
4350 " {{.SQLName}}" ,
51+ " _{{.SQLName}}" ,
4452 {{- end }}
4553 }
4654 dataTypes, err := db.LoadTypes (ctx, typeNames)
You can’t perform that action at this time.
0 commit comments