From 9f2d3a1d900684596cc0375cca22d8483eed2623 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Wed, 8 Aug 2012 11:42:41 -0400 Subject: [PATCH] Add ON INSERT trigger to parse the URL as it is added Signed-off-by: Mike Rylander --- Open-ILS/src/sql/Pg/076.functions.url_verify.sql | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Open-ILS/src/sql/Pg/076.functions.url_verify.sql b/Open-ILS/src/sql/Pg/076.functions.url_verify.sql index 056cde3341..23dedab0ab 100644 --- a/Open-ILS/src/sql/Pg/076.functions.url_verify.sql +++ b/Open-ILS/src/sql/Pg/076.functions.url_verify.sql @@ -34,5 +34,31 @@ return \%parts; $$ LANGUAGE PLPERLU; +CREATE OR REPLACE FUNCTION url_verify.ingest_url () RETURNS TRIGGER AS $$ +DECLARE + tmp_row url_verify.url%ROWTYPE; +BEGIN + SELECT * INTO tmp_row FROM url_verify.parse_url(NEW.full_url); + + NEW.scheme := tmp_row.scheme; + NEW.username := tmp_row.username; + NEW.password := tmp_row.password; + NEW.host := tmp_row.host; + NEW.domain := tmp_row.domain; + NEW.tld := tmp_row.tld; + NEW.port := tmp_row.port; + NEW.path := tmp_row.path; + NEW.page := tmp_row.page; + NEW.query := tmp_row.query; + NEW.fragment := tmp_row.fragment; + + RETURN NEW; +END; +$$ LANGUAGE PLPGSQL; + +CREATE TRIGGER ingest_url_tgr + BEFORE INSERT ON url_verify.url + FOR EACH ROW EXECUTE PROCEDURE url_verify.ingest_url(); + COMMIT; -- 2.11.0