From e69620be9caf9079b2b942c91fe475fa322722df Mon Sep 17 00:00:00 2001 From: Stefan Negru Date: Tue, 23 Jan 2024 23:39:17 +0200 Subject: [PATCH] retrieve files with status only ready --- internal/database/database.go | 5 ++--- internal/database/database_test.go | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/internal/database/database.go b/internal/database/database.go index 959023b..690db07 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -341,10 +341,9 @@ func (dbs *SQLdb) getDatasetFileInfo(datasetID, filePath string) (*FileInfo, err FROM sda.files f JOIN sda.file_dataset fd ON fd.file_id = f.id JOIN sda.datasets d ON fd.dataset_id = d.id - LEFT JOIN (SELECT file_id, - (ARRAY_AGG(event ORDER BY started_at DESC))[1] AS event + LEFT JOIN (SELECT file_id, event FROM sda.file_event_log - GROUP BY file_id) e + WHERE event = 'ready') e ON f.id = e.file_id LEFT JOIN (SELECT file_id, checksum, type FROM sda.checksums diff --git a/internal/database/database_test.go b/internal/database/database_test.go index c96a859..7f26c72 100644 --- a/internal/database/database_test.go +++ b/internal/database/database_test.go @@ -317,10 +317,9 @@ func TestGetDatasetFileInfo(t *testing.T) { FROM sda.files f JOIN sda.file_dataset fd ON fd.file_id = f.id JOIN sda.datasets d ON fd.dataset_id = d.id - LEFT JOIN \(SELECT file_id, - \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event + LEFT JOIN \(SELECT file_id, event FROM sda.file_event_log - GROUP BY file_id\) e + WHERE event='ready'\) e ON f.id = e.file_id LEFT JOIN \(SELECT file_id, checksum, type FROM sda.checksums @@ -439,7 +438,7 @@ func TestGetFiles(t *testing.T) { FROM sda.files JOIN sda.file_dataset ON file_id = files.id JOIN sda.datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN \(SELECT file_id, \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event FROM sda.file_event_log GROUP BY file_id\) log ON files.id = log.file_id + LEFT JOIN \(SELECT file_id, event FROM sda.file_event_log WHERE event='ready'\) log ON files.id = log.file_id LEFT JOIN \(SELECT file_id, checksum, type FROM sda.checksums WHERE source = 'UNENCRYPTED'\) sha ON files.id = sha.file_id WHERE datasets.stable_id = \$1; `