[SCM] PostGIS branch master updated. 3.7.0beta1-282-g3530b2ba1d

git at osgeo.org git at osgeo.org
Sun Aug 9 13:09:35 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  3530b2ba1d37dc26ba00066cac1fd56bb7665fad (commit)
       via  3778f588fa9e3f7922d33bf7e7db8877afaad146 (commit)
      from  c4a86675c184162314980fe99a0145374a290df5 (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 3530b2ba1d37dc26ba00066cac1fd56bb7665fad
Merge: c4a86675c1 3778f588fa
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date:   Sun Aug 9 13:09:33 2026 -0700

    Merge pull request 'regress: keep suite-specific upgrade hooks ordered' (!690) from Komzpa/postgis:fix/regress-upgrade-hook-dedup-20260810 into master
    
    Woodpecker pipeline 6803 shows two ordering errors in the 3.3.9-to-3.7.0dev PostgreSQL 16 upgrade path.
    
    The core SQL-object-resolution assertions need the fixture from `hook-before-upgrade.sql`; the general `hook-after-upgrade.sql` is cleanup shared by core, raster, topology, and SFCGAL. Combining them makes raster/SFCGAL run core assertions without their fixture. Core also received the generic cleanup through outer CI flags before its internal hooks, and then received it again through the core list.
    
    Keep the assertions in `hook-after-upgrade-check-sql-object-resolution.sql`, registered before core cleanup. For the all-upgrades runner, pass the generic cleanup externally only to the non-core extension suites; core's internal list provides assertion then cleanup in the intended order. Keep the existing `check-locked-upgrade` dedup guard unchanged.
    
    The same pipeline proves a separate topology fixture defect: topology 3.3.9 already lacks `useslargeids`, so make that simulated drop idempotent.
    
    Validation: `git diff --check`; `sh -n utils/check_all_upgrades.sh`; GNU Make dry expansions prove core runs assertion then cleanup once, while topology receives only generic cleanup plus its suite hook. Pipeline 6803 provides the failing PostgreSQL 16 reproducer.
    
    Reviewed-on: https://gitea.osgeo.org/postgis/postgis/pulls/690


commit 3778f588fa9e3f7922d33bf7e7db8877afaad146
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Sun Aug 9 23:34:49 2026 +0400

    regress: keep suite-specific upgrade hooks ordered

diff --git a/regress/core/tests.mk.in b/regress/core/tests.mk.in
index 1bf0f01bc7..c3b8f2b89a 100644
--- a/regress/core/tests.mk.in
+++ b/regress/core/tests.mk.in
@@ -24,7 +24,8 @@ current_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
 RUNTESTFLAGS_INTERNAL += \
   --after-create-db-script $(top_srcdir)/regress/hooks/hook-after-create-db.sql \
   --before-upgrade-script $(top_srcdir)/regress/hooks/hook-before-upgrade.sql \
-  --after-upgrade-script  $(top_srcdir)/regress/hooks/hook-after-upgrade.sql \
+  --after-upgrade-script $(top_srcdir)/regress/hooks/hook-after-upgrade-check-sql-object-resolution.sql \
+  --after-upgrade-script $(top_srcdir)/regress/hooks/hook-after-upgrade.sql \
   --after-create-script   $(top_srcdir)/regress/hooks/hook-after-create.sql \
   --before-uninstall-script $(top_srcdir)/regress/hooks/hook-before-uninstall.sql
 
diff --git a/regress/hooks/hook-after-upgrade.sql b/regress/hooks/hook-after-upgrade-check-sql-object-resolution.sql
similarity index 52%
copy from regress/hooks/hook-after-upgrade.sql
copy to regress/hooks/hook-after-upgrade-check-sql-object-resolution.sql
index c4a9758876..4685f6ad63 100644
--- a/regress/hooks/hook-after-upgrade.sql
+++ b/regress/hooks/hook-after-upgrade-check-sql-object-resolution.sql
@@ -1,15 +1,3 @@
--- TODO: move all these views and tables under postgis_upgrade_test_data
-DROP VIEW IF EXISTS upgrade_view_test_overlay;
-DROP VIEW IF EXISTS upgrade_view_test_unaryunion;
-DROP VIEW IF EXISTS upgrade_view_test_subdivide;
-DROP VIEW IF EXISTS upgrade_view_test_union;
-DROP VIEW IF EXISTS upgrade_view_test_force_dims;
-DROP VIEW IF EXISTS upgrade_view_test_askml;
-DROP VIEW IF EXISTS upgrade_view_test_dwithin;
-DROP VIEW IF EXISTS upgrade_view_test_clusterkmeans;
-DROP VIEW IF EXISTS upgrade_view_test_distance;
-DROP TABLE IF EXISTS upgrade_test;
-
 -- These assertions require the fixtures created by hook-before-upgrade.sql.
 DO $$
 BEGIN
@@ -38,9 +26,3 @@ BEGIN
 	PERFORM ST_TileEnvelope(0, 0, 0);
 END
 $postgis_upgrade_test$;
-
--- Drop any upgrade test data
-DROP SCHEMA IF EXISTS postgis_upgrade_test_data CASCADE;
-
--- Drop deprecated functions
-\i :regdir/hooks/drop-deprecated-functions.sql
diff --git a/regress/hooks/hook-after-upgrade.sql b/regress/hooks/hook-after-upgrade.sql
index c4a9758876..64ce9d770c 100644
--- a/regress/hooks/hook-after-upgrade.sql
+++ b/regress/hooks/hook-after-upgrade.sql
@@ -10,35 +10,6 @@ DROP VIEW IF EXISTS upgrade_view_test_clusterkmeans;
 DROP VIEW IF EXISTS upgrade_view_test_distance;
 DROP TABLE IF EXISTS upgrade_test;
 
--- These assertions require the fixtures created by hook-before-upgrade.sql.
-DO $$
-BEGIN
-	IF EXISTS (SELECT 1 FROM upgrade_test_helper_overload_calls) THEN
-		RAISE EXCEPTION 'upgrade helper overload was called';
-	END IF;
-END;
-$$;
-
-DROP FUNCTION _postgis_drop_function_by_identity(text, text);
-DROP FUNCTION _postgis_drop_function_by_signature(text);
-DROP TABLE upgrade_test_helper_overload_calls;
-
-DO LANGUAGE plpgsql $postgis_upgrade_test$
-BEGIN
-	IF EXISTS (
-		SELECT 1
-		FROM postgis_upgrade_test_data.issue004_named_argument_operator_calls
-	)
-	THEN
-		RAISE EXCEPTION
-			'generated named-argument guard used the test text-array operator';
-	END IF;
-
-	-- The replacement must leave the supported function available.
-	PERFORM ST_TileEnvelope(0, 0, 0);
-END
-$postgis_upgrade_test$;
-
 -- Drop any upgrade test data
 DROP SCHEMA IF EXISTS postgis_upgrade_test_data CASCADE;
 
diff --git a/topology/test/regress/hooks/hook-before-upgrade-topology.sql b/topology/test/regress/hooks/hook-before-upgrade-topology.sql
index 57c23d9738..ce29cef7d9 100644
--- a/topology/test/regress/hooks/hook-before-upgrade-topology.sql
+++ b/topology/test/regress/hooks/hook-before-upgrade-topology.sql
@@ -34,7 +34,7 @@ END;
 $$;
 
 -- Simulate the pre-3.6.0 catalog state that needs the upgrade helper.
-ALTER TABLE topology.topology DROP COLUMN useslargeids;
+ALTER TABLE topology.topology DROP COLUMN IF EXISTS useslargeids;
 
 -- This harmless overload records an unsafe function-resolution result.
 CREATE TABLE public.upgrade_add_column_overload_marker (
diff --git a/utils/check_all_upgrades.sh b/utils/check_all_upgrades.sh
index 90550c9f14..86d8b44784 100755
--- a/utils/check_all_upgrades.sh
+++ b/utils/check_all_upgrades.sh
@@ -339,7 +339,6 @@ USERTESTFLAGS=${RUNTESTFLAGS}
 USERTESTFLAGS="\
   ${USERTESTFLAGS} \
   --before-upgrade-script ${SRCDIR}/regress/hooks/use-all-functions.sql \
-  --after-upgrade-script ${SRCDIR}/regress/hooks/hook-after-upgrade.sql \
 "
 
 for EXT in ${INSTALLED_EXTENSIONS}; do #{
@@ -355,6 +354,12 @@ for EXT in ${INSTALLED_EXTENSIONS}; do #{
     echo "SKIP: don't know where to find regress tests for extension ${EXT}"
   fi
 
+  EXT_USERTESTFLAGS=${USERTESTFLAGS}
+  if test "${EXT}" != "postgis"; then
+    EXT_USERTESTFLAGS="${EXT_USERTESTFLAGS} \
+      --after-upgrade-script ${SRCDIR}/regress/hooks/hook-after-upgrade.sql"
+  fi
+
   # Check extension->extension upgrades
   files=`'ls' ${EXT}--* | grep -v -- '--.*--' | sed "s/^${EXT}--\(.*\)\.sql/\1/"`
   if test ${ONLY_OLDEST} != 0; then
@@ -409,7 +414,7 @@ for EXT in ${INSTALLED_EXTENSIONS}; do #{
     echo "Testing ${test_label}"
 
     if expr "${test_label}" : '^.*upgrade' > /dev/null; then
-      RUNTESTFLAGS="-v --extension --upgrade-path=${UPGRADE_PATH} ${USERTESTFLAGS}" \
+      RUNTESTFLAGS="-v --extension --upgrade-path=${UPGRADE_PATH} ${EXT_USERTESTFLAGS}" \
       ${MAKE} -C ${REGDIR} check ${MAKE_ARGS} && {
         echo "PASS: ${test_label}"
       } || {
@@ -462,7 +467,7 @@ for EXT in ${INSTALLED_EXTENSIONS}; do #{
       continue
     fi
     echo "Testing ${test_label}"
-    RUNTESTFLAGS="-v --extension --upgrade-path=${UPGRADE_PATH} ${USERTESTFLAGS}" \
+    RUNTESTFLAGS="-v --extension --upgrade-path=${UPGRADE_PATH} ${EXT_USERTESTFLAGS}" \
     ${MAKE} -C ${REGDIR} check ${MAKE_ARGS} && {
       echo "PASS: ${test_label}"
     } || {

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

Summary of changes:
 regress/core/tests.mk.in                           |  3 ++-
 ...-after-upgrade-check-sql-object-resolution.sql} | 18 --------------
 regress/hooks/hook-after-upgrade.sql               | 29 ----------------------
 .../regress/hooks/hook-before-upgrade-topology.sql |  2 +-
 utils/check_all_upgrades.sh                        | 11 +++++---
 5 files changed, 11 insertions(+), 52 deletions(-)
 copy regress/hooks/{hook-after-upgrade.sql => hook-after-upgrade-check-sql-object-resolution.sql} (52%)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list