[SCM] PostGIS branch stable-3.3 updated. 3.3.10-77-g1d4f128ad
git at osgeo.org
git at osgeo.org
Sun Jul 19 21:39:05 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, stable-3.3 has been updated
via 1d4f128ad9806313095157a11a593d2bbce535c1 (commit)
via 5d4d61b88d5d1c5d4ff9b082784e73491a2ef21d (commit)
via 6f362a9a12525b6f39e7cbf4b580c1b97f1eeaf8 (commit)
via dbf38103b1c925ca0d7abbbcbd473ed6e091534e (commit)
from d054ff28b5cc729bc63b8b986f5f09904cf8c289 (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 1d4f128ad9806313095157a11a593d2bbce535c1
Merge: d054ff28b 5d4d61b88
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date: Sun Jul 19 21:39:04 2026 -0700
Merge pull request 'ci: fix stable 3.3 worker build failures' (!459) from Komzpa/postgis:fix/stable-3.3-bessie-private-postgres into stable-3.3
commit 5d4d61b88d5d1c5d4ff9b082784e73491a2ef21d
Author: Darafei Praliaskouski <me at komzpa.net>
Date: Mon Jul 20 06:54:13 2026 +0400
build: substitute zero SFCGAL version when disabled
The uninstall_sfcgal.sql preprocessing path still evaluates POSTGIS_SFCGAL_VERSION even when SFCGAL support is auto-disabled. Match newer stable branches by substituting 0 outside the sfcgal-config success path.
diff --git a/configure.ac b/configure.ac
index 855ea1d54..2ff2c09ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -800,6 +800,7 @@ AC_ARG_WITH([sfcgal],
[with_sfcgal=auto])
+POSTGIS_SFCGAL_VERSION="0"
if test "x$with_sfcgal" != "xno"; then
if test "x$with_sfcgal" = "xyes" -o "x$with_sfcgal" = "xauto"; then
AC_PATH_PROG([SFCGAL_CONFIG], [sfcgal-config], [])
@@ -816,7 +817,6 @@ if test "x$with_sfcgal" != "xno"; then
SFCGAL_NUMERIC_MINOR_VERSION=`printf "%02d" $SFCGAL_MINOR_VERSION`
POSTGIS_SFCGAL_VERSION="$SFCGAL_MAJOR_VERSION$SFCGAL_NUMERIC_MINOR_VERSION$SFCGAL_NUMERIC_PATCH_VERSION"
AC_DEFINE_UNQUOTED([POSTGIS_SFCGAL_VERSION], [$POSTGIS_SFCGAL_VERSION], [SFCGAL library version at build time])
- AC_SUBST([POSTGIS_SFCGAL_VERSION])
SFCGAL_STATIC=`$SFCGAL_CONFIG --static`
if test "x$SFCGAL_STATIC" = "xON"; then
@@ -837,6 +837,7 @@ if test "x$with_sfcgal" != "xno"; then
fi
fi
+AC_SUBST([POSTGIS_SFCGAL_VERSION])
AC_SUBST([SFCGAL_VERSION])
AC_SUBST([SFCGAL_CPPFLAGS])
AC_SUBST([SFCGAL_LDFLAGS])
commit 6f362a9a12525b6f39e7cbf4b580c1b97f1eeaf8
Author: Darafei Praliaskouski <me at komzpa.net>
Date: Mon Jul 20 06:43:21 2026 +0400
Avoid pqsignal return value on PostgreSQL 18
Backport the interrupt callback pattern used by newer stable branches so this older branch no longer depends on pqsignal returning the previous handler.
References #5841
diff --git a/postgis/postgis_module.c b/postgis/postgis_module.c
index 9e7adb409..9237a763d 100644
--- a/postgis/postgis_module.c
+++ b/postgis/postgis_module.c
@@ -25,10 +25,9 @@
#include "postgres.h"
#include "fmgr.h"
-#include "executor/executor.h"
+#include "miscadmin.h"
#include "utils/elog.h"
#include "utils/guc.h"
-#include "libpq/pqsignal.h"
#include "../postgis_config.h"
@@ -45,18 +44,39 @@
*/
PG_MODULE_MAGIC;
-static pqsigfunc coreIntHandler = 0;
-static void handleInterrupt(int sig);
-
+static void interrupt_geos_callback()
+{
#ifdef WIN32
-static void interruptCallback() {
- if (UNBLOCKED_SIGNAL_QUEUE())
- pgwin32_dispatch_queued_signals();
-}
+ if (UNBLOCKED_SIGNAL_QUEUE())
+ pgwin32_dispatch_queued_signals();
#endif
+ /*
+ * If PgSQL global flags show interrupt,
+ * flip the pending flag in GEOS
+ * to end current query.
+ */
+ if (QueryCancelPending || ProcDiePending)
+ GEOS_interruptRequest();
+ else
+ GEOS_interruptCancel();
+}
-static ExecutorStart_hook_type onExecutorStartPrev = NULL;
-static void onExecutorStart(QueryDesc *queryDesc, int eflags);
+static void interrupt_liblwgeom_callback()
+{
+#ifdef WIN32
+ if (UNBLOCKED_SIGNAL_QUEUE())
+ pgwin32_dispatch_queued_signals();
+#endif
+ /*
+ * If PgSQL global flags show interrupt,
+ * flip the pending flag in liblwgeom
+ * to end current query.
+ */
+ if (QueryCancelPending || ProcDiePending)
+ lwgeom_request_interrupt();
+ else
+ lwgeom_cancel_interrupt();
+}
/*
* Pass proj error message out via the PostgreSQL logging
@@ -80,12 +100,12 @@ void _PG_init(void);
void
_PG_init(void)
{
- coreIntHandler = pqsignal(SIGINT, handleInterrupt);
-
-#ifdef WIN32
- GEOS_interruptRegisterCallback(interruptCallback);
- lwgeom_register_interrupt_callback(interruptCallback);
-#endif
+ /*
+ * Hook up interrupt checking to call back here and examine the PgSQL
+ * interrupt state variables.
+ */
+ GEOS_interruptRegisterCallback(interrupt_geos_callback);
+ lwgeom_register_interrupt_callback(interrupt_liblwgeom_callback);
/* install PostgreSQL handlers */
pg_install_lwgeom_handlers();
@@ -94,10 +114,6 @@ _PG_init(void)
#if POSTGIS_PROJ_VERSION > 60
proj_log_func(NULL, NULL, pjLogFunction);
#endif
-
- /* setup hooks */
- onExecutorStartPrev = ExecutorStart_hook;
- ExecutorStart_hook = onExecutorStart;
}
/*
@@ -108,53 +124,4 @@ void
_PG_fini(void)
{
elog(NOTICE, "Goodbye from PostGIS %s", POSTGIS_VERSION);
- pqsignal(SIGINT, coreIntHandler);
-
- /* restore original hooks */
- ExecutorStart_hook = onExecutorStartPrev;
-}
-
-
-static void
-handleInterrupt(int sig)
-{
- /* NOTE: printf here would be dangerous, see
- * https://trac.osgeo.org/postgis/ticket/3644
- *
- * TODO: block interrupts during execution, to fix the problem
- */
- /* printf("Interrupt requested\n"); fflush(stdout); */
-
- GEOS_interruptRequest();
-
-#ifdef HAVE_LIBPROTOBUF
- /* Taking out per #5385 crash */
- //lwgeom_wagyu_interruptRequest();
-#endif
-
- /* request interruption of liblwgeom as well */
- lwgeom_request_interrupt();
-
- if ( coreIntHandler ) {
- (*coreIntHandler)(sig);
- }
-}
-
-static void onExecutorStart(QueryDesc *queryDesc, int eflags) {
- /* cancel interrupt requests */
-
- GEOS_interruptCancel();
-
-#ifdef HAVE_LIBPROTOBUF
- /* Taking out per #5385 crash */
- //lwgeom_wagyu_interruptReset();
-#endif
-
- lwgeom_cancel_interrupt();
-
- if (onExecutorStartPrev) {
- (*onExecutorStartPrev)(queryDesc, eflags);
- } else {
- standard_ExecutorStart(queryDesc, eflags);
- }
}
commit dbf38103b1c925ca0d7abbbcbd473ed6e091534e
Author: Darafei Praliaskouski <me at komzpa.net>
Date: Sun Jul 19 00:36:58 2026 +0400
ci: isolate the Bessie PostgreSQL cluster
(cherry picked from commit 23a1f5deddb5947c830ec6cc54d4e44dc19ebbdc)
diff --git a/ci/bessie/postgis_regress.sh b/ci/bessie/postgis_regress.sh
index 8add89303..1fec2f46e 100644
--- a/ci/bessie/postgis_regress.sh
+++ b/ci/bessie/postgis_regress.sh
@@ -4,13 +4,46 @@ set -e
#BRANCH is passed in via jenkins which is set via webhook hook
export PATH=${PATH}:/usr/local:/usr/local/lib:/usr/local/bin
+
+PGIS_TMP_ROOT=$(mktemp -d "${TMPDIR:-/tmp}/postgis-bessie.XXXXXX")
+export PGDATA="${PGIS_TMP_ROOT}/data"
+export PGHOST="${PGIS_TMP_ROOT}"
+export PGUSER=postgres
+export PGIS_REG_TMPDIR="${PGIS_TMP_ROOT}/regress"
+PGLOG="${PGIS_TMP_ROOT}/postgresql.log"
+
+cleanup() {
+ status=$?
+ trap - EXIT
+ if test -s "${PGDATA}/postmaster.pid"; then
+ pg_ctl -D "${PGDATA}" -m immediate stop >/dev/null 2>&1 || true
+ fi
+ if test "${status}" -ne 0 && test -s "${PGLOG}"; then
+ echo "PostgreSQL log follows:" >&2
+ tail -n 100 "${PGLOG}" >&2
+ fi
+ rm -rf -- "${PGIS_TMP_ROOT}"
+ exit "${status}"
+}
+
+trap cleanup EXIT
+trap 'exit 1' HUP INT TERM
+
sh autogen.sh
./configure --with-projdir=/usr/local --with-libiconv=/usr/local --without-interrupt-tests --with-library-minor-version --without-raster
#make distclean
make
-export PGUSER=postgres
-export PGIS_REG_TMPDIR=~/tmp/pgis_reg_${BRANCH}
-psql -c "DROP DATABASE IF EXISTS postgis_reg;"
+
+initdb -N --no-data-checksums -U "${PGUSER}" -D "${PGDATA}"
+printf '%s\n' \
+ 'fsync = off' \
+ 'full_page_writes = off' \
+ 'synchronous_commit = off' \
+ >> "${PGDATA}/postgresql.conf"
+pg_ctl -D "${PGDATA}" -l "${PGLOG}" \
+ -o "-F -c listen_addresses='' -c unix_socket_directories='${PGHOST}'" start
+mkdir -p "${PGIS_REG_TMPDIR}"
+
make check RUNTESTFLAGS="-v"
sudo make install
make check RUNTESTFLAGS="-v --extension"
-----------------------------------------------------------------------
Summary of changes:
ci/bessie/postgis_regress.sh | 39 ++++++++++++++--
configure.ac | 3 +-
postgis/postgis_module.c | 107 +++++++++++++++----------------------------
3 files changed, 75 insertions(+), 74 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list