From e0656b44e39929e8102bdb0e016ee181cab33c98 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Tue, 13 Sep 2016 11:09:39 +0000
Subject: [PATCH] Task #8721: insert scraper visit date upon inserting new dir
 via trigger

---
 .../lib/create_db_ltastorageoverview.sql      | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/LTA/ltastorageoverview/lib/create_db_ltastorageoverview.sql b/LTA/ltastorageoverview/lib/create_db_ltastorageoverview.sql
index ef2b044c969..f039ad4a903 100644
--- a/LTA/ltastorageoverview/lib/create_db_ltastorageoverview.sql
+++ b/LTA/ltastorageoverview/lib/create_db_ltastorageoverview.sql
@@ -443,6 +443,29 @@ CREATE TRIGGER trigger_on_fileinfo_inserted_parse_observation_info
 
 --------------------------------------------------------------------------------
 
+CREATE OR REPLACE FUNCTION lta.on_directory_inserted_add_scraperlast_directory_visit()
+  RETURNS trigger AS
+$BODY$
+DECLARE
+BEGIN
+    --postgres < 9.5 way of doing INSERT...ON CONFLICT DO NOTHING
+    INSERT INTO scraper.last_directory_visit(directory_id, visit_date)
+    (SELECT NEW.id, '1970-01-01' WHERE NOT EXISTS (SELECT id FROM scraper.last_directory_visit WHERE directory_id = NEW.id));
+
+    RETURN NEW;
+END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+
+CREATE TRIGGER trigger_on_directory_inserted_add_scraperlast_directory_visit
+  AFTER INSERT
+  ON lta.directory
+  FOR EACH ROW
+  EXECUTE PROCEDURE lta.on_directory_inserted_add_scraperlast_directory_visit();
+
+--------------------------------------------------------------------------------
+
 CREATE OR REPLACE FUNCTION lta.on_site_deleted_delete_site_directories()
   RETURNS trigger AS
 $BODY$
-- 
GitLab