[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