Skip to content

Commit fcb0bf3

Browse files
committed
Write all field names in a SELECT clause instead of asterisk
1 parent c774895 commit fcb0bf3

6 files changed

Lines changed: 14 additions & 5 deletions

File tree

internal/__snapshots__/TestGenerate_Default_loader_1.snap/author.go.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (l *AuthorLoader) getInnerLoader() *dataloader.Loader[pgtype.UUID, model.Au
5757
func (l *AuthorLoader) findItemsMap(ctx context.Context, keys []pgtype.UUID) (map[pgtype.UUID]model.Author, error) {
5858
res := make(map[pgtype.UUID]model.Author, len(keys))
5959

60-
query := `SELECT * FROM public.authors WHERE id = ANY($1)`
60+
query := `SELECT id, name, status FROM public.authors WHERE id = ANY($1)`
6161
rows, err := l.db.Query(ctx, query, keys)
6262
if err != nil {
6363
return nil, err

internal/__snapshots__/TestGenerate_Loader_With_LRU_Cache_1.snap/author.go.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (l *AuthorLoader) getInnerLoader() *dataloader.Loader[pgtype.UUID, model.Au
6060
func (l *AuthorLoader) findItemsMap(ctx context.Context, keys []pgtype.UUID) (map[pgtype.UUID]model.Author, error) {
6161
res := make(map[pgtype.UUID]model.Author, len(keys))
6262

63-
query := `SELECT * FROM public.authors WHERE id = ANY($1)`
63+
query := `SELECT id, name, status FROM public.authors WHERE id = ANY($1)`
6464
rows, err := l.db.Query(ctx, query, keys)
6565
if err != nil {
6666
return nil, err

internal/__snapshots__/TestGenerate_Loader_with_changed_id_1.snap/author.go.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (l *AuthorLoader) getInnerLoader() *dataloader.Loader[pgtype.Text, model.Au
5757
func (l *AuthorLoader) findItemsMap(ctx context.Context, keys []pgtype.Text) (map[pgtype.Text]model.Author, error) {
5858
res := make(map[pgtype.Text]model.Author, len(keys))
5959

60-
query := `SELECT * FROM public.authors WHERE name = ANY($1)`
60+
query := `SELECT id, name, status FROM public.authors WHERE name = ANY($1)`
6161
rows, err := l.db.Query(ctx, query, keys)
6262
if err != nil {
6363
return nil, err

internal/__snapshots__/TestGenerate_Loader_with_id_of_enum_type_1.snap/author.go.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (l *AuthorLoader) getInnerLoader() *dataloader.Loader[model.Status, model.A
5656
func (l *AuthorLoader) findItemsMap(ctx context.Context, keys []model.Status) (map[model.Status]model.Author, error) {
5757
res := make(map[model.Status]model.Author, len(keys))
5858

59-
query := `SELECT * FROM public.authors WHERE status = ANY($1)`
59+
query := `SELECT id, name, status FROM public.authors WHERE status = ANY($1)`
6060
rows, err := l.db.Query(ctx, query, keys)
6161
if err != nil {
6262
return nil, err

internal/renderer/dataloader.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/sqlc-dev/plugin-sdk-go/plugin"
1212
"github.com/sqlc-dev/plugin-sdk-go/sdk"
1313
"go/format"
14+
"strings"
1415
"text/template"
1516
)
1617

@@ -42,6 +43,14 @@ type LoaderStruct struct {
4243
Cache opts.Cache
4344
}
4445

46+
func (s *LoaderStruct) SqlFieldNamesString() string {
47+
var fields []string
48+
for _, f := range s.Fields() {
49+
fields = append(fields, f.DBName())
50+
}
51+
return strings.Join(fields, ", ")
52+
}
53+
4554
func NewDataLoaderRenderer(
4655
structs []model.Struct,
4756
options *opts.Options,

internal/renderer/templates/dataloader.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
func (l *{{ .Struct.LoaderName }}) findItemsMap(ctx context.Context, keys []{{ .PrimaryKeyFieldType}}) (map[{{ .PrimaryKeyFieldType}}]{{ .Struct.Type.TypeWithPackage }}, error) {
6868
res := make(map[{{ .PrimaryKeyFieldType}}]{{ .Struct.Type.TypeWithPackage }}, len(keys))
6969

70-
query := `SELECT * FROM {{ .Struct.FullTableName }} WHERE {{ .PrimaryKeyColumnName}} = ANY($1)`
70+
query := `SELECT {{ .Struct.SqlFieldNamesString }} FROM {{ .Struct.FullTableName }} WHERE {{ .PrimaryKeyColumnName}} = ANY($1)`
7171
rows, err := l.db.Query(ctx, query, keys)
7272
if err != nil {
7373
return nil, err

0 commit comments

Comments
 (0)