From: Kathy Lussier Date: Tue, 15 Dec 2015 19:21:12 +0000 (-0500) Subject: LP#1319998 Stamping upgrade script X-Git-Tag: sprint4-merge-nov22~830 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=3e831ace67580c93369c2160761b308f242cc006;p=working%2FEvergreen.git LP#1319998 Stamping upgrade script Signed-off-by: Kathy Lussier --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 31f73c4785..5381cfd43b 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0949', :eg_version); -- csharp/kmlussier/dyrcona +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0950', :eg_version); -- bmagic/kmlussier CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0950.schema.materialized_billing_summary_delete_trigger.sql b/Open-ILS/src/sql/Pg/upgrade/0950.schema.materialized_billing_summary_delete_trigger.sql new file mode 100644 index 0000000000..8ade4bc969 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0950.schema.materialized_billing_summary_delete_trigger.sql @@ -0,0 +1,32 @@ +BEGIN; + +INSERT INTO config.upgrade_log (version) VALUES ('0950'); + +CREATE OR REPLACE FUNCTION money.materialized_summary_billing_del () RETURNS TRIGGER AS $$ +DECLARE + prev_billing money.billing%ROWTYPE; + old_billing money.billing%ROWTYPE; +BEGIN + SELECT * INTO prev_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1 OFFSET 1; + SELECT * INTO old_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1; + + IF OLD.id = old_billing.id THEN + UPDATE money.materialized_billable_xact_summary + SET last_billing_ts = prev_billing.billing_ts, + last_billing_note = prev_billing.note, + last_billing_type = prev_billing.billing_type + WHERE id = OLD.xact; + END IF; + + IF NOT OLD.voided THEN + UPDATE money.materialized_billable_xact_summary + SET total_owed = total_owed - OLD.amount, + balance_owed = balance_owed - OLD.amount + WHERE id = OLD.xact; + END IF; + + RETURN OLD; +END; +$$ LANGUAGE PLPGSQL; + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.materialized_billing_summmary_delete_trigger.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.materialized_billing_summmary_delete_trigger.sql deleted file mode 100644 index 3d1d6217f9..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.materialized_billing_summmary_delete_trigger.sql +++ /dev/null @@ -1,32 +0,0 @@ -BEGIN; - -INSERT INTO config.upgrade_log (version) VALUES ('XXXX'); - -CREATE OR REPLACE FUNCTION money.materialized_summary_billing_del () RETURNS TRIGGER AS $$ -DECLARE - prev_billing money.billing%ROWTYPE; - old_billing money.billing%ROWTYPE; -BEGIN - SELECT * INTO prev_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1 OFFSET 1; - SELECT * INTO old_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1; - - IF OLD.id = old_billing.id THEN - UPDATE money.materialized_billable_xact_summary - SET last_billing_ts = prev_billing.billing_ts, - last_billing_note = prev_billing.note, - last_billing_type = prev_billing.billing_type - WHERE id = OLD.xact; - END IF; - - IF NOT OLD.voided THEN - UPDATE money.materialized_billable_xact_summary - SET total_owed = total_owed - OLD.amount, - balance_owed = balance_owed - OLD.amount - WHERE id = OLD.xact; - END IF; - - RETURN OLD; -END; -$$ LANGUAGE PLPGSQL; - -COMMIT;