diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-14 11:23:26 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-14 11:23:26 +0300 |
| commit | 17efa78e8e60b38e14430f2f89de005e946e8bf2 (patch) | |
| tree | a8b8c76122b32ed570e2926fb266dfb563b136b0 /internal/storage | |
| parent | c19666bd44b938ab2627b0c85935d3877c88b373 (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.go | 6 |
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(): |
