[SCM] PostGIS branch stable-3.4 updated. 3.4.0-54-g6f0854100
git at osgeo.org
git at osgeo.org
Thu Oct 26 05:37:57 PDT 2023
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.4 has been updated
via 6f0854100a8c290cb26e3bb839c6f0c30742d100 (commit)
from 98f98c4a1f526a50a2db963be38cf9d8b7ed2cf8 (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 6f0854100a8c290cb26e3bb839c6f0c30742d100
Author: Sandro Santilli <strk at kbt.io>
Date: Thu Oct 26 10:45:56 2023 +0200
Remove duplicated AddToSearchPath implementation
Use a common one, in new libpgcommon/sql directory.
References #5525 in 3.4 branch
diff --git a/.gitignore b/.gitignore
index 891b51132..a8b194cae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,6 +53,7 @@ doc/raster_gardentest_*.sql
doc/tiger_geocoder_comments.sql
doc/topology_comments.sql
extensions/Makefile
+extensions/postgis_extension_helper.sql
extensions/address_standardizer/Makefile
extensions/address_standardizer/mk-st-regexp
extensions/address_standardizer/address_standardizer--*.sql
diff --git a/extensions/Makefile.in b/extensions/Makefile.in
index 56be75191..9f725a034 100644
--- a/extensions/Makefile.in
+++ b/extensions/Makefile.in
@@ -9,6 +9,13 @@
#
#############################################################################
+srcdir = @srcdir@
+SQLPP = @SQLPP@
+PERL=@PERL@
+VPATH := $(srcdir)
+
+SCRIPTS_BUILT = postgis_extension_helper.sql
+
SUBDIRS = postgis
SUBDIRS += postgis_tiger_geocoder
ifeq (@RASTER@,raster)
@@ -31,12 +38,23 @@ all clean distclean install uninstall installcheck install-extension-upgrades-fr
$(MAKE) -C "$${DIR}" $@ || exit 1; \
done
+all: $(SCRIPTS_BUILT)
+
distclean: distclean-local
distclean-local:
rm -f Makefile
-
check check-unit check-regress:
@echo "Nothing to check"
+# 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
+ grep -v '^#' $@.tmp > $@;
+ rm -f $@.tmp
+
+clean: clean-local
+
+clean-local:
+ rm -f $(SCRIPTS_BUILT)
diff --git a/extensions/postgis_extension_helper.sql b/extensions/postgis_extension_helper.sql.in
similarity index 75%
rename from extensions/postgis_extension_helper.sql
rename to extensions/postgis_extension_helper.sql.in
index a984ecb92..632385133 100644
--- a/extensions/postgis_extension_helper.sql
+++ b/extensions/postgis_extension_helper.sql.in
@@ -102,60 +102,4 @@ $$
LANGUAGE plpgsql VOLATILE;
CREATE FUNCTION postgis_extension_AddToSearchPath(a_schema_name text)
-RETURNS text
-AS
-$$
-DECLARE
- var_result text;
- var_cur_search_path text;
-BEGIN
-
- WITH settings AS (
- SELECT pg_catalog.unnest(setconfig) config
- FROM pg_catalog.pg_db_role_setting
- WHERE setdatabase OPERATOR(pg_catalog.=) (
- SELECT oid
- FROM pg_catalog.pg_database
- WHERE datname OPERATOR(pg_catalog.=) pg_catalog.current_database()
- ) and setrole OPERATOR(pg_catalog.=) 0
- )
- SELECT pg_catalog.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;
-
- IF var_cur_search_path IS NULL THEN
- SELECT setting
- INTO var_cur_search_path
- FROM pg_catalog.pg_file_settings
- WHERE name OPERATOR(pg_catalog.=) '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 OPERATOR(pg_catalog.=) 'search_path';
-
- RAISE NOTICE 'cur_search_path from pg_settings is %', var_cur_search_path;
- END IF;
-
- IF var_cur_search_path LIKE '%' OPERATOR(pg_catalog.||) pg_catalog.quote_ident(a_schema_name) OPERATOR(pg_catalog.||) '%' THEN
- var_result := a_schema_name OPERATOR(pg_catalog.||) ' already in database search_path';
- ELSE
- var_cur_search_path := var_cur_search_path OPERATOR(pg_catalog.||) ', '
- OPERATOR(pg_catalog.||) pg_catalog.quote_ident(a_schema_name);
- EXECUTE 'ALTER DATABASE ' OPERATOR(pg_catalog.||) pg_catalog.quote_ident(pg_catalog.current_database())
- OPERATOR(pg_catalog.||) ' SET search_path = ' OPERATOR(pg_catalog.||) var_cur_search_path;
- var_result := a_schema_name OPERATOR(pg_catalog.||) ' has been added to end of database search_path ';
- END IF;
-
- EXECUTE 'SET search_path = ' OPERATOR(pg_catalog.||) var_cur_search_path;
-
- RETURN var_result;
-END
-$$
-LANGUAGE 'plpgsql' VOLATILE STRICT;
+#include "libpgcommon/sql/AddToSearchPath.sql.inc"
diff --git a/topology/sql/manage/ManageHelper.sql.in b/libpgcommon/sql/AddToSearchPath.sql.inc
similarity index 72%
copy from topology/sql/manage/ManageHelper.sql.in
copy to libpgcommon/sql/AddToSearchPath.sql.inc
index eb9da2d02..2499bfa91 100644
--- a/topology/sql/manage/ManageHelper.sql.in
+++ b/libpgcommon/sql/AddToSearchPath.sql.inc
@@ -1,29 +1,18 @@
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
---
--- PostGIS - Spatial Types for PostgreSQL
--- http://www.postgis.net
---
--- Copyright (C) 2011 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.
---
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+/*
---{
--- AddToSearchPath(schema_name)
---
--- Adds the specified schema to the database search path
--- 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)
+ 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 pg_catalog.unnest(setconfig) config
@@ -72,7 +61,6 @@ BEGIN
RETURN var_result;
END
-$$
+$BODY$
LANGUAGE 'plpgsql' VOLATILE STRICT;
---} AddToSearchPath
diff --git a/topology/Makefile.in b/topology/Makefile.in
index 23080ba31..7fb8578af 100644
--- a/topology/Makefile.in
+++ b/topology/Makefile.in
@@ -109,7 +109,7 @@ endif
# 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 $< > $@.tmp
+ $(SQLPP) -I at top_builddir@/postgis -I at top_srcdir@ $< > $@.tmp
grep -v '^#' $@.tmp | \
$(PERL) -lpe "s'MODULE_PATHNAME'\$(MODULEPATH)'g" > $@
rm -f $@.tmp
diff --git a/topology/sql/manage/ManageHelper.sql.in b/topology/sql/manage/ManageHelper.sql.in
index eb9da2d02..4c912317b 100644
--- a/topology/sql/manage/ManageHelper.sql.in
+++ b/topology/sql/manage/ManageHelper.sql.in
@@ -18,61 +18,5 @@
-- 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)
-RETURNS text
-AS
-$$
-DECLARE
- var_result text;
- var_cur_search_path text;
-BEGIN
- WITH settings AS (
- SELECT pg_catalog.unnest(setconfig) config
- FROM pg_catalog.pg_db_role_setting
- WHERE setdatabase OPERATOR(pg_catalog.=) (
- SELECT oid
- FROM pg_catalog.pg_database
- WHERE datname OPERATOR(pg_catalog.=) pg_catalog.current_database()
- ) and setrole OPERATOR(pg_catalog.=) 0
- )
- SELECT pg_catalog.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;
-
- IF var_cur_search_path IS NULL THEN
- SELECT setting
- INTO var_cur_search_path
- FROM pg_catalog.pg_file_settings
- WHERE name OPERATOR(pg_catalog.=) '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 OPERATOR(pg_catalog.=) 'search_path';
-
- RAISE NOTICE 'cur_search_path from pg_settings is %', var_cur_search_path;
- END IF;
-
- IF var_cur_search_path LIKE '%' OPERATOR(pg_catalog.||) pg_catalog.quote_ident(a_schema_name) OPERATOR(pg_catalog.||) '%' THEN
- var_result := a_schema_name OPERATOR(pg_catalog.||) ' already in database search_path';
- ELSE
- var_cur_search_path := var_cur_search_path OPERATOR(pg_catalog.||) ', '
- OPERATOR(pg_catalog.||) pg_catalog.quote_ident(a_schema_name);
- EXECUTE 'ALTER DATABASE ' OPERATOR(pg_catalog.||) pg_catalog.quote_ident(pg_catalog.current_database())
- OPERATOR(pg_catalog.||) ' SET search_path = ' OPERATOR(pg_catalog.||) var_cur_search_path;
- var_result := a_schema_name OPERATOR(pg_catalog.||) ' has been added to end of database search_path ';
- END IF;
-
- EXECUTE 'SET search_path = ' OPERATOR(pg_catalog.||) var_cur_search_path;
-
- RETURN var_result;
-END
-$$
-LANGUAGE 'plpgsql' VOLATILE STRICT;
-
+#include "libpgcommon/sql/AddToSearchPath.sql.inc"
--} AddToSearchPath
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 1 +
extensions/Makefile.in | 20 +++++++-
..._helper.sql => postgis_extension_helper.sql.in} | 58 +---------------------
.../sql/AddToSearchPath.sql.inc | 32 ++++--------
topology/Makefile.in | 2 +-
topology/sql/manage/ManageHelper.sql.in | 58 +---------------------
6 files changed, 33 insertions(+), 138 deletions(-)
rename extensions/{postgis_extension_helper.sql => postgis_extension_helper.sql.in} (75%)
copy topology/sql/manage/ManageHelper.sql.in => libpgcommon/sql/AddToSearchPath.sql.inc (72%)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list