[SCM] PostGIS branch master updated. 3.7.0alpha1-21-g0936d3fa9

git at osgeo.org git at osgeo.org
Mon Jul 6 04:14:27 PDT 2026


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  0936d3fa9a7d8e170d4c1806ca522e188f79a681 (commit)
       via  1983ba2ddbef5128c34ef2f9f6a3542be898209c (commit)
       via  afbfd0120136fea9cfabe7bcb0ccb34ece6e6fc4 (commit)
       via  12afc1d465c14008848ededffe76aac533e50bc4 (commit)
       via  425b52962c1d11ff3643da740e6ac7846c3cfce8 (commit)
      from  333d896e75c3d61887e80c506f5879fd558b1a2c (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 0936d3fa9a7d8e170d4c1806ca522e188f79a681
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Jul 6 15:04:28 2026 +0400

    NEWS: add entries for GH-1146 and GH-1150
    
    References https://github.com/postgis/postgis/pull/1146
    
    References https://github.com/postgis/postgis/pull/1150

diff --git a/NEWS b/NEWS
index 78ad37d49..70a3dc001 100644
--- a/NEWS
+++ b/NEWS
@@ -11,11 +11,15 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
           ring-orientation precision regressions (Darafei Praliaskouski)
  - GH-1143, [topology] Clean up TopoRingIsCCW early returns
           (Darafei Praliaskouski)
+ - GH-1146, Reset interrupt callbacks when PostgreSQL clears
+          cancellation state (Darafei Praliaskouski)
  - GH-1147, [doc] Fix localized EPUB help target (Darafei Praliaskouski)
  - GH-1148, [utils] Create upgrade-check tempdir safely
           (Darafei Praliaskouski)
  - GH-1149, [topology] Fix corrupt column fallback variables
           (Darafei Praliaskouski)
+ - GH-1150, Free polygon orientation inputs in ST_IsPolygonCW/CCW
+          (Darafei Praliaskouski)
  - GH-1153, [topology] Preserve large ids from edge wrappers
           (Darafei Praliaskouski)
 

commit 1983ba2ddbef5128c34ef2f9f6a3542be898209c
Merge: afbfd0120 425b52962
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Jul 6 15:04:16 2026 +0400

    Merge pull request https://github.com/postgis/postgis/pull/1150
    
    postgis: free polygon orientation inputs
    
    Closes https://github.com/postgis/postgis/pull/1150


commit afbfd0120136fea9cfabe7bcb0ccb34ece6e6fc4
Merge: 333d896e7 12afc1d46
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Jul 6 15:04:16 2026 +0400

    Merge pull request https://github.com/postgis/postgis/pull/1146
    
    postgis: reset interrupt callbacks when clear
    
    Closes https://github.com/postgis/postgis/pull/1146


commit 12afc1d465c14008848ededffe76aac533e50bc4
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Jul 6 11:38:04 2026 +0400

    postgis: reset interrupt callbacks when clear

diff --git a/postgis/postgis_module.c b/postgis/postgis_module.c
index 8d79254ab..29f01423a 100644
--- a/postgis/postgis_module.c
+++ b/postgis/postgis_module.c
@@ -70,6 +70,10 @@ static void interrupt_geos_callback(void)
 	{
 		GEOS_interruptRequest();
 	}
+	else
+	{
+		GEOS_interruptCancel();
+	}
 }
 
 static void interrupt_liblwgeom_callback(void)
@@ -89,6 +93,10 @@ static void interrupt_liblwgeom_callback(void)
 	{
 		lwgeom_request_interrupt();
 	}
+	else
+	{
+		lwgeom_cancel_interrupt();
+	}
 }
 
 /*
@@ -139,5 +147,3 @@ _PG_fini(void)
 {
 	elog(NOTICE, "Goodbye from PostGIS %s", POSTGIS_VERSION);
 }
-
-
diff --git a/raster/rt_pg/rtpostgis.c b/raster/rt_pg/rtpostgis.c
index 663fe8552..76327b197 100644
--- a/raster/rt_pg/rtpostgis.c
+++ b/raster/rt_pg/rtpostgis.c
@@ -159,6 +159,8 @@ rtpg_interrupt_liblwgeom_callback(void)
 #endif
 	if (QueryCancelPending || ProcDiePending)
 		lwgeom_request_interrupt();
+	else
+		lwgeom_cancel_interrupt();
 }
 
 static lwinterrupt_callback *prev_liblwgeom_interrupt_callback = NULL;

commit 425b52962c1d11ff3643da740e6ac7846c3cfce8
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Jul 6 11:29:32 2026 +0400

    postgis: free polygon orientation inputs

diff --git a/postgis/lwgeom_functions_analytic.c b/postgis/lwgeom_functions_analytic.c
index c424ba177..30a21e9aa 100644
--- a/postgis/lwgeom_functions_analytic.c
+++ b/postgis/lwgeom_functions_analytic.c
@@ -901,12 +901,18 @@ PG_FUNCTION_INFO_V1(ST_IsPolygonCW);
 Datum ST_IsPolygonCW(PG_FUNCTION_ARGS)
 {
 	GSERIALIZED* geom;
+	LWGEOM *lwgeom;
+	bool is_cw;
 
 	if (PG_ARGISNULL(0))
 		PG_RETURN_NULL();
 
 	geom = PG_GETARG_GSERIALIZED_P(0);
-	PG_RETURN_BOOL(lwgeom_has_orientation(lwgeom_from_gserialized(geom), LW_CLOCKWISE));
+	lwgeom = lwgeom_from_gserialized(geom);
+	is_cw = lwgeom_has_orientation(lwgeom, LW_CLOCKWISE);
+	lwgeom_free(lwgeom);
+	PG_FREE_IF_COPY(geom, 0);
+	PG_RETURN_BOOL(is_cw);
 }
 
 /**********************************************************************
@@ -919,12 +925,16 @@ PG_FUNCTION_INFO_V1(ST_IsPolygonCCW);
 Datum ST_IsPolygonCCW(PG_FUNCTION_ARGS)
 {
 	GSERIALIZED* geom;
+	LWGEOM *lwgeom;
+	bool is_ccw;
 
 	if (PG_ARGISNULL(0))
 		PG_RETURN_NULL();
 
 	geom = PG_GETARG_GSERIALIZED_P(0);
-	geom = PG_GETARG_GSERIALIZED_P(0);
-	PG_RETURN_BOOL(lwgeom_has_orientation(lwgeom_from_gserialized(geom), LW_COUNTERCLOCKWISE));
+	lwgeom = lwgeom_from_gserialized(geom);
+	is_ccw = lwgeom_has_orientation(lwgeom, LW_COUNTERCLOCKWISE);
+	lwgeom_free(lwgeom);
+	PG_FREE_IF_COPY(geom, 0);
+	PG_RETURN_BOOL(is_ccw);
 }
-

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

Summary of changes:
 NEWS                                |  4 ++++
 postgis/lwgeom_functions_analytic.c | 18 ++++++++++++++----
 postgis/postgis_module.c            | 10 ++++++++--
 raster/rt_pg/rtpostgis.c            |  2 ++
 4 files changed, 28 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list