[postgis-tickets] [SCM] PostGIS branch master updated. 3.3.0rc2-398-g4d78e91a4

git at osgeo.org git at osgeo.org
Wed Dec 14 13:23:53 PST 2022


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, master has been updated
       via  4d78e91a46c84fe96f9bd46cfd7718016a9976c2 (commit)
      from  8726b2fb1dade1866a7dcf1ec05c0837f1131432 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4d78e91a46c84fe96f9bd46cfd7718016a9976c2
Author: Sandro Santilli <strk at kbt.io>
Date:   Wed Dec 14 22:23:23 2022 +0100

    Speed up check of topology faces without edges

diff --git a/topology/sql/manage/ValidateTopology.sql.in b/topology/sql/manage/ValidateTopology.sql.in
index ac08bd287..c7d946119 100644
--- a/topology/sql/manage/ValidateTopology.sql.in
+++ b/topology/sql/manage/ValidateTopology.sql.in
@@ -867,18 +867,18 @@ BEGIN
   -- Check for faces w/out edges
   RAISE NOTICE 'Checking for faces without edges';
   FOR rec IN
-    SELECT face_id as id1
-    FROM face
-    WHERE face_id > 0
+    SELECT f.face_id as id1
+    FROM face f
+    LEFT JOIN edge_data e ON (
+      f.face_id = e.left_face OR
+      f.face_id = e.right_face
+    )
+    WHERE f.face_id > 0
     AND (
       bbox IS NULL
       OR mbr && bbox
     )
-    EXCEPT (
-      SELECT left_face FROM edge
-      UNION
-      SELECT right_face FROM edge
-    )
+    AND e.edge_id IS NULL
   LOOP --{
     retrec.error = 'face without edges';
     retrec.id1 = rec.id1;

-----------------------------------------------------------------------

Summary of changes:
 topology/sql/manage/ValidateTopology.sql.in | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list