Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.66 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION action.push_circ_due_time () RETURNS TRIGGER AS $$
  2. DECLARE
  3.     tz text;
  4. BEGIN
  5.     IF (EXTRACT(EPOCH FROM NEW.duration)::INT % EXTRACT(EPOCH FROM '1 day'::INTERVAL)::INT) = 0 THEN
  6.         SELECT btrim(VALUE,'"') FROM actor.org_unit_ancestor_setting('global.timezone', NEW.circ_lib) LIMIT 1 INTO tz;
  7.         IF(tz != '') THEN
  8.             NEW.due_date = timezone(tz, NEW.due_date::DATE + '1 day'::INTERVAL - '1 second'::INTERVAL)::TIMESTAMPTZ;
  9.         ELSE
  10.             NEW.due_date = (NEW.due_date::DATE + '1 day'::INTERVAL - '1 second'::INTERVAL)::TIMESTAMPTZ;
  11.         END IF;
  12.     END IF;
  13.  
  14.     RETURN NEW;
  15. END;
  16. $$ LANGUAGE PLPGSQL;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement