[SCM] PostGIS branch master updated. 3.6.0rc2-403-gc52110c83
git at osgeo.org
git at osgeo.org
Mon Mar 23 09:41:20 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 c52110c83f015716df310dd94d48ff76abdd7620 (commit)
from d63430387663f34c6edccac1bff47a5cf484d4c8 (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 c52110c83f015716df310dd94d48ff76abdd7620
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date: Mon Mar 23 09:41:10 2026 -0700
Build updates for new compilers, fully qualify some calls to postgis functions
diff --git a/liblwgeom/liblwgeom_internal.h b/liblwgeom/liblwgeom_internal.h
index 39baf8032..828c81eeb 100644
--- a/liblwgeom/liblwgeom_internal.h
+++ b/liblwgeom/liblwgeom_internal.h
@@ -72,6 +72,21 @@
#define STR_IEQUALS(A, B) (strcasecmp((A), (B)) == 0)
#define STR_ISTARTS(A, B) (strncasecmp((A), (B), strlen((B))) == 0)
+#ifndef FALLTHROUGH
+ #if defined(__cplusplus) && __cplusplus >= 201703L
+ #define FALLTHROUGH [[fallthrough]]
+ #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+ #define FALLTHROUGH [[fallthrough]]
+ #elif defined(__clang__)
+ #define FALLTHROUGH __attribute__((fallthrough))
+ #elif defined(__GNUC__) && __GNUC__ >= 7
+ #define FALLTHROUGH __attribute__((fallthrough))
+ #elif defined(_MSC_VER) && _MSC_VER >= 1910
+ #define FALLTHROUGH [[fallthrough]]
+ #else
+ #define FALLTHROUGH ((void)0)
+ #endif
+#endif
/*
* this will change to NaN when I figure out how to
diff --git a/postgis/lwgeom_functions_basic.c b/postgis/lwgeom_functions_basic.c
index 7806f6ccb..055375099 100644
--- a/postgis/lwgeom_functions_basic.c
+++ b/postgis/lwgeom_functions_basic.c
@@ -2744,7 +2744,7 @@ Datum LWGEOM_angle(PG_FUNCTION_ARGS)
default: /*always executed*/
for (j = 0; j <= i; j++)
PG_FREE_IF_COPY(seri_geoms[j], j);
- pg_fallthrough; /* FALLTHROUGH */
+ FALLTHROUGH;
case 1:
lwpgerror("Empty geometry");
diff --git a/postgis/postgis.sql.in b/postgis/postgis.sql.in
index 118a6499e..2a51d7352 100644
--- a/postgis/postgis.sql.in
+++ b/postgis/postgis.sql.in
@@ -2294,18 +2294,18 @@ BEGIN
IF use_typmod THEN
BEGIN
EXECUTE 'ALTER TABLE ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' ALTER COLUMN ' || quote_ident(gcs.attname) ||
- ' TYPE geometry(' || postgis_type_name(gtype, gndims, true) || ', ' || gsrid::text || ') ';
+ ' TYPE geometry(' || @extschema at .postgis_type_name(gtype, gndims, true) || ', ' || gsrid::text || ') ';
inserted := inserted + 1;
EXCEPTION
WHEN invalid_parameter_value OR feature_not_supported THEN
- RAISE WARNING 'Could not convert ''%'' in ''%.%'' to use typmod with srid %, type %: %', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), gsrid, postgis_type_name(gtype, gndims, true), SQLERRM;
+ RAISE WARNING 'Could not convert ''%'' in ''%.%'' to use typmod with srid %, type %: %', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), gsrid, @extschema at .postgis_type_name(gtype, gndims, true), SQLERRM;
gc_is_valid := false;
END;
ELSE
-- Try to apply srid check to column
constraint_successful = false;
- IF (gsrid > 0 AND postgis_constraint_srid(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
+ IF (gsrid > 0 AND @extschema at .postgis_constraint_srid(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
BEGIN
EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) ||
' ADD CONSTRAINT ' || quote_ident('enforce_srid_' || gcs.attname) ||
@@ -2319,7 +2319,7 @@ BEGIN
END IF;
-- Try to apply ndims check to column
- IF (gndims IS NOT NULL AND postgis_constraint_dims(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
+ IF (gndims IS NOT NULL AND @extschema at .postgis_constraint_dims(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
BEGIN
EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || '
ADD CONSTRAINT ' || quote_ident('enforce_dims_' || gcs.attname) || '
@@ -2333,7 +2333,7 @@ BEGIN
END IF;
-- Try to apply geometrytype check to column
- IF (gtype IS NOT NULL AND postgis_constraint_type(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
+ IF (gtype IS NOT NULL AND @extschema at .postgis_constraint_type(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN
BEGIN
EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || '
ADD CONSTRAINT ' || quote_ident('enforce_geotype_' || gcs.attname) || '
@@ -2390,7 +2390,7 @@ DECLARE
BEGIN
-- Verify geometry type
- IF (postgis_type_name(new_type,new_dim) IS NULL )
+ IF (@extschema at .postgis_type_name(new_type,new_dim) IS NULL )
THEN
RAISE EXCEPTION 'Invalid type name "%(%)" - valid ones are:
POINT, MULTIPOINT,
@@ -2795,7 +2795,7 @@ BEGIN
END IF;
END IF;
- IF postgis_constraint_srid(real_schema, table_name, column_name) IS NOT NULL THEN
+ IF @extschema at .postgis_constraint_srid(real_schema, table_name, column_name) IS NOT NULL THEN
-- srid was enforced with constraints before, keep it that way.
-- Make up constraint name
cname = 'enforce_srid_' || column_name;
diff --git a/raster/rt_pg/rtpg_mapalgebra.c b/raster/rt_pg/rtpg_mapalgebra.c
index 0e355ebe3..57ce89a52 100644
--- a/raster/rt_pg/rtpg_mapalgebra.c
+++ b/raster/rt_pg/rtpg_mapalgebra.c
@@ -6567,7 +6567,7 @@ Datum RASTER_mapAlgebra2(PG_FUNCTION_ARGS)
switch (extenttype) {
case ET_FIRST:
i = 0;
- pg_fallthrough; /* FALLTHROUGH */
+ FALLTHROUGH;
case ET_SECOND:
if (i > 1)
-----------------------------------------------------------------------
Summary of changes:
liblwgeom/liblwgeom_internal.h | 15 +++++++++++++++
postgis/lwgeom_functions_basic.c | 2 +-
postgis/postgis.sql.in | 14 +++++++-------
raster/rt_pg/rtpg_mapalgebra.c | 2 +-
4 files changed, 24 insertions(+), 9 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list