changeset 4969:5621586e7a54 fairway-marks-import

Avoid checking the same condition twice An entry should either be UPDATEd or INSERTed, if it's not already in the database. Thus simply INSERT if there was no UPDATE.
author Tom Gottfried <tom@intevation.de>
date Fri, 28 Feb 2020 17:55:55 +0100
parents 1ba11ade2cf3
children 5890e62e6d52
files pkg/imports/fm.go
diffstat 1 files changed, 2 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/fm.go	Fri Feb 28 16:20:35 2020 +0100
+++ b/pkg/imports/fm.go	Fri Feb 28 17:55:55 2020 +0100
@@ -435,7 +435,7 @@
         (SELECT newfm FROM g),
         $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15,
         %[3]s)
-  RETURNING validity
+  RETURNING 1
 )
 INSERT INTO waterway.fairway_marks_%[1]s (
   geom,
@@ -457,18 +457,7 @@
 SELECT newfm, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15,
     %[3]s
   FROM g
-  WHERE NOT EXISTS(SELECT 1 FROM waterway.fairway_marks_%[1]s
-    WHERE (
-        validity, geom,
-        datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
-        scamin, picrep, txtdsc, sordat, sorind,
-        %[2]s
-      ) IS NOT DISTINCT FROM (
-        (SELECT validity FROM t), newfm,
-        $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15,
-        %[3]s
-      )
-    )
+  WHERE NOT EXISTS(SELECT 1 FROM t)
 RETURNING id
 `