From 91ed68b30f58e016ddcbb6f14c3395322115d464 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Thu, 13 Feb 2025 09:43:22 +0800 Subject: database.go: query_list[T any] --- database.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 database.go (limited to 'database.go') diff --git a/database.go b/database.go new file mode 100644 index 0000000..cf4f4ba --- /dev/null +++ b/database.go @@ -0,0 +1,29 @@ +package main + +import ( + "context" +) + +func query_list[T any](ctx context.Context, query string, args ...any) ([]T, error) { + rows, err := database.Query(ctx, query, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + var result []T + for rows.Next() { + var item T + if err := rows.Scan(&item); err != nil { + return nil, err + } + result = append(result, item) + } + + if err := rows.Err(); err != nil { + return nil, err + } + + return result, nil +} + -- cgit v1.2.3