Mercurial > gemma
view schema/updates/1408/01.distinguish_daymar_hydro_ienc.sql @ 5560:f2204f91d286
Join the log lines of imports to the log exports to recover data from them.
Used in SR export to extract information that where in the meta json
but now are only found in the log.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 09 Feb 2022 18:34:40 +0100 |
parents | 3f704ebad0c5 |
children |
line wrap: on
line source
CREATE TABLE waterway.fairway_marks_daymar_new ( colour varchar, colpat varchar, condtn int, topshp int ) INHERITS (waterway.fairway_marks); CREATE TABLE waterway.fairway_marks_daymar_hydro ( id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY ) INHERITS (waterway.fairway_marks_daymar_new); CREATE UNIQUE INDEX fairway_marks_daymar_hydro_distinct_rows ON waterway.fairway_marks_daymar_hydro ((CAST((validity, last_found, geom, datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom, scamin, picrep, txtdsc, sordat, sorind, colour, colpat, condtn, topshp, 0 ) AS waterway.fairway_marks_daymar_hydro) )); CREATE TABLE waterway.fairway_marks_daymar_ienc ( orient double precision, id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY ) INHERITS (waterway.fairway_marks_daymar_new); CREATE UNIQUE INDEX fairway_marks_daymar_ienc_distinct_rows ON waterway.fairway_marks_daymar_ienc ((CAST((validity, last_found, geom, datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom, scamin, picrep, txtdsc, sordat, sorind, colour, colpat, condtn, topshp, orient, 0 ) AS waterway.fairway_marks_daymar_ienc) )); -- Assume all features not being definitely IENC features are HYDRO features INSERT INTO waterway.fairway_marks_daymar_hydro OVERRIDING USER VALUE SELECT validity, last_found, geom, datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom, scamin, picrep, txtdsc, sordat, sorind, colour, colpat, condtn, topshp, id FROM waterway.fairway_marks_daymar WHERE orient IS NULL AND id NOT IN( SELECT fm_daymar_id FROM waterway.fairway_marks_daymar_dirimps); INSERT INTO waterway.fairway_marks_daymar_ienc SELECT validity, last_found, geom, datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom, scamin, picrep, txtdsc, sordat, sorind, colour, colpat, condtn, topshp, orient, id FROM waterway.fairway_marks_daymar WHERE orient IS NOT NULL OR id IN( SELECT fm_daymar_id FROM waterway.fairway_marks_daymar_dirimps); SELECT setval( pg_get_serial_sequence('waterway.fairway_marks_daymar_ienc', 'id'), max(id)) FROM waterway.fairway_marks_daymar_ienc; -- Let foreign key constraint point to new table ALTER TABLE waterway.fairway_marks_daymar_dirimps DROP CONSTRAINT fairway_marks_daymar_dirimps_fm_daymar_id_fkey, ADD FOREIGN KEY (fm_daymar_id) REFERENCES waterway.fairway_marks_daymar_ienc; -- Finally DROP TABLE waterway.fairway_marks_daymar; ALTER TABLE waterway.fairway_marks_daymar_new RENAME TO fairway_marks_daymar; GRANT SELECT on ALL tables in schema waterway TO waterway_user; GRANT INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA waterway TO waterway_admin;