]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0073.schema.day-granular-circ-due-time.sql
Stamping upgrade for relaxing rank_ou sorting
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0073.schema.day-granular-circ-due-time.sql
1 -- Already exists as far back as 1.6.0.0, so don't use this in version upgrades
2
3 BEGIN;
4
5 INSERT INTO config.upgrade_log (version) VALUES ('0073');
6
7 CREATE OR REPLACE FUNCTION action.push_circ_due_time () RETURNS TRIGGER AS $$
8 BEGIN
9     IF (EXTRACT(EPOCH FROM NEW.duration)::INT % EXTRACT(EPOCH FROM '1 day'::INTERVAL)::INT) = 0 THEN
10         NEW.due_date = (NEW.due_date::DATE + '1 day'::INTERVAL - '1 second'::INTERVAL)::TIMESTAMPTZ;
11     END IF;
12
13     RETURN NEW;
14 END;
15 $$ LANGUAGE PLPGSQL;
16
17 CREATE TRIGGER push_due_date_tgr BEFORE INSERT ON action.circulation FOR EACH ROW EXECUTE PROCEDURE action.push_circ_due_time();
18
19 COMMIT;
20