From a13745c84efc3906ff60a642e3d99ea3807602db Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Fri, 10 Sep 2021 12:24:20 +0200
Subject: [PATCH] Updated job start_time and end_time in JobDAO instead of
 relying on job_insert trigger

---
 .../inaf/oats/vospace/persistence/JobDAO.java | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java b/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java
index e2b5236..15da29b 100644
--- a/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java
+++ b/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java
@@ -54,8 +54,22 @@ public class JobDAO {
 
         String sql
                 = "INSERT INTO job(job_id, owner_id, job_type, phase, job_info, transfer_details, "
-                + " results, error_message, error_type, error_has_detail, error_detail) "
-                + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+                + " results, error_message, error_type, error_has_detail, error_detail, start_time, end_time) "
+                + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ";
+
+        switch (jobSummary.getPhase()) {
+            case EXECUTING:
+                sql += "NOW(), NULL)";
+                break;
+            case ERROR:
+            case COMPLETED:
+            case ABORTED:
+                sql += "NOW(), NOW())";
+                break;
+            default:
+                sql += "NULL, NULL)";
+                break;
+        }
 
         jdbcTemplate.update(sql, ps -> {
             int i = 0;
@@ -200,7 +214,7 @@ public class JobDAO {
             }
             sb.append(")");
         }
-        
+
         // Fill conditions on views list
         if (!viewList.isEmpty()) {
             sb.append(" AND (")
@@ -310,7 +324,7 @@ public class JobDAO {
             ps.setString(++i, job.getJobId());
         });
     }
-    
+
     public Transfer getTransferDetails(String jobId) {
 
         String sql = "SELECT transfer_details FROM job WHERE job_id = ?";
-- 
GitLab