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