Add ctime/mtime to payment_variant

This commit is contained in:
2023-07-18 16:47:05 +02:00
parent 7e6e0c0fca
commit d5bacb65ea
3 changed files with 75 additions and 2 deletions

View File

@ -234,3 +234,73 @@ CREATE TRIGGER t_delivery_part_modifier_d_mtime_delivery_part
BEGIN
UPDATE delivery_part SET mtime = UNIXEPOCH() WHERE (year, did, dpnr) = (OLD.year, OLD.did, OLD.dpnr);
END;
----------------------------------------------------------------
CREATE TRIGGER t_payment_variant_i_ctime
AFTER INSERT ON payment_variant FOR EACH ROW
WHEN NEW.ctime != UNIXEPOCH()
BEGIN
UPDATE payment_variant SET ctime = UNIXEPOCH() WHERE (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_variant_u_ctime
BEFORE UPDATE ON payment_variant FOR EACH ROW
WHEN OLD.ctime != NEW.ctime
BEGIN
SELECT RAISE(ABORT, 'It is not allowed to change ctime');
END;
CREATE TRIGGER t_payment_variant_i_mtime
AFTER INSERT ON payment_variant FOR EACH ROW
WHEN NEW.mtime != UNIXEPOCH()
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_variant_u_mtime
AFTER UPDATE ON payment_variant FOR EACH ROW
WHEN NEW.mtime != UNIXEPOCH()
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (NEW.year, NEW.avnr);
END;
----------------------------------------------------------------
CREATE TRIGGER t_payment_delivery_i_mtime_payment_variant
AFTER INSERT ON payment_delivery FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_delivery_u_mtime_payment_variant
AFTER UPDATE ON payment_delivery FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (OLD.year, OLD.avnr) OR (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_delivery_d_mtime_payment_variant
AFTER DELETE ON payment_delivery FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (OLD.year, OLD.avnr);
END;
----------------------------------------------------------------
CREATE TRIGGER t_payment_member_i_mtime_payment_variant
AFTER INSERT ON payment_member FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_member_u_mtime_payment_variant
AFTER UPDATE ON payment_member FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (OLD.year, OLD.avnr) OR (year, avnr) = (NEW.year, NEW.avnr);
END;
CREATE TRIGGER t_payment_member_d_mtime_payment_variant
AFTER DELETE ON payment_member FOR EACH ROW
BEGIN
UPDATE payment_variant SET mtime = UNIXEPOCH() WHERE (year, avnr) = (OLD.year, OLD.avnr);
END;