add logid to trans as well as foreign key
This commit is contained in:
parent
c6554831a1
commit
8641b286e6
@ -85,7 +85,8 @@ CREATE TABLE tps.trans (
|
|||||||
parse jsonb,
|
parse jsonb,
|
||||||
map jsonb,
|
map jsonb,
|
||||||
allj jsonb,
|
allj jsonb,
|
||||||
ic jsonb
|
ic jsonb,
|
||||||
|
logid INTEGER
|
||||||
);
|
);
|
||||||
COMMENT ON TABLE tps.trans IS 'source records';
|
COMMENT ON TABLE tps.trans IS 'source records';
|
||||||
COMMENT ON COLUMN tps.trans.ic IS 'input constraint value';
|
COMMENT ON COLUMN tps.trans.ic IS 'input constraint value';
|
||||||
@ -151,6 +152,9 @@ ALTER TABLE ONLY tps.map_rv
|
|||||||
ALTER TABLE ONLY tps.trans
|
ALTER TABLE ONLY tps.trans
|
||||||
ADD CONSTRAINT trans_srce_fkey FOREIGN KEY (srce) REFERENCES tps.srce(srce);
|
ADD CONSTRAINT trans_srce_fkey FOREIGN KEY (srce) REFERENCES tps.srce(srce);
|
||||||
|
|
||||||
|
ALTER TABLE ONLY tps.trans
|
||||||
|
ADD CONSTRAINT trans_logid_fkey FOREIGN KEY (logid) REFERENCES tps.trans_log(id);
|
||||||
|
|
||||||
-------------create functions------------------------------------------------------------------------------------------------------------------------
|
-------------create functions------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
-----set source
|
-----set source
|
||||||
@ -969,28 +973,7 @@ BEGIN
|
|||||||
matched_keys
|
matched_keys
|
||||||
)
|
)
|
||||||
|
|
||||||
-----------insert pending rows that have key with no trans match-----------------------------------------------------------------------------------
|
--------build log record-------------------+------------------------------------------------------------------------------------------------
|
||||||
--need to look into mapping the transactions prior to loading
|
|
||||||
|
|
||||||
, inserted AS (
|
|
||||||
INSERT INTO
|
|
||||||
tps.trans (srce, rec, ic)
|
|
||||||
SELECT
|
|
||||||
pl.srce
|
|
||||||
,pl.rec
|
|
||||||
,pl.json_key
|
|
||||||
FROM
|
|
||||||
pending_list pl
|
|
||||||
INNER JOIN unmatched_keys u ON
|
|
||||||
u.json_key = pl.json_key
|
|
||||||
ORDER BY
|
|
||||||
pl.id ASC
|
|
||||||
----this conflict is only if an exact duplicate rec json happens, which will be rejected
|
|
||||||
----therefore, records may not be inserted due to ay matches with certain json fields, or if the entire json is a duplicate, reason is not specified
|
|
||||||
RETURNING *
|
|
||||||
)
|
|
||||||
|
|
||||||
--------summarize records not inserted-------------------+------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
, logged AS (
|
, logged AS (
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
@ -1018,6 +1001,29 @@ BEGIN
|
|||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
|
|
||||||
|
-----------insert pending rows that have key with no trans match-----------------------------------------------------------------------------------
|
||||||
|
--need to look into mapping the transactions prior to loading
|
||||||
|
|
||||||
|
, inserted AS (
|
||||||
|
INSERT INTO
|
||||||
|
tps.trans (srce, rec, ic, logid)
|
||||||
|
SELECT
|
||||||
|
pl.srce
|
||||||
|
,pl.rec
|
||||||
|
,pl.json_key
|
||||||
|
,logged.id
|
||||||
|
FROM
|
||||||
|
pending_list pl
|
||||||
|
INNER JOIN unmatched_keys u ON
|
||||||
|
u.json_key = pl.json_key
|
||||||
|
CROSS JOIN logged
|
||||||
|
ORDER BY
|
||||||
|
pl.id ASC
|
||||||
|
----this conflict is only if an exact duplicate rec json happens, which will be rejected
|
||||||
|
----therefore, records may not be inserted due to ay matches with certain json fields, or if the entire json is a duplicate, reason is not specified
|
||||||
|
RETURNING *
|
||||||
|
)
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
,info
|
,info
|
||||||
|
@ -121,28 +121,7 @@ BEGIN
|
|||||||
matched_keys
|
matched_keys
|
||||||
)
|
)
|
||||||
|
|
||||||
-----------insert pending rows that have key with no trans match-----------------------------------------------------------------------------------
|
--------build log record-------------------+------------------------------------------------------------------------------------------------
|
||||||
--need to look into mapping the transactions prior to loading
|
|
||||||
|
|
||||||
, inserted AS (
|
|
||||||
INSERT INTO
|
|
||||||
tps.trans (srce, rec, ic)
|
|
||||||
SELECT
|
|
||||||
pl.srce
|
|
||||||
,pl.rec
|
|
||||||
,pl.json_key
|
|
||||||
FROM
|
|
||||||
pending_list pl
|
|
||||||
INNER JOIN unmatched_keys u ON
|
|
||||||
u.json_key = pl.json_key
|
|
||||||
ORDER BY
|
|
||||||
pl.id ASC
|
|
||||||
----this conflict is only if an exact duplicate rec json happens, which will be rejected
|
|
||||||
----therefore, records may not be inserted due to ay matches with certain json fields, or if the entire json is a duplicate, reason is not specified
|
|
||||||
RETURNING *
|
|
||||||
)
|
|
||||||
|
|
||||||
--------summarize records not inserted-------------------+------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
, logged AS (
|
, logged AS (
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
@ -170,6 +149,29 @@ BEGIN
|
|||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
|
|
||||||
|
-----------insert pending rows that have key with no trans match-----------------------------------------------------------------------------------
|
||||||
|
--need to look into mapping the transactions prior to loading
|
||||||
|
|
||||||
|
, inserted AS (
|
||||||
|
INSERT INTO
|
||||||
|
tps.trans (srce, rec, ic, logid)
|
||||||
|
SELECT
|
||||||
|
pl.srce
|
||||||
|
,pl.rec
|
||||||
|
,pl.json_key
|
||||||
|
,logged.id
|
||||||
|
FROM
|
||||||
|
pending_list pl
|
||||||
|
INNER JOIN unmatched_keys u ON
|
||||||
|
u.json_key = pl.json_key
|
||||||
|
CROSS JOIN logged
|
||||||
|
ORDER BY
|
||||||
|
pl.id ASC
|
||||||
|
----this conflict is only if an exact duplicate rec json happens, which will be rejected
|
||||||
|
----therefore, records may not be inserted due to ay matches with certain json fields, or if the entire json is a duplicate, reason is not specified
|
||||||
|
RETURNING *
|
||||||
|
)
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
,info
|
,info
|
||||||
|
Loading…
Reference in New Issue
Block a user