Mercurial > gemma
view schema/updates/1112/01.cleanup_views.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 | 81dc260b38aa |
children |
line wrap: on
line source
-- Avoid orphaned entries due to changed OIDs ALTER TABLE sys_admin.published_services ADD _name varchar; UPDATE sys_admin.published_services SET _name = name; DROP VIEW waterway.gauges_geoserver CASCADE; CREATE VIEW waterway.gauges_geoserver AS SELECT isrs_code, objname, geom, applicability_from_km, applicability_to_km, zero_point, geodref, date_info, source_organization, reference_water_levels, gm_measuredate, gm_waterlevel, gm_n_14d, forecast_accuracy_3d, forecast_accuracy_1d FROM waterway.gauges_base_view WHERE NOT erased; DROP VIEW waterway.distance_marks_geoserver; CREATE VIEW waterway.distance_marks_geoserver AS SELECT isrs_asText(location_code) AS location, geom::Geometry(POINT, 4326), related_enc, (location_code).hectometre FROM waterway.distance_marks_virtual; DROP VIEW waterway.bottlenecks_geoserver; CREATE OR REPLACE VIEW waterway.bottlenecks_geoserver AS SELECT b.id, b.bottleneck_id, b.objnam, b.nobjnm, b.area, b.rb, b.lb, b.responsible_country, b.revisiting_time, b.limiting, b.date_info, b.source_organization, g.objname AS gauge_objname, g.reference_water_levels, fal.date_info AS fa_date_info, fal.critical AS fa_critical, g.gm_measuredate, g.gm_waterlevel, g.gm_n_14d, srl.date_max, g.forecast_accuracy_3d, g.forecast_accuracy_1d FROM waterway.bottlenecks b LEFT JOIN waterway.gauges_base_view g ON b.gauge_location = g.location AND g.validity @> current_timestamp LEFT JOIN (SELECT DISTINCT ON (bottleneck_id) bottleneck_id, date_info, critical FROM waterway.fairway_availability ORDER BY bottleneck_id, date_info DESC) AS fal ON b.bottleneck_id = fal.bottleneck_id LEFT JOIN (SELECT DISTINCT ON (bottleneck_id) bottleneck_id, max(date_info) AS date_max FROM waterway.sounding_results GROUP BY bottleneck_id ORDER BY bottleneck_id DESC) AS srl ON b.bottleneck_id = srl.bottleneck_id WHERE b.validity @> current_timestamp; CREATE VIEW waterway.stretches_geoserver AS SELECT s.id, s.name, (s.stretch).lower::varchar as lower, (s.stretch).upper::varchar as upper, s.area::Geometry(MULTIPOLYGON, 4326), s.objnam, s.nobjnam, s.date_info, s.source_organization, (SELECT string_agg(country_code, ', ') FROM waterway.stretch_countries WHERE stretches_id = s.id) AS countries, s.staging_done, min(g.gm_measuredate) AS gm_measuredate, min(g.gm_n_14d) AS gm_n_14d, max(g.forecast_accuracy_3d) AS forecast_accuracy_3d, max(g.forecast_accuracy_1d) AS forecast_accuracy_1d FROM waterway.stretches s LEFT JOIN waterway.gauges_geoserver g ON isrs_fromtext(g.isrs_code) <@ s.stretch GROUP BY s.id; CREATE VIEW waterway.sections_geoserver AS SELECT s.id, s.name, (s.section).lower::varchar as lower, (s.section).upper::varchar as upper, s.area::Geometry(MULTIPOLYGON, 4326), s.objnam, s.nobjnam, s.date_info, s.source_organization, s.staging_done, min(g.gm_measuredate) AS gm_measuredate, min(g.gm_n_14d) AS gm_n_14d, max(g.forecast_accuracy_3d) AS forecast_accuracy_3d, max(g.forecast_accuracy_1d) AS forecast_accuracy_1d FROM waterway.sections s LEFT JOIN waterway.gauges_geoserver g ON isrs_fromtext(g.isrs_code) <@ s.section GROUP BY s.id; -- Avoid orphaned entries due to changed OIDs UPDATE sys_admin.published_services SET name = _name; ALTER TABLE sys_admin.published_services DROP _name; UPDATE waterway.gt_pk_metadata SET pk_column = 'isrs_code' WHERE table_schema = 'waterway' AND table_name = 'gauges_geoserver'; UPDATE waterway.gt_pk_metadata SET pk_column = 'location' WHERE table_schema = 'waterway' AND table_name = 'distance_marks_geoserver'; GRANT SELECT ON waterway.gauges_geoserver, waterway.distance_marks_geoserver, waterway.bottlenecks_geoserver, waterway.stretches_geoserver, waterway.sections_geoserver TO waterway_user;