Skip to content

Commit a52473e

Browse files
committed
replace db.QueryValueOrDefault with QueryValueOr
1 parent 1bd86f3 commit a52473e

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

db/query.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,16 @@ func QueryValue[T any](ctx context.Context, query string, args ...any) (value T,
4545
return value, nil
4646
}
4747

48-
// QueryValueOrDefault queries a single value of type T
49-
// or returns the default zero value of T in case of sql.ErrNoRows.
50-
func QueryValueOrDefault[T any](ctx context.Context, query string, args ...any) (value T, err error) {
51-
err = Conn(ctx).QueryRow(query, args...).Scan(&value)
48+
// QueryValueOr queries a single value of type T
49+
// or returns the passed defaultValue in case of sql.ErrNoRows.
50+
func QueryValueOr[T any](ctx context.Context, defaultValue T, query string, args ...any) (T, error) {
51+
var value T
52+
err := Conn(ctx).QueryRow(query, args...).Scan(&value)
5253
if err != nil {
53-
var zero T
5454
if errors.Is(err, sql.ErrNoRows) {
55-
return zero, nil
55+
return defaultValue, nil
5656
}
57+
var zero T
5758
return zero, err
5859
}
5960
return value, err

0 commit comments

Comments
 (0)