summaryrefslogtreecommitdiff
path: root/internal/storage
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-14 11:23:26 +0300
committerPaul Buetow <paul@buetow.org>2026-04-14 11:23:26 +0300
commit17efa78e8e60b38e14430f2f89de005e946e8bf2 (patch)
treea8b8c76122b32ed570e2926fb266dfb563b136b0 /internal/storage
parentc19666bd44b938ab2627b0c85935d3877c88b373 (diff)
fix: shadowing, version.Tag, prealloc LoadRecords (ask 54)
- CreateKey: avoid shadowing named return err on rand.Read - daemon Run: rename slog logger to slogLog vs stdlib log package - version: rename Version to Tag to avoid version.Version stutter - LoadRecords: COUNT(*) then make slice with capacity Made-with: Cursor
Diffstat (limited to 'internal/storage')
-rw-r--r--internal/storage/db.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/internal/storage/db.go b/internal/storage/db.go
index 45eb71a..03ffd08 100644
--- a/internal/storage/db.go
+++ b/internal/storage/db.go
@@ -98,12 +98,16 @@ func ImportFromFS(ctx context.Context, db *sql.DB, fsys fs.FS) error {
}
func LoadRecords(ctx context.Context, db *sql.DB) ([]Record, error) {
+ var n int
+ if err := db.QueryRowContext(ctx, "SELECT COUNT(*) FROM record").Scan(&n); err != nil {
+ return nil, fmt.Errorf("count records: %w", err)
+ }
rows, err := db.QueryContext(ctx, "SELECT host, uptime_sec, boot_time, os, os_kernel_name, os_kernel_major FROM record ORDER BY host, boot_time")
if err != nil {
return nil, fmt.Errorf("query: %w", err)
}
defer rows.Close()
- var out []Record
+ out := make([]Record, 0, n)
for rows.Next() {
select {
case <-ctx.Done():