Vat heal (#56)
* VatHeal Converter * Add VatHeal repository * Add VatHeal transformer * Add VatHeal to continuousLogSync command * Mark vat_init_checked as true when creating vat init records * Update urn and v converting * Return error if Repository.MarkCheckedHeader fails * Add deleting vat heal from test cleanup method
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
DROP TABLE maker.vat_heal;
|
||||
ALTER TABLE public.checked_headers
|
||||
DROP COLUMN vat_heal_checked BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE maker.vat_heal (
|
||||
id SERIAL PRIMARY KEY,
|
||||
header_id INTEGER NOT NULL REFERENCES headers (id) ON DELETE CASCADE,
|
||||
urn varchar,
|
||||
v varchar,
|
||||
rad int,
|
||||
tx_idx INTEGER NOT NULL,
|
||||
raw_log JSONB,
|
||||
UNIQUE (header_id, tx_idx)
|
||||
);
|
||||
|
||||
ALTER TABLE public.checked_headers
|
||||
ADD COLUMN vat_heal_checked BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
@@ -0,0 +1,4 @@
|
||||
DROP TYPE ilkObject CASCADE;
|
||||
DROP TYPE frobObject CASCADE;
|
||||
DROP TYPE biteObject CASCADE;
|
||||
DROP TYPE customUrn CASCADE;
|
||||
@@ -0,0 +1,172 @@
|
||||
-- ALTER TABLE maker.bite
|
||||
-- ALTER COLUMN ink SET DATA TYPE numeric USING ink::numeric,
|
||||
-- ALTER COLUMN art SET DATA TYPE numeric USING art::numeric;
|
||||
--
|
||||
-- CREATE VIEW maker.urn AS (
|
||||
-- WITH urn_state AS (
|
||||
-- SELECT
|
||||
-- ilk, --text
|
||||
-- urn, -- text
|
||||
-- ink, -- numeric
|
||||
-- art, -- numeric`
|
||||
-- dink, -- numeric
|
||||
-- dart, -- numeric
|
||||
-- tx_idx
|
||||
-- FROM maker.frob
|
||||
-- UNION ALL
|
||||
-- SELECT
|
||||
-- ilk, -- text
|
||||
-- urn, -- text
|
||||
-- ink, -- varchar
|
||||
-- art, -- varchar
|
||||
-- 0 AS dink,
|
||||
-- 0 AS dart,
|
||||
-- tx_idx
|
||||
-- FROM maker.bite
|
||||
-- ORDER BY tx_idx DESC
|
||||
-- )
|
||||
-- SELECT DISTINCT ON (urn, ilk)
|
||||
-- urn_state.ilk,
|
||||
-- -- us.ilk, --SELECT the ilk record FROM the ilk view
|
||||
-- urn_state.art,
|
||||
-- urn_state.ink,
|
||||
-- urn_state.dink,
|
||||
-- urn_state.dart,
|
||||
-- urn_state.urn,
|
||||
-- urn_state.tx_idx
|
||||
-- -- urn_state.frobs,
|
||||
-- -- urn_state.bites,
|
||||
--
|
||||
-- FROM urn_state
|
||||
-- -- ORDER BY id, block DESC, TIME DESC
|
||||
-- );
|
||||
--
|
||||
-- ------------------------
|
||||
--
|
||||
--
|
||||
-- --creating ilk view, and records to populate urns and ilk
|
||||
--
|
||||
-- create view maker.ilk as (
|
||||
-- select distinct on (id)
|
||||
-- maker.vat_init.ilk as id,
|
||||
-- maker.cat_file_chop_lump.data as chop,
|
||||
-- maker.cat_file_chop_lump.data as lump,
|
||||
-- maker.cat_file_flip.flip,
|
||||
-- maker.drip_file_ilk.vow,
|
||||
-- maker.drip_file_ilk.tax
|
||||
-- from maker.vat_init
|
||||
--
|
||||
-- join maker.cat_file_chop_lump on maker.cat_file_chop_lump.ilk = maker.vat_init.ilk
|
||||
-- join maker.cat_file_flip on maker.cat_file_flip.ilk = maker.vat_init.ilk
|
||||
-- join maker.drip_file_ilk on maker.drip_file_ilk.ilk = maker.vat_init.ilk
|
||||
-- );
|
||||
--
|
||||
-- insert into headers (block_number) values(1);
|
||||
-- insert into maker.cat_file_chop_lump (header_id, ilk, what, data, tx_idx) values(1, 'fake ilk', 'lump', 1, 0);
|
||||
-- insert into maker.vat_init (header_id, ilk, tx_idx) values(1, 'fake ilk', 1);
|
||||
-- insert into maker.vat_init (header_id, ilk, tx_idx) values(1, 'another fake ilk', 2);
|
||||
-- insert into maker.frob (header_id, ilk, urn, dink, dart, ink, art, iart, tx_idx) values(1, 'fake ilk', 'urn1', 1, 2, 3, 4, 5, 2);
|
||||
-- insert into maker.frob (header_id, ilk, urn, dink, dart, ink, art, iart, tx_idx) values(1, 'another fake ilk', 'urn1', 1, 2, 3, 4, 5, 3);
|
||||
-- insert into maker.bite (header_id, ilk, urn, ink, art, iart, tab, flip, tx_idx) values(1, 'another fake ilk', 'urn1', 1, 2, 3, 4, '5', 4);
|
||||
-- insert into maker.bite (header_id, ilk, urn, ink, art, iart, tab, flip, tx_idx) values(1, 'fake ilk', 'urn1', 1, 2, 3, 4, '5', 8);
|
||||
--
|
||||
-- insert into maker.cat_file_chop_lump (header_id, ilk, what, data, tx_idx) values (1, 'fake ilk', 'lump', 1, 5);
|
||||
-- insert into maker.cat_file_flip (header_id, ilk, flip, tx_idx) values (1, 'fake ilk', 3, 6);
|
||||
-- insert into maker.drip_file_ilk (header_id, ilk, vow, tax, tx_idx) values (1, 'fake ilk', 5, 6, 7);
|
||||
-- -----------------------------------
|
||||
-- CREATE TYPE ilkObject AS ( --this will need to change depending on what the actual Ilk view looks like
|
||||
-- ilkId text,
|
||||
-- chop numeric,
|
||||
-- lump numeric,
|
||||
-- tax numeric
|
||||
-- );
|
||||
--
|
||||
-- CREATE OR REPLACE FUNCTION get_ilk ()
|
||||
-- RETURNS ilkObject AS
|
||||
-- $$
|
||||
-- SELECT
|
||||
-- id AS ilkId,
|
||||
-- chop,
|
||||
-- lump,
|
||||
-- tax
|
||||
-- FROM
|
||||
-- maker.ilk
|
||||
-- LIMIT 1;
|
||||
-- $$
|
||||
-- LANGUAGE SQL STABLE;
|
||||
--
|
||||
-- -----------------------------------
|
||||
-- CREATE TYPE frobObject AS (
|
||||
-- dink numeric
|
||||
-- );
|
||||
--
|
||||
-- -----------------------------------
|
||||
-- CREATE OR REPLACE FUNCTION get_frobs() RETURNS SETOF frobObject AS $$
|
||||
-- SELECT
|
||||
-- dink
|
||||
-- FROM
|
||||
-- maker.frob
|
||||
-- $$
|
||||
-- LANGUAGE SQL STABLE;
|
||||
--
|
||||
-- -----------------------------------
|
||||
-- CREATE TYPE biteObject AS (
|
||||
-- id integer,
|
||||
-- header_id integer,
|
||||
-- ilk text,
|
||||
-- ink numeric
|
||||
-- );
|
||||
--
|
||||
-- CREATE OR REPLACE FUNCTION get_bites() RETURNS SETOF biteObject AS $$
|
||||
-- SELECT
|
||||
-- id,
|
||||
-- header_id,
|
||||
-- ilk,
|
||||
-- ink
|
||||
-- FROM
|
||||
-- maker.bite
|
||||
-- $$
|
||||
-- LANGUAGE SQL STABLE;
|
||||
--
|
||||
-- -- -----------------------------------
|
||||
-- -- CREATE TYPE customUrn AS (
|
||||
-- -- ilkName text,
|
||||
-- -- art numeric,
|
||||
-- -- ink numeric,
|
||||
-- -- urn text,
|
||||
-- -- ilkObj ilkObject,
|
||||
-- -- frobs frobObject,
|
||||
-- -- bites biteObject
|
||||
-- -- );
|
||||
-- --
|
||||
-- -- -----------------------------------
|
||||
-- -- CREATE FUNCTION get_urn () RETURNS customUrn AS $$
|
||||
-- -- DECLARE result customUrn;
|
||||
-- -- BEGIN
|
||||
-- -- WITH u AS (
|
||||
-- -- SELECT * FROM maker.urn
|
||||
-- -- ),
|
||||
-- -- i AS (
|
||||
-- -- SELECT * FROM get_ilk() LIMIT 1
|
||||
-- -- ),
|
||||
-- -- f AS (
|
||||
-- -- SELECT * FROM get_frobs()
|
||||
-- -- ),
|
||||
-- -- b AS (
|
||||
-- -- SELECT * from get_bites()
|
||||
-- -- )
|
||||
-- --
|
||||
-- -- SELECT
|
||||
-- -- u.ilk::text AS ilkName,
|
||||
-- -- u.art::numeric AS art,
|
||||
-- -- u.ink::numeric AS ink,
|
||||
-- -- u.urn::text AS urn,
|
||||
-- -- i AS ilkObj,
|
||||
-- -- f AS frobs,
|
||||
-- -- b AS bites
|
||||
-- -- FROM u, i, f, b
|
||||
-- -- into result;
|
||||
-- --
|
||||
-- -- RETURN result;
|
||||
-- -- END;
|
||||
-- -- $$ LANGUAGE plpgsql STABLE;
|
||||
@@ -770,6 +770,41 @@ CREATE SEQUENCE maker.vat_grab_id_seq
|
||||
ALTER SEQUENCE maker.vat_grab_id_seq OWNED BY maker.vat_grab.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal; Type: TABLE; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE maker.vat_heal (
|
||||
id integer NOT NULL,
|
||||
header_id integer NOT NULL,
|
||||
urn character varying,
|
||||
v character varying,
|
||||
rad integer,
|
||||
tx_idx integer NOT NULL,
|
||||
raw_log jsonb
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal_id_seq; Type: SEQUENCE; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
CREATE SEQUENCE maker.vat_heal_id_seq
|
||||
AS integer
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal_id_seq; Type: SEQUENCE OWNED BY; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE maker.vat_heal_id_seq OWNED BY maker.vat_heal.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_init; Type: TABLE; Schema: maker; Owner: -
|
||||
--
|
||||
@@ -978,6 +1013,7 @@ CREATE TABLE public.checked_headers (
|
||||
pit_file_stability_fee_checked boolean DEFAULT false NOT NULL,
|
||||
vat_init_checked boolean DEFAULT false NOT NULL,
|
||||
vat_fold_checked boolean DEFAULT false NOT NULL,
|
||||
vat_heal_checked boolean DEFAULT false NOT NULL,
|
||||
vat_toll_checked boolean DEFAULT false NOT NULL,
|
||||
vat_tune_checked boolean DEFAULT false NOT NULL,
|
||||
vat_grab_checked boolean DEFAULT false NOT NULL
|
||||
@@ -1441,6 +1477,13 @@ ALTER TABLE ONLY maker.vat_fold ALTER COLUMN id SET DEFAULT nextval('maker.vat_f
|
||||
ALTER TABLE ONLY maker.vat_grab ALTER COLUMN id SET DEFAULT nextval('maker.vat_grab_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal id; Type: DEFAULT; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY maker.vat_heal ALTER COLUMN id SET DEFAULT nextval('maker.vat_heal_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_init id; Type: DEFAULT; Schema: maker; Owner: -
|
||||
--
|
||||
@@ -1852,6 +1895,22 @@ ALTER TABLE ONLY maker.vat_grab
|
||||
ADD CONSTRAINT vat_grab_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal vat_heal_header_id_tx_idx_key; Type: CONSTRAINT; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY maker.vat_heal
|
||||
ADD CONSTRAINT vat_heal_header_id_tx_idx_key UNIQUE (header_id, tx_idx);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal vat_heal_pkey; Type: CONSTRAINT; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY maker.vat_heal
|
||||
ADD CONSTRAINT vat_heal_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_init vat_init_header_id_tx_idx_key; Type: CONSTRAINT; Schema: maker; Owner: -
|
||||
--
|
||||
@@ -2214,6 +2273,14 @@ ALTER TABLE ONLY maker.vat_grab
|
||||
ADD CONSTRAINT vat_grab_header_id_fkey FOREIGN KEY (header_id) REFERENCES public.headers(id) ON DELETE CASCADE;
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_heal vat_heal_header_id_fkey; Type: FK CONSTRAINT; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY maker.vat_heal
|
||||
ADD CONSTRAINT vat_heal_header_id_fkey FOREIGN KEY (header_id) REFERENCES public.headers(id) ON DELETE CASCADE;
|
||||
|
||||
|
||||
--
|
||||
-- Name: vat_init vat_init_header_id_fkey; Type: FK CONSTRAINT; Schema: maker; Owner: -
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user