diff --git a/internal/database/blob_chunks.go b/internal/database/blob_chunks.go index 0a009c9..64d99b0 100644 --- a/internal/database/blob_chunks.go +++ b/internal/database/blob_chunks.go @@ -57,7 +57,13 @@ func (r *BlobChunkRepository) GetByBlobID( if err != nil { return nil, fmt.Errorf("querying blob chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var blobChunks []*BlobChunk diff --git a/internal/database/blobs.go b/internal/database/blobs.go index 0acd4cd..50c9862 100644 --- a/internal/database/blobs.go +++ b/internal/database/blobs.go @@ -82,7 +82,13 @@ func (r *BlobRepository) GetAll(ctx context.Context) (map[string]*Blob, error) { if err != nil { return nil, fmt.Errorf("querying blobs: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() out := make(map[string]*Blob) diff --git a/internal/database/chunk_files.go b/internal/database/chunk_files.go index f6b00bd..308af59 100644 --- a/internal/database/chunk_files.go +++ b/internal/database/chunk_files.go @@ -60,7 +60,13 @@ func (r *ChunkFileRepository) GetByChunkHash( if err != nil { return nil, fmt.Errorf("querying chunk files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanChunkFiles(rows) } @@ -80,7 +86,13 @@ func (r *ChunkFileRepository) GetByFilePath( if err != nil { return nil, fmt.Errorf("querying chunk files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanChunkFiles(rows) } @@ -99,7 +111,13 @@ func (r *ChunkFileRepository) GetByFileID( if err != nil { return nil, fmt.Errorf("querying chunk files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanChunkFiles(rows) } diff --git a/internal/database/chunks.go b/internal/database/chunks.go index dbd0c74..833c1aa 100644 --- a/internal/database/chunks.go +++ b/internal/database/chunks.go @@ -106,7 +106,13 @@ func (r *ChunkRepository) GetByHashes( if err != nil { return nil, fmt.Errorf("querying chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var chunks []*Chunk @@ -145,7 +151,13 @@ func (r *ChunkRepository) ListUnpacked( if err != nil { return nil, fmt.Errorf("querying unpacked chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var chunks []*Chunk diff --git a/internal/database/chunks_ext.go b/internal/database/chunks_ext.go index fee4030..4724acc 100644 --- a/internal/database/chunks_ext.go +++ b/internal/database/chunks_ext.go @@ -17,7 +17,13 @@ func (r *ChunkRepository) List(ctx context.Context) ([]*Chunk, error) { if err != nil { return nil, fmt.Errorf("querying chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var chunks []*Chunk diff --git a/internal/database/errors.go b/internal/database/errors.go index 860c23f..49492bd 100644 --- a/internal/database/errors.go +++ b/internal/database/errors.go @@ -1,7 +1,6 @@ package database import ( - "database/sql" "fmt" "os" ) @@ -11,11 +10,3 @@ func Fatalf(format string, args ...any) { fmt.Fprintf(os.Stderr, "FATAL: "+format+"\n", args...) os.Exit(1) } - -// CloseRows closes rows and exits on error -func CloseRows(rows *sql.Rows) { - err := rows.Close() - if err != nil { - Fatalf("failed to close rows: %v", err) - } -} diff --git a/internal/database/file_chunks.go b/internal/database/file_chunks.go index 11711f7..04388d7 100644 --- a/internal/database/file_chunks.go +++ b/internal/database/file_chunks.go @@ -61,7 +61,13 @@ func (r *FileChunkRepository) GetByPath( if err != nil { return nil, fmt.Errorf("querying file chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanFileChunks(rows) } @@ -81,7 +87,13 @@ func (r *FileChunkRepository) GetByFileID( if err != nil { return nil, fmt.Errorf("querying file chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanFileChunks(rows) } @@ -104,7 +116,13 @@ func (r *FileChunkRepository) GetByPathTx( if err != nil { return nil, fmt.Errorf("querying file chunks: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() fileChunks, err := r.scanFileChunks(rows) LogSQL("GetByPathTx", "Complete", path, "count", len(fileChunks)) diff --git a/internal/database/files.go b/internal/database/files.go index 4beb5d6..8fd69e7 100644 --- a/internal/database/files.go +++ b/internal/database/files.go @@ -168,7 +168,13 @@ func (r *FileRepository) ListModifiedSince( if err != nil { return nil, fmt.Errorf("querying files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var files []*File @@ -238,7 +244,13 @@ func (r *FileRepository) ListByPrefix( if err != nil { return nil, fmt.Errorf("querying files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var files []*File @@ -266,7 +278,13 @@ func (r *FileRepository) ListAll(ctx context.Context) ([]*File, error) { if err != nil { return nil, fmt.Errorf("querying files: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var files []*File diff --git a/internal/database/snapshots.go b/internal/database/snapshots.go index 7bc550a..715ab78 100644 --- a/internal/database/snapshots.go +++ b/internal/database/snapshots.go @@ -223,7 +223,13 @@ func (r *SnapshotRepository) ListRecent( if err != nil { return nil, fmt.Errorf("querying snapshots: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanSnapshotRows(rows) } @@ -437,7 +443,13 @@ func (r *SnapshotRepository) GetBlobHashes( if err != nil { return nil, fmt.Errorf("querying blob hashes: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var blobs []string @@ -561,7 +573,13 @@ func (r *SnapshotRepository) GetIncompleteSnapshots( if err != nil { return nil, fmt.Errorf("querying incomplete snapshots: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() return r.scanSnapshotRows(rows) } @@ -583,7 +601,13 @@ func (r *SnapshotRepository) GetIncompleteByHostname( if err != nil { return nil, fmt.Errorf("querying incomplete snapshots: %w", err) } - defer CloseRows(rows) + + defer func() { + err := rows.Close() + if err != nil { + Fatalf("failed to close rows: %v", err) + } + }() var snapshots []*Snapshot