From 244fc677f4259141c2c5aa005fbcc2d622293895 Mon Sep 17 00:00:00 2001 From: Kaivan Kamali Date: Fri, 28 Aug 2020 16:19:30 -0400 Subject: [PATCH] Initial vesion of SQL statement to get the last usage time of all datasets. --- scripts/objectstore/copy_files_to_irods.py | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/scripts/objectstore/copy_files_to_irods.py b/scripts/objectstore/copy_files_to_irods.py index 64da681029d..c7de7538151 100644 --- a/scripts/objectstore/copy_files_to_irods.py +++ b/scripts/objectstore/copy_files_to_irods.py @@ -90,6 +90,40 @@ def copy_files_to_irods(start_dataset_id, end_dataset_id, object_store_info_file update_sql_statement = """UPDATE dataset SET object_store_id = %s WHERE id = %s""" + + last_accessed_sql_statement = """SELECT iq.dataset_id, MAX(iq.create_time) + FROM (SELECT ds.id as dataset_id, j.create_time + FROM dataset ds + INNER JOIN history_dataset_association hda + ON ds.id = hda.dataset_id + INNER JOIN job_to_input_dataset jtid + ON hda.id = jtid.dataset_id + INNER JOIN job j + ON jtid.job_id = j.id + WHERE ds.state = %s + AND ds.deleted = False + AND ds.purged = False + AND ds.id >= %s + AND ds.id <= %s + AND ds.object_store_id IN %s + UNION + SELECT ds.id as dataset_id, j.create_time + FROM dataset ds + INNER JOIN history_dataset_association hda + ON ds.id = hda.dataset_id + INNER JOIN job_to_output_dataset jtod + ON hda.id = jtod.dataset_id + INNER JOIN job j + ON jtod.job_id = j.id + WHERE ds.state = %s + AND ds.deleted = False + AND ds.purged = False + AND ds.id >= %s + AND ds.id <= %s + AND ds.object_store_id IN %s) AS iq + GROUP BY iq.dataset_id + """ + try: read_cursor = conn.cursor() args = ('ok', start_dataset_id, end_dataset_id, osi_keys)