aboutsummaryrefslogtreecommitdiff
path: root/internal/database/database_test.go
diff options
context:
space:
mode:
authorJonathan Amsterdam <jba@google.com>2022-03-04 13:48:07 -0500
committerJonathan Amsterdam <jba@google.com>2022-03-07 15:51:22 +0000
commit2beb68e7d8664b09d87cabe67943dc13b1131207 (patch)
tree048de29f816f1cbd73bac714abbdd2038dc9c49c /internal/database/database_test.go
parent65d33554b34b666d37b22bed7de136b562d5dba8 (diff)
downloadgo-x-pkgsite-2beb68e7d8664b09d87cabe67943dc13b1131207.tar.xz
internal/database: use generics for Collect functions
Reimplement some reflection-based collection functions to use generics. In some cases we still need reflection, but at least we can provide a type-safe wrapper with generics. Change-Id: Id95949a7a22ee687166ecdfc1191150d79568889 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/389657 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Jamal Carvalho <jamal@golang.org>
Diffstat (limited to 'internal/database/database_test.go')
-rw-r--r--internal/database/database_test.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/database/database_test.go b/internal/database/database_test.go
index 2869d5c3..eda36ed0 100644
--- a/internal/database/database_test.go
+++ b/internal/database/database_test.go
@@ -449,8 +449,8 @@ func testTransactSerializable(ctx context.Context, t *testing.T) string {
type row struct {
Class, Value int
}
- var rows []row
- if err := testDB.CollectStructs(ctx, &rows, `SELECT class, value FROM ser ORDER BY id`); err != nil {
+ rows, err := CollectStructs[row](ctx, testDB, `SELECT class, value FROM ser ORDER BY id`)
+ if err != nil {
return err.Error()
}
const initialRows = 4
@@ -568,7 +568,7 @@ func TestCollectStrings(t *testing.T) {
t.Fatal(err)
}
}
- got, err := testDB.CollectStrings(ctx, `SELECT s FROM test_cs`)
+ got, err := Collect1[string](ctx, testDB, `SELECT s FROM test_cs`)
if err != nil {
t.Fatal(err)
}