[postgis-tickets] [SCM] PostGIS branch master updated. 3.2.0-705-g3dea38a65

git at osgeo.org git at osgeo.org
Fri Apr 8 02:40:39 PDT 2022


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  3dea38a651fa9c4538fd087df271a38af6f151bc (commit)
      from  8172be380d38c26fa3b501932a335a8803f23385 (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 3dea38a651fa9c4538fd087df271a38af6f151bc
Author: Sandro Santilli <strk at kbt.io>
Date:   Fri Apr 8 11:08:49 2022 +0200

    Do not undo search_path changes done by pgis exts in single session
    
    References #5125 in master branch (3.3.0dev)

diff --git a/extensions/postgis_extension_helper.sql b/extensions/postgis_extension_helper.sql
index 77ef0db74..fe6ed9ba9 100644
--- a/extensions/postgis_extension_helper.sql
+++ b/extensions/postgis_extension_helper.sql
@@ -109,7 +109,32 @@ DECLARE
 	var_result text;
 	var_cur_search_path text;
 BEGIN
-	SELECT reset_val INTO var_cur_search_path FROM pg_catalog.pg_settings WHERE name = 'search_path';
+
+	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(c, '^search_path=', '')
+	FROM settings WHERE c like 'search_path=%'
+	INTO var_cur_search_path;
+
+	RAISE NOTICE 'cur_search_path from pg_db_role_setting is %', var_cur_search_path;
+
+	IF var_cur_search_path IS NULL THEN
+		SELECT reset_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 '%' || pg_catalog.quote_ident(a_schema_name) || '%' THEN
 		var_result := a_schema_name || ' already in database search_path';
 	ELSE

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

Summary of changes:
 extensions/postgis_extension_helper.sql | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list