[SCM] PostGIS branch stable-3.4 updated. 3.4.4-62-g51c29b960

git at osgeo.org git at osgeo.org
Wed Oct 15 10:21:18 PDT 2025


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  51c29b96077122fe9e2794f98585fe03a110e02e (commit)
      from  68f53711ce18a7a93cbed1b6b315d35fc715e481 (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 51c29b96077122fe9e2794f98585fe03a110e02e
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Wed Oct 15 10:19:55 2025 -0700

    ST_ForcePolygonCCW should not flip lines, closes #5754

diff --git a/NEWS b/NEWS
index e1500842a..2828a8c5f 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ Proj 6.1+ required.
   - #5991, CircularString distance error (Paul Ramsey)
   - #5989, ST_Distance error on CurvePolygon (Paul Ramsey)
   - #5962, Consistent clipping of MULTI/POINT (Paul Ramsey)
+  - #5754, ST_ForcePolygonCCW reverses lines (Paul Ramsey)
 
 
 PostGIS 3.4.4
diff --git a/postgis/postgis.sql.in b/postgis/postgis.sql.in
index 2bc1a6bf7..d8be7593b 100644
--- a/postgis/postgis.sql.in
+++ b/postgis/postgis.sql.in
@@ -1611,27 +1611,6 @@ CREATE OR REPLACE FUNCTION ST_Scroll(geometry, geometry)
 	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
 	_COST_LOW;
 
--- Availability: 2.4.0
-CREATE OR REPLACE FUNCTION ST_ForcePolygonCW(geometry)
-	RETURNS geometry
-	AS 'MODULE_PATHNAME', 'LWGEOM_force_clockwise_poly'
-	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
-	_COST_LOW;
-
--- Availability: 2.4.0
-CREATE OR REPLACE FUNCTION ST_ForcePolygonCCW(geometry)
-	RETURNS geometry
-	AS $$ SELECT @extschema at .ST_Reverse(@extschema at .ST_ForcePolygonCW($1)) $$
-	LANGUAGE 'sql' IMMUTABLE STRICT PARALLEL SAFE
-	_COST_LOW;
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_ForceRHR(geometry)
-	RETURNS geometry
-	AS 'MODULE_PATHNAME', 'LWGEOM_force_clockwise_poly'
-	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
-	_COST_LOW;
-
 -- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION postgis_noop(geometry)
 	RETURNS geometry
@@ -5496,6 +5475,30 @@ CREATE OR REPLACE FUNCTION ST_GeometryType(geometry)
 	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
 	_COST_DEFAULT;
 
+-- Availability: 2.4.0
+CREATE OR REPLACE FUNCTION ST_ForcePolygonCW(geometry)
+	RETURNS geometry
+	AS 'MODULE_PATHNAME', 'LWGEOM_force_clockwise_poly'
+	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
+	_COST_LOW;
+
+-- Availability: 1.2.2
+CREATE OR REPLACE FUNCTION ST_ForceRHR(geometry)
+	RETURNS geometry
+	AS 'MODULE_PATHNAME', 'LWGEOM_force_clockwise_poly'
+	LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE
+	_COST_LOW;
+
+-- Availability: 2.4.0
+CREATE OR REPLACE FUNCTION ST_ForcePolygonCCW(geometry)
+	RETURNS geometry
+	AS $$ SELECT
+	  CASE WHEN @extschema at .ST_GeometryType($1) IN ('ST_Polygon', 'ST_MultiPolygon')
+	  THEN @extschema at .ST_Reverse(@extschema at .ST_ForcePolygonCW($1))
+	  ELSE $1 END $$
+	LANGUAGE 'sql' IMMUTABLE STRICT PARALLEL SAFE
+	_COST_LOW;
+
 -- PostGIS equivalent function: PointN(geometry,integer)
 CREATE OR REPLACE FUNCTION ST_PointN(geometry,integer)
 	RETURNS geometry

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

Summary of changes:
 NEWS                   |  1 +
 postgis/postgis.sql.in | 45 ++++++++++++++++++++++++---------------------
 2 files changed, 25 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list