Add ctime/mtime to payment_variant
This commit is contained in:
@ -612,6 +612,7 @@ CREATE TABLE payment_variant (
|
||||
name TEXT NOT NULL,
|
||||
date TEXT NOT NULL CHECK (date REGEXP '^[1-9][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$') DEFAULT CURRENT_DATE,
|
||||
test_variant INTEGER NOT NULL CHECK (test_variant IN (TRUE, FALSE)),
|
||||
calc_time INTEGER,
|
||||
|
||||
bucket_1_name TEXT DEFAULT NULL,
|
||||
bucket_2_name TEXT DEFAULT NULL,
|
||||
@ -625,6 +626,8 @@ CREATE TABLE payment_variant (
|
||||
|
||||
comment TEXT DEFAULT NULL,
|
||||
data TEXT NOT NULL,
|
||||
ctime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
|
||||
mtime INTEGER NOT NULL DEFAULT (UNIXEPOCH()),
|
||||
|
||||
CONSTRAINT pk_payment PRIMARY KEY (year, avnr)
|
||||
) STRICT;
|
||||
|
@ -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;
|
Reference in New Issue
Block a user