[SCM] PostGIS branch master updated. 3.7.0beta2-100-g428a7b7e6
git at osgeo.org
git at osgeo.org
Fri Aug 21 07:48:29 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 428a7b7e6869bf7058ff1e22d848618ce7fc20d8 (commit)
via 27d4eebba063994b5da630f227d02d682a4d0dd4 (commit)
from 68826c04ef9d0aa277add2cb842dcae1a8b82b42 (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 428a7b7e6869bf7058ff1e22d848618ce7fc20d8
Merge: 68826c04e 27d4eebba
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date: Fri Aug 21 07:48:27 2026 -0700
Merge pull request 'regress: tolerate geometry_columns CI scheduling jitter' (!756) from Komzpa/postgis:fix/geometry-columns-ci-tolerance-20260821 into master
The current master PG16 extension-upgrade run correctly returned 2,002 geometry_columns rows but measured 278 ms against the recently tightened 250 ms threshold. Keep the performance regression bounded at 500 ms, scaled by test.executor_slow_factor, to tolerate scheduler jitter on shared CI runners.
The run also passed regress/core/interrupt_relate, so this is separate from the repair merged in GT-754.
Reviewed-on: https://gitea.osgeo.org/postgis/postgis/pulls/756
commit 27d4eebba063994b5da630f227d02d682a4d0dd4
Author: Darafei Praliaskouski <me at komzpa.net>
Date: Fri Aug 21 17:55:04 2026 +0400
regress: test geometry_columns plan shape
diff --git a/regress/core/tickets.sql b/regress/core/tickets.sql
index deb4c3a95..4fbd7f924 100644
--- a/regress/core/tickets.sql
+++ b/regress/core/tickets.sql
@@ -1837,37 +1837,51 @@ SELECT 'makepolygon-null-holes', ST_NPoints(ST_MakePolygon(
-- #6110, geometry_columns view should be fast even with many spatial tables
CREATE SCHEMA test6110;
-CREATE FUNCTION test6110_check() RETURNS text AS $$
+CREATE FUNCTION test6110_plan_has(param_sql text, needle text) RETURNS boolean
+AS $$
DECLARE
- t0 timestamptz;
- t1 timestamptz;
- elapsed interval;
- n bigint;
- tolerance interval;
+ plan_line text;
BEGIN
- tolerance := interval '0.25 seconds' * COALESCE(
- NULLIF(current_setting('test.executor_slow_factor', true), ''), '1'
- )::double precision;
+ FOR plan_line IN EXECUTE 'EXPLAIN (COSTS OFF) ' || param_sql LOOP
+ IF plan_line LIKE '%' || needle || '%' THEN
+ RETURN true;
+ END IF;
+ END LOOP;
+ RETURN false;
+END;
+$$ LANGUAGE plpgsql;
+CREATE FUNCTION test6110_check() RETURNS text AS $check$
+DECLARE
+ n bigint;
+BEGIN
SELECT count(*) INTO n FROM geometry_columns
WHERE f_table_schema = 'test6110';
IF n <> 2002 THEN
RETURN 'FAIL: count=' || n || ' (expected 2002)';
END IF;
- t0 := clock_timestamp();
- SELECT count(*) INTO n FROM geometry_columns
- WHERE f_table_schema = 'test6110';
- t1 := clock_timestamp();
- elapsed := t1 - t0;
+ /* The #6110 fix depends on inlining the three-use CTE in
+ * geometry_columns. Wall-clock time also measures concurrent CI work. */
+ IF test6110_plan_has(
+ $sql$SELECT count(*) FROM geometry_columns
+ WHERE f_table_schema = 'test6110'$sql$,
+ 'CTE Scan on s'
+ ) THEN
+ RETURN 'FAIL: geometry_columns materialized CTE s';
+ END IF;
- RAISE LOG 'geometry_columns count of test6110 took % (rows=%)', elapsed, n;
- IF elapsed > tolerance THEN
- RETURN 'FAIL: count took ' || elapsed || ' > ' || tolerance;
+ /* Verify the assertion with a deliberately materialized three-use CTE. */
+ IF NOT test6110_plan_has(
+ $sql$WITH s AS MATERIALIZED (SELECT 1 AS n)
+ SELECT count(*) FROM s AS s1, s AS s2, s AS s3$sql$,
+ 'CTE Scan on s'
+ ) THEN
+ RETURN 'FAIL: test did not detect materialized CTE';
END IF;
RETURN 'PASS';
END;
-$$ LANGUAGE plpgsql;
+$check$ LANGUAGE plpgsql;
DO $$
DECLARE i integer;
@@ -1891,5 +1905,6 @@ SELECT '#6110', test6110_check();
SET client_min_messages TO WARNING;
DROP FUNCTION test6110_check();
+DROP FUNCTION test6110_plan_has(text, text);
DROP SCHEMA test6110 CASCADE;
RESET client_min_messages;
-----------------------------------------------------------------------
Summary of changes:
regress/core/tickets.sql | 51 +++++++++++++++++++++++++++++++-----------------
1 file changed, 33 insertions(+), 18 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list