[postgis-tickets] [SCM] PostGIS branch stable-3.4 updated. 3.4.0-29-g05ea0b355

git at osgeo.org git at osgeo.org
Mon Sep 25 04:02:48 PDT 2023


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, stable-3.4 has been updated
       via  05ea0b3557949bc81adfeaa5ac88abd034cabb72 (commit)
      from  59654b1aa9f01d6fb2689ab5658f43ab250aabad (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 05ea0b3557949bc81adfeaa5ac88abd034cabb72
Author: Sandro Santilli <strk at kbt.io>
Date:   Mon Sep 25 12:47:52 2023 +0200

    Fix box-filtered validity check of topologies with edge-less faces
    
    Includes regress test.
    References #5548 in stable-3.4 branch (3.4.1dev)

diff --git a/NEWS b/NEWS
index 961afb6c6..12b99a950 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-PostGIS 3.4.1
+PostGIS 3.4.1dev
 xxxx/xx/xx
 This version requires PostgreSQL 12-16, GEOS 3.6 or higher, and Proj 6.1+.
 To take advantage of all features, GEOS 3.12+ is needed.
@@ -7,6 +7,8 @@ To take advantage of all SFCGAL featurs, SFCGAL 1.4.1+ is needed.
 * Bug Fixes *
 
 
+ - #5548, Fix box-filtered validity check of topologies with edge-less faces
+          (Sandro Santilli)
  - #5485, Fix postgis script on OpenBSD (Sandro Santilli)
  - #5516, Fix upgrade with views using deprecated function, among which:
           ST_AddBand (#5509), ST_AsGeoJSON (#5523) ST_AsKML (#5524)
diff --git a/topology/sql/manage/ValidateTopology.sql.in b/topology/sql/manage/ValidateTopology.sql.in
index a644dd5ca..3375fb006 100644
--- a/topology/sql/manage/ValidateTopology.sql.in
+++ b/topology/sql/manage/ValidateTopology.sql.in
@@ -882,6 +882,7 @@ BEGIN
     )
     AND e.edge_id IS NULL
   LOOP --{
+    invalid_faces := array_append(invalid_faces, rec.id1);
     retrec.error = 'face without edges';
     retrec.id1 = rec.id1;
     retrec.id2 = NULL;
diff --git a/topology/test/regress/validatetopology.sql b/topology/test/regress/validatetopology.sql
index 2aab5e6b6..8a23aed2e 100644
--- a/topology/test/regress/validatetopology.sql
+++ b/topology/test/regress/validatetopology.sql
@@ -195,5 +195,16 @@ SELECT '#5403.1', * FROM topology.ValidateTopology(
 );
 ROLLBACK;
 
+-- See https://trac.osgeo.org/postgis/ticket/5548
+BEGIN;
+SELECT NULL FROM topology.CreateTopology('t5548');
+SELECT '#5548.0', topology.TopoGeo_addPolygon('t5548',
+  'POLYGON((0 0, 5 10, 10 0,0 0))');
+DELETE FROM t5548.edge;
+DELETE FROM t5548.node;
+SELECT '#5548.1', * FROM topology.ValidateTopology('t5548',
+  ST_MakeEnvelope(2,2,4,4));
+ROLLBACK;
+
 SELECT NULL FROM topology.DropTopology('city_data');
 
diff --git a/topology/test/regress/validatetopology_expected b/topology/test/regress/validatetopology_expected
index b0c954fee..82242d0a4 100644
--- a/topology/test/regress/validatetopology_expected
+++ b/topology/test/regress/validatetopology_expected
@@ -38,3 +38,5 @@
 #5105.edges_count|2
 #5105.faces_count|0
 #5403.0|1
+#5548.0|1
+#5548.1|face without edges|1|

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

Summary of changes:
 NEWS                                            |  4 +++-
 topology/sql/manage/ValidateTopology.sql.in     |  1 +
 topology/test/regress/validatetopology.sql      | 11 +++++++++++
 topology/test/regress/validatetopology_expected |  2 ++
 4 files changed, 17 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list