work on global rollforward prior to inserting balances

This commit is contained in:
Paul Trowbridge 2018-09-24 16:03:56 -04:00
parent bc239d2a6b
commit 4edd759636

View File

@ -4,8 +4,50 @@ CREATE OR REPLACE FUNCTION evt.gl_insert() RETURNS trigger
LANGUAGE plpgsql LANGUAGE plpgsql
AS AS
$func$ $func$
DECLARE
_lastid ltree;
_lastdur tstzrange;
_newdur tstzrange;
BEGIN BEGIN
--get last global rollforward
SELECT
id
,dur
INTO
_lastid
,_lastdur
FROM
evt.fspr
WHERE
prop @> '{"rf":"global"}'::jsonb
WITH;
WITH WITH
d AS (
SELECT DISTINCT fspr FROM ins
)
SELECT
max(f.dur)
INTO
_newdur
FROM
d
INNER JOIN evt.fspr f ON
f.id = d.id;
IF _newdur > _lastdur THEN
SELECT balrf(_lastdur, _newdur);
UPDATE
tps.fspr
SET
prop = jsonb_set(prop,'{rf}','max')
WHERE
END IF;
agg AS ( agg AS (
SELECT SELECT
acct acct