summaryrefslogtreecommitdiff
path: root/internal/storage
diff options
context:
space:
mode:
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():