[SCM] PostGIS branch master updated. 3.6.0rc2-409-g917961da3

git at osgeo.org git at osgeo.org
Mon Mar 23 12:06:24 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  917961da372c463decf044c366bb0515c4481fe5 (commit)
       via  c64beac5ac5f0243e9463f225285dd89ed1599ea (commit)
      from  bebe97d1abb3c2208f29533d40fe78a08c0cf0b6 (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 917961da372c463decf044c366bb0515c4481fe5
Merge: c64beac5a bebe97d1a
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Mar 23 11:09:08 2026 -0700

    Merge branch 'master' into master-buildclean


commit c64beac5ac5f0243e9463f225285dd89ed1599ea
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Mar 23 11:09:04 2026 -0700

    First cut at stripping AddToSearchPath from build, to reduce security surface area

diff --git a/extensions/Makefile.in b/extensions/Makefile.in
index 344418584..bb847bc91 100644
--- a/extensions/Makefile.in
+++ b/extensions/Makefile.in
@@ -47,8 +47,6 @@ distclean-local: clean-local
 check check-unit check-regress:
 	@echo "Nothing to check"
 
-postgis_extension_helper.sql: ../libpgcommon/sql/AddToSearchPath.sql.inc
-
 # Generate any .sql file from .sql.in files by running them through the SQL pre-processor
 %.sql: %.sql.in
 	$(SQLPP) -I at top_builddir@/postgis -I at top_srcdir@ $< > $@.tmp
diff --git a/extensions/postgis_extension_helper.sql.in b/extensions/postgis_extension_helper.sql.in
index 4855ea882..096563c77 100644
--- a/extensions/postgis_extension_helper.sql.in
+++ b/extensions/postgis_extension_helper.sql.in
@@ -36,5 +36,3 @@ END;
 $$
 LANGUAGE 'plpgsql' VOLATILE;
 
-CREATE FUNCTION postgis_extension_AddToSearchPath(a_schema_name text)
-#include "libpgcommon/sql/AddToSearchPath.sql.inc"
diff --git a/extensions/postgis_extension_helper_uninstall.sql b/extensions/postgis_extension_helper_uninstall.sql
index c582d3511..4cff3c7d0 100644
--- a/extensions/postgis_extension_helper_uninstall.sql
+++ b/extensions/postgis_extension_helper_uninstall.sql
@@ -14,5 +14,3 @@
 -- This drops extension helper functions
 -- and should be called at the end of the extension upgrade file
 DROP FUNCTION IF EXISTS postgis_extension_drop_if_exists(text, text);
-DROP FUNCTION IF EXISTS postgis_extension_AddToSearchPath(varchar);
-DROP FUNCTION IF EXISTS postgis_extension_AddToSearchPath(text);
diff --git a/extensions/postgis_tiger_geocoder/Makefile.in b/extensions/postgis_tiger_geocoder/Makefile.in
index e064d6f0b..2f8f02bc8 100644
--- a/extensions/postgis_tiger_geocoder/Makefile.in
+++ b/extensions/postgis_tiger_geocoder/Makefile.in
@@ -181,8 +181,7 @@ sql/tiger_geocoder.sql.in: sql_bits/norm_addy_create.sql.in \
 	../../extras/tiger_geocoder/geocode/reverse_geocode.sql \
 	../../extras/tiger_geocoder/geocode/census_tracts_functions.sql \
 	../../extras/tiger_geocoder/topology/tiger_topology_loader.sql \
-	../postgis_extension_helper.sql \
-	sql/add_search_path.sql | sql
+	../postgis_extension_helper.sql | sql
 	cat $^ > $@
 	echo "SELECT postgis_extension_drop_if_exists('${EXTENSION}', 'DROP SCHEMA tiger_data');" >> $@
 	cat @srcdir@/../postgis_extension_helper_uninstall.sql  >> $@
@@ -191,9 +190,6 @@ sql/tiger_geocoder.sql: sql/tiger_geocoder.sql.in
 	sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' -e '/^CREATE SCHEMA/d;'  $< > $@
 	$(PERL) -pe 's/BEGIN\;//g ; s/COMMIT\;//g' $< > $@
 
-sql/add_search_path.sql: sql_bits/add_search_path.sql.in | sql
-	cp $< $@
-
 #hardcode for now
 #TODO: generate via create_unpackaged.pl
 sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: sql_bits/tiger_geocoder--unpackaged.sql.in | sql
diff --git a/extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in b/extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in
deleted file mode 100644
index e3d3d5833..000000000
--- a/extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in
+++ /dev/null
@@ -1,18 +0,0 @@
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
---
-----
--- PostGIS - Spatial Types for PostgreSQL
--- http://postgis.net
---
--- Copyright (C) 2012 Regina Obe <lr at pcorp.us>
---
--- This is free software; you can redistribute and/or modify it under
--- the terms of the GNU General Public Licence. See the COPYING file.
---
--- Author: Regina Obe <lr at pcorp.us>
---
--- This adds the tiger schema to search path
--- Functions in tiger are not schema qualified
--- so this is needed for them to work
-
-SELECT postgis_extension_AddToSearchPath('tiger');
diff --git a/libpgcommon/sql/AddToSearchPath.sql.inc b/libpgcommon/sql/AddToSearchPath.sql.inc
deleted file mode 100644
index ff313406c..000000000
--- a/libpgcommon/sql/AddToSearchPath.sql.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-
-  Common body for a function to add a schema to the search path
-  Use as follows:
-
-    CREATE OR REPLACE FUNCTION someName(someARg text)
-    #include "libpgcommon/sql/AddToSearchPath.sql.inc"
-*/
-RETURNS text
-AS
-$BODY$
-DECLARE
-	var_result text;
-	var_cur_search_path text;
-	a_schema_name text := $1;
-BEGIN
-	WITH settings AS (
-		SELECT unnest(setconfig) config
-		FROM pg_catalog.pg_db_role_setting
-		WHERE setdatabase = (
-			SELECT oid
-			FROM pg_catalog.pg_database
-			WHERE datname = current_database()
-		) and setrole = 0
-	)
-	SELECT regexp_replace(config, '^search_path=', '')
-	FROM settings WHERE config like 'search_path=%'
-	INTO var_cur_search_path;
-
-	RAISE NOTICE 'cur_search_path from pg_db_role_setting is %', var_cur_search_path;
-
-	-- only run this test if person creating the extension is a super user
-	IF var_cur_search_path IS NULL AND (SELECT rolsuper FROM pg_catalog.pg_roles where rolname = CURRENT_USER) THEN
-		SELECT setting
-		INTO var_cur_search_path
-		FROM pg_catalog.pg_file_settings
-		WHERE name = 'search_path' AND applied;
-
-		RAISE NOTICE 'cur_search_path from pg_file_settings is %', var_cur_search_path;
-	END IF;
-
-	IF var_cur_search_path IS NULL THEN
-		SELECT boot_val
-		INTO var_cur_search_path
-		FROM pg_catalog.pg_settings
-		WHERE name = 'search_path';
-
-		RAISE NOTICE 'cur_search_path from pg_settings is %', var_cur_search_path;
-	END IF;
-
-	IF var_cur_search_path LIKE '%' || quote_ident(a_schema_name) || '%' THEN
-		var_result := a_schema_name || ' already in database search_path';
-	ELSE
-		var_cur_search_path := var_cur_search_path || ', '
-                       || quote_ident(a_schema_name);
-		EXECUTE 'ALTER DATABASE ' || quote_ident(current_database())
-                             || ' SET search_path = ' || var_cur_search_path;
-		var_result := a_schema_name || ' has been added to end of database search_path ';
-	END IF;
-
-	EXECUTE 'SET search_path = ' || var_cur_search_path;
-
-  RETURN var_result;
-END
-$BODY$
--- explicitly move pg_temp after pg_catalog in search path
-SET search_path = pg_catalog, pg_temp
-LANGUAGE 'plpgsql' VOLATILE STRICT
-;
-
diff --git a/topology/Makefile.in b/topology/Makefile.in
index 24f155599..25cae0bfa 100644
--- a/topology/Makefile.in
+++ b/topology/Makefile.in
@@ -159,7 +159,6 @@ topology.sql: \
 	sql/topogeometry/topogeom_edit.sql.in \
 	sql/topogeometry/simplify.sql.in \
 	sql/predicates.sql.in \
-	../libpgcommon/sql/AddToSearchPath.sql.inc \
 	../postgis/sqldefines.h \
 	../postgis_revision.h
 
diff --git a/topology/sql/manage/ManageHelper.sql.in b/topology/sql/manage/ManageHelper.sql.in
index 4c912317b..bfae596b6 100644
--- a/topology/sql/manage/ManageHelper.sql.in
+++ b/topology/sql/manage/ManageHelper.sql.in
@@ -17,6 +17,67 @@
 -- if it is not already in the database search path
 -- This is a helper function for upgrade/install
 -- We may want to move this function as a generic helper
+--
 CREATE OR REPLACE FUNCTION topology.AddToSearchPath(a_schema_name varchar)
-#include "libpgcommon/sql/AddToSearchPath.sql.inc"
---} AddToSearchPath
+RETURNS text
+AS
+$BODY$
+DECLARE
+    var_result text;
+    var_cur_search_path text;
+    a_schema_name text := $1;
+BEGIN
+    WITH settings AS (
+        SELECT unnest(setconfig) config
+        FROM pg_catalog.pg_db_role_setting
+        WHERE setdatabase = (
+            SELECT oid
+            FROM pg_catalog.pg_database
+            WHERE datname = current_database()
+        ) and setrole = 0
+    )
+    SELECT regexp_replace(config, '^search_path=', '')
+    FROM settings WHERE config like 'search_path=%'
+    INTO var_cur_search_path;
+
+    RAISE NOTICE 'cur_search_path from pg_db_role_setting is %', var_cur_search_path;
+
+    -- only run this test if person creating the extension is a super user
+    IF var_cur_search_path IS NULL AND (SELECT rolsuper FROM pg_catalog.pg_roles where rolname = CURRENT_USER) THEN
+        SELECT setting
+        INTO var_cur_search_path
+        FROM pg_catalog.pg_file_settings
+        WHERE name = 'search_path' AND applied;
+
+        RAISE NOTICE 'cur_search_path from pg_file_settings is %', var_cur_search_path;
+    END IF;
+
+    IF var_cur_search_path IS NULL THEN
+        SELECT boot_val
+        INTO var_cur_search_path
+        FROM pg_catalog.pg_settings
+        WHERE name = 'search_path';
+
+        RAISE NOTICE 'cur_search_path from pg_settings is %', var_cur_search_path;
+    END IF;
+
+    IF var_cur_search_path LIKE '%' || quote_ident(a_schema_name) || '%' THEN
+        var_result := a_schema_name || ' already in database search_path';
+    ELSE
+        var_cur_search_path := var_cur_search_path || ', '
+                       || quote_ident(a_schema_name);
+        EXECUTE 'ALTER DATABASE ' || quote_ident(current_database())
+                             || ' SET search_path = ' || var_cur_search_path;
+        var_result := a_schema_name || ' has been added to end of database search_path ';
+    END IF;
+
+    EXECUTE 'SET search_path = ' || var_cur_search_path;
+
+  RETURN var_result;
+END
+$BODY$
+-- explicitly move pg_temp after pg_catalog in search path
+SET search_path = pg_catalog, pg_temp
+LANGUAGE 'plpgsql' VOLATILE STRICT
+;
+

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

Summary of changes:
 extensions/Makefile.in                             |  2 -
 extensions/postgis_extension_helper.sql.in         |  2 -
 extensions/postgis_extension_helper_uninstall.sql  |  2 -
 extensions/postgis_tiger_geocoder/Makefile.in      |  6 +-
 .../sql_bits/add_search_path.sql.in                | 18 ------
 libpgcommon/sql/AddToSearchPath.sql.inc            | 70 ----------------------
 topology/Makefile.in                               |  1 -
 topology/sql/manage/ManageHelper.sql.in            | 65 +++++++++++++++++++-
 8 files changed, 64 insertions(+), 102 deletions(-)
 delete mode 100644 extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in
 delete mode 100644 libpgcommon/sql/AddToSearchPath.sql.inc


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list