From 1e8a378b54b546ac0a474d39a24c00a195e5d026 Mon Sep 17 00:00:00 2001 From: Joseph Lewis Date: Fri, 17 Jun 2011 15:05:51 -0600 Subject: [PATCH] Cleaned up so it shouldn't ruin the database creation (hopefully). Signed-off-by: Joseph Lewis Signed-off-by: Thomas Berezansky Signed-off-by: Jason Etheridge --- Open-ILS/src/sql/Pg/002.schema.config.sql | 27 +++++++---------------- Open-ILS/src/sql/Pg/005.schema.actors.sql | 18 +++++++++++++++ 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 476cc2ffff..2e032a2b1b 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -924,6 +924,14 @@ CREATE TABLE config.org_unit_setting_type_log ( field_name TEXT REFERENCES config.org_unit_setting_type (name) ); +COMMENT ON TABLE config.org_unit_setting_log IS $$ +Org Unit setting Logs + +This table contains the most recent changes to each setting +in actor.org_unit_setting, allowing for mistakes to be undone. +This is NOT meant to be an auditor, but rather an undo/redo. +$$; + CREATE OR REPLACE FUNCTION limit_oustl() RETURNS TRIGGER AS $oustl_limit$ BEGIN -- Only keeps the most recent five settings changes. @@ -942,24 +950,5 @@ $oustl_limit$ LANGUAGE plpgsql; CREATE TRIGGER limit_logs_oust BEFORE INSERT OR UPDATE ON config.org_unit_setting_type_log FOR EACH ROW EXECUTE PROCEDURE limit_oustl(); - - --- Log each change in oust to oustl, so admins can see what they messed up if someting stops working. -CREATE OR REPLACE FUNCTION ous_change_log() RETURNS TRIGGER AS $ous_change_log$ - DECLARE - original TEXT; - BEGIN - -- Check for which setting is being updated, and log it. - SELECT INTO original value FROM actor.org_unit_setting WHERE name = NEW.name AND org_unit = NEW.org_unit; - - INSERT INTO config.org_unit_setting_type_log (org,original_value,new_value,field_name) VALUES (NEW.org_unit, original, NEW.value, NEW.name); - - RETURN NEW; - END; -$ous_change_log$ LANGUAGE plpgsql; - -CREATE TRIGGER log_ous_change - BEFORE INSERT OR UPDATE ON actor.org_unit_setting - FOR EACH ROW EXECUTE PROCEDURE ous_change_log(); COMMIT; diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql index 4208cd086b..587b785b9e 100644 --- a/Open-ILS/src/sql/Pg/005.schema.actors.sql +++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql @@ -468,6 +468,24 @@ $$; CREATE INDEX actor_org_unit_setting_usr_idx ON actor.org_unit_setting (org_unit); +-- Log each change in oust to oustl, so admins can see what they messed up if someting stops working. +CREATE OR REPLACE FUNCTION ous_change_log() RETURNS TRIGGER AS $ous_change_log$ + DECLARE + original TEXT; + BEGIN + -- Check for which setting is being updated, and log it. + SELECT INTO original value FROM actor.org_unit_setting WHERE name = NEW.name AND org_unit = NEW.org_unit; + + INSERT INTO config.org_unit_setting_type_log (org,original_value,new_value,field_name) VALUES (NEW.org_unit, original, NEW.value, NEW.name); + + RETURN NEW; + END; +$ous_change_log$ LANGUAGE plpgsql; + +CREATE TRIGGER log_ous_change + BEFORE INSERT OR UPDATE ON actor.org_unit_setting + FOR EACH ROW EXECUTE PROCEDURE ous_change_log(); + CREATE TABLE actor.usr_address ( id SERIAL PRIMARY KEY, -- 2.43.2