[postgis-tickets] [SCM] PostGIS branch stable-3.0 updated. 3.0.6-8-g506943604

git at osgeo.org git at osgeo.org
Fri Aug 12 02:14:57 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, stable-3.0 has been updated
       via  506943604d2d5336691838e16cb7ec4cf119d0dc (commit)
      from  a0c29068d31774ee9e85acc2c0ce685d7a4e3741 (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 506943604d2d5336691838e16cb7ec4cf119d0dc
Author: Sandro Santilli <strk at kbt.io>
Date:   Thu Feb 27 09:42:05 2020 +0100

    Work around PG13 drop of `FROM unpackaged` syntax
    
    - Always install empty extension--unpackage.sql scripts
    - Have run_test.pl use create/update trick for PG13
    - Re-enable check_all_upgrades.sh testing of unpackaged
    - Have postgis_extensions_upgrade use the unpackaged trick
    
    References #4643 in stable-3.0 branch (3.0.7dev)
    
    This code has been in branches 3.1 onward for a long time now,
    but never made it into 3.0 until today when I saw 3.0 is advertised
    as supporting PostgreSQL 13 here:
    
      https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS
    
    This is a backport of master branch commits:
      - 963aad2943924702e03b180a82bd1412c0d5880e
      - 33db86ac377e060f59c353ab7b44703ebfbf90aa
      - 43b1f58ed8869d4a6d0b2c58cbecc49d407e39e2
      - 520af0e8d1bb6e9544d974713bb87e428ff4230b

diff --git a/NEWS b/NEWS
index f17cb0d6d..790b5839f 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ PostGIS 3.0.7dev
 
 * Bug Fixes
   - #5202, Guard against downgrades (Sandro Santilli)
+  - #4643, Fix upgrade from unpackaged on PostgreSQL >= 13 (Sandro Santilli)
 
 PostGIS 3.0.6
 2022/07/20
diff --git a/extensions/postgis/Makefile.in b/extensions/postgis/Makefile.in
index 9acf25ed0..68f7df6e8 100644
--- a/extensions/postgis/Makefile.in
+++ b/extensions/postgis/Makefile.in
@@ -32,6 +32,7 @@ PREREL_PREFIX = $(shell echo $(EXTVERSION) | \
 DATA_built = \
 	$(EXTENSION).control \
 	sql/$(EXTENSION)--$(EXTVERSION).sql \
+	sql/$(EXTENSION)--unpackaged.sql \
 	sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql \
 	$(NULL)
 
@@ -105,6 +106,9 @@ sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: $(EXTENSION_UNPACKAGED_UPGRADE_
 		| $(PERL) ../../utils/create_unpackaged.pl postgis \
 		>> $@
 
+sql/$(EXTENSION)--unpackaged.sql: Makefile | sql
+	echo "-- Nothing to do here" > $@
+
 sql:
 	mkdir -p $@
 
diff --git a/extensions/postgis_raster/Makefile.in b/extensions/postgis_raster/Makefile.in
index 5ccbfe0af..678537001 100644
--- a/extensions/postgis_raster/Makefile.in
+++ b/extensions/postgis_raster/Makefile.in
@@ -32,6 +32,7 @@ PREREL_PREFIX = $(shell echo $(EXTVERSION) | \
 DATA_built = \
 	$(EXTENSION).control \
 	sql/$(EXTENSION)--$(EXTVERSION).sql \
+	sql/$(EXTENSION)--unpackaged.sql \
 	sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql \
 	$(NULL)
 
@@ -77,6 +78,9 @@ $(EXTENSION).control: $(EXTENSION).control.in Makefile
 sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql | sql
 	cp $< $@
 
+sql/$(EXTENSION)--unpackaged.sql: Makefile | sql
+	echo "-- Nothing to do here" > $@
+
 sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: $(EXTENSION_UNPACKAGED_UPGRADE_SCRIPTS) ../../utils/create_unpackaged.pl sql/$(EXTENSION)--ANY--$(EXTVERSION).sql Makefile | sql
 	# Ensure version is correct
 	cat sql/$(EXTENSION)--ANY--$(EXTVERSION).sql > $@
diff --git a/extensions/postgis_sfcgal/Makefile.in b/extensions/postgis_sfcgal/Makefile.in
index e50e8bf08..7663330b0 100644
--- a/extensions/postgis_sfcgal/Makefile.in
+++ b/extensions/postgis_sfcgal/Makefile.in
@@ -25,6 +25,7 @@ PREREL_PREFIX = $(shell echo $(EXTVERSION) | \
 DATA_built = \
 	$(EXTENSION).control \
 	sql/$(EXTENSION)--$(EXTVERSION).sql \
+	sql/$(EXTENSION)--unpackaged.sql \
 	sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql \
 	$(NULL)
 
@@ -78,6 +79,9 @@ sql_bits/sfcgal_comments.sql: ../../doc/sfcgal_comments.sql
 	mkdir -p sql_bits
 	cp $< $@
 
+sql/$(EXTENSION)--unpackaged.sql: Makefile | sql
+	echo "-- Nothing to do here" > $@
+
 #grep all lines that start with CREATE OR REPLACE FUNCTION, TRIGGER...
 #then replace CREATE OR REPLACE .. with ALTER EXTENSION..;
 #then remove default values and extra junk
diff --git a/extensions/postgis_topology/Makefile.in b/extensions/postgis_topology/Makefile.in
index 3b271a494..8b95ab447 100644
--- a/extensions/postgis_topology/Makefile.in
+++ b/extensions/postgis_topology/Makefile.in
@@ -26,6 +26,7 @@ PREREL_PREFIX = $(shell echo $(EXTVERSION) | \
 DATA_built = \
 	$(EXTENSION).control \
 	sql/$(EXTENSION)--$(EXTVERSION).sql \
+	sql/$(EXTENSION)--unpackaged.sql \
 	sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql \
 	$(NULL)
 
@@ -51,12 +52,13 @@ $(EXTENSION).control: $(EXTENSION).control.in Makefile
 		| sed -e 's|@EXTVERSION@|$(EXTVERSION)|g' \
 		> $@
 
-sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql
-	mkdir -p sql
+sql:
+	mkdir -p $@
+
+sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql | sql
 	cp $< $@
 
-sql/$(EXTENSION).sql: extlock.sql sql_bits/topology.sql  sql_bits/mark_editable_objects.sql.in sql_bits/topology_comments.sql
-	mkdir -p sql
+sql/$(EXTENSION).sql: extlock.sql sql_bits/topology.sql sql_bits/mark_editable_objects.sql.in sql_bits/topology_comments.sql | sql
 	cat $^ > $@
 
 #strip BEGIN/COMMIT since these are not allowed in extensions
@@ -71,8 +73,10 @@ sql_bits/topology.sql: ../../topology/topology.sql
 sql_bits/topology_comments.sql: ../../doc/topology_comments.sql
 	cp $< $@
 
-sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: ../../topology/topology.sql ../../utils/create_unpackaged.pl sql/topology_upgrade.sql Makefile
-	mkdir -p sql
+sql/$(EXTENSION)--unpackaged.sql: Makefile | sql
+	echo "-- Nothing to do here" > $@
+
+sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: ../../topology/topology.sql ../../utils/create_unpackaged.pl sql/topology_upgrade.sql Makefile | sql
 	# Ugprade before packaging
 	cat sql/topology_upgrade.sql > $@
 	cat $< | $(PERL) ../../utils/create_unpackaged.pl postgis_topology >> $@
@@ -85,8 +89,7 @@ sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: ../../topology/topology.sql ../
 #aggregates are special
 #they can be dropped but we need to remove
 #them from the extension first
-sql/topology_upgrade.sql:  ../../topology/topology_upgrade.sql
-	mkdir -p sql
+sql/topology_upgrade.sql:  ../../topology/topology_upgrade.sql | sql
 	sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' -e '/^CREATE SCHEMA/d;'  $< > $@
 
 sql/$(EXTENSION)--ANY--$(EXTVERSION).sql: $(EXTENSION_UPGRADE_SCRIPTS)
diff --git a/postgis/postgis.sql.in b/postgis/postgis.sql.in
index 26bd3da64..72a9c359c 100644
--- a/postgis/postgis.sql.in
+++ b/postgis/postgis.sql.in
@@ -2843,12 +2843,23 @@ BEGIN
 							JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid )
 							WHERE n.nspname = 'tiger' AND c.relname = 'geocode_settings') )
 			THEN
-				--force install in same schema as postgis only if postgis extension is installed
-				IF rec.name NOT IN('postgis', 'postgis_topology', 'postgis_tiger_geocoder') AND EXISTS (SELECT 1 FROM pg_catalog.pg_extension WHERE extname = 'postgis') THEN
-					sql = 'CREATE EXTENSION ' || rec.name || ' FROM unpackaged SCHEMA '
-					|| pg_catalog.quote_ident( (SELECT ns.nspname FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_namespace AS ns ON e.extnamespace = ns.oid WHERE extname = 'postgis')) || ';';
+				-- Force install in same schema as postgis
+				SELECT INTO var_schema n.nspname
+				  FROM pg_namespace n, pg_proc p
+				  WHERE p.proname = 'postgis_full_version'
+				    AND n.oid = p.pronamespace
+				  LIMIT 1;
+				IF rec.name NOT IN('postgis_topology', 'postgis_tiger_geocoder')
+				THEN
+					sql := format(
+					          'CREATE EXTENSION %1$I SCHEMA %2$I VERSION unpackaged;'
+					          'ALTER EXTENSION %1$I UPDATE TO %3$I',
+					          rec.name, var_schema, rec.default_version);
 				ELSE
-					sql = 'CREATE EXTENSION ' || rec.name || ' FROM unpackaged;';
+					sql := format(
+					         'CREATE EXTENSION %1$I VERSION unpackaged;'
+					         'ALTER EXTENSION %1$I UPDATE TO %2$I',
+					         rec.name, rec.default_version);
 				END IF;
 				RAISE NOTICE 'Packaging extension %', rec.name;
 				RAISE DEBUG '%', sql;

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

Summary of changes:
 NEWS                                    |  1 +
 extensions/postgis/Makefile.in          |  4 ++++
 extensions/postgis_raster/Makefile.in   |  4 ++++
 extensions/postgis_sfcgal/Makefile.in   |  4 ++++
 extensions/postgis_topology/Makefile.in | 19 +++++++++++--------
 postgis/postgis.sql.in                  | 21 ++++++++++++++++-----
 6 files changed, 40 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list