view schema/updates/1425/01.inline_utm_covers.sql @ 5559:ce9a9a1bf92f

Make invalid output of ISRSrange_area() less likely, next try Since ST_MakeValid() might return a collection of lower-to-equal dimension geometries, distill only the polygons from it. This should prevent respective errors when trying to save the result to a column of type MultiPolygon.
author Tom Gottfried <tom@intevation.de>
date Thu, 02 Dec 2021 12:37:33 +0100
parents 388947a3050d
children
line wrap: on
line source

ALTER POLICY responsibility_area ON waterway.bottlenecks
    USING (staging_done
        OR (SELECT ST_Covers(a,
                ST_Transform(CAST(area AS geometry), ST_SRID(a)))
            FROM users.current_user_area_utm() AS a (a)))
    WITH CHECK ((SELECT ST_Covers(a,
            ST_Transform(CAST(area AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

ALTER POLICY responsibility_area ON waterway.sounding_results
    USING (staging_done
        OR (SELECT ST_Covers(a,
                ST_Transform(CAST(area AS geometry), ST_SRID(a)))
            FROM users.current_user_area_utm() AS a (a)))
    WITH CHECK ((SELECT ST_Covers(a,
            ST_Transform(CAST(area AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

ALTER POLICY responsibility_area ON waterway.fairway_dimensions
    USING (staging_done
        OR (SELECT ST_Covers(a,
                ST_Transform(CAST(area AS geometry), ST_SRID(a)))
            FROM users.current_user_area_utm() AS a (a)))
    WITH CHECK ((SELECT ST_Covers(a,
            ST_Transform(CAST(area AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

ALTER POLICY responsibility_area_insert ON waterway.waterway_axis
    WITH CHECK ((SELECT ST_Covers(a,
            ST_Transform(CAST(wtwaxs AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

ALTER POLICY responsibility_area_update ON waterway.waterway_axis
    USING ((SELECT ST_Covers(a,
            ST_Transform(CAST(wtwaxs AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

ALTER POLICY responsibility_area_delete ON waterway.waterway_axis
    USING ((SELECT ST_Covers(a,
            ST_Transform(CAST(wtwaxs AS geometry), ST_SRID(a)))
        FROM users.current_user_area_utm() AS a (a)));

DROP FUNCTION users.utm_covers;