Mercurial > gemma
changeset 2943:78affd725ba5
Fix insert statement for dismar ashore
The statement missed to handle correctly the case where the
intersection is empty.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 04 Apr 2019 18:46:17 +0200 |
parents | 30c906733154 |
children | 73f537379203 149a8f81f99e |
files | pkg/imports/dma.go |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/imports/dma.go Thu Apr 04 18:23:49 2019 +0200 +++ b/pkg/imports/dma.go Thu Apr 04 18:46:17 2019 +0200 @@ -89,15 +89,15 @@ SELECT users.current_user_area_utm() AS a ) INSERT INTO waterway.distance_marks (geom, catdis) -SELECT ST_Transform( - CASE WHEN pg_has_role('sys_admin', 'MEMBER') - THEN new_dma - ELSE ST_Intersection((SELECT a FROM resp), - ST_Transform(new_dma, (SELECT ST_SRID(a) FROM resp))) - END, - 4326), - $3 - FROM ST_GeomFromWKB($1, $2::integer) AS new_dma (new_dma) +SELECT ST_Transform(new_dma, 4326), $3 + FROM (SELECT + CASE WHEN pg_has_role('sys_admin', 'MEMBER') + THEN dma + ELSE ST_Intersection((SELECT a FROM resp), + ST_Transform(dma, (SELECT ST_SRID(a) FROM resp))) + END AS new_dma + FROM ST_GeomFromWKB($1, $2::integer) AS dma (dma)) AS new_dma + WHERE NOT ST_IsEmpty(new_dma) RETURNING id ` )