3 INSERT INTO config.upgrade_log (version) VALUES ('0031'); -- miker
5 CREATE OR REPLACE FUNCTION money.materialized_summary_billing_del () RETURNS TRIGGER AS $$
7 prev_billing money.billing%ROWTYPE;
8 old_billing money.billing%ROWTYPE;
10 SELECT * INTO prev_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1 OFFSET 1;
11 SELECT * INTO old_billing FROM money.billing WHERE xact = OLD.xact AND NOT voided ORDER BY billing_ts DESC LIMIT 1;
13 IF OLD.id = old_billing.id THEN
14 UPDATE money.materialized_billable_xact_summary
15 SET last_billing_ts = prev_billing.billing_ts,
16 last_billing_note = prev_billing.note,
17 last_billing_type = prev_billing.billing_type
21 IF NOT OLD.voided THEN
22 UPDATE money.materialized_billable_xact_summary
23 SET total_owed = total_owed - OLD.amount,
24 balance_owed = balance_owed + OLD.amount