From: Sandro Santilli Date: Sun, 22 Oct 2017 19:06:49 +0000 (+0000) Subject: Check unpackaged version for topology too X-Git-Tag: 2.5.0alpha~358 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07b66bc0e7735fbab4dc65730d6df9b6e7d3f100;p=postgis Check unpackaged version for topology too See #3892 git-svn-id: http://svn.osgeo.org/postgis/trunk@16049 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/extensions/postgis_topology/Makefile.in b/extensions/postgis_topology/Makefile.in index 881d1f2bd..240211830 100644 --- a/extensions/postgis_topology/Makefile.in +++ b/extensions/postgis_topology/Makefile.in @@ -55,9 +55,16 @@ 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/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: ../../topology/topology.sql ../../utils/create_unpackaged.pl unpackaged_check.sql Makefile mkdir -p sql - cat $< | $(PERL) ../../utils/create_unpackaged.pl postgis_topology > $@ + # Ensure version is correct + cat unpackaged_check.sql > $@ + cat $< | $(PERL) ../../utils/create_unpackaged.pl postgis_topology >> $@ + +unpackaged_check.sql: unpackaged_check.sql.in Makefile + cat $< \ + | sed -e 's|@EXTVERSION@|$(EXTVERSION)|g' \ + > $@ #upgrade script should have everything but table, schema, type creation/alter #NOTE: we assume all object definitions end in ; diff --git a/extensions/postgis_topology/unpackaged_check.sql.in b/extensions/postgis_topology/unpackaged_check.sql.in new file mode 100644 index 000000000..8b89498de --- /dev/null +++ b/extensions/postgis_topology/unpackaged_check.sql.in @@ -0,0 +1,14 @@ +DO $$ +DECLARE + ver TEXT; +BEGIN + ver := split_part(postgis_topology_scripts_installed(), ' ', 1); + IF ver != '@EXTVERSION@' THEN + RAISE EXCEPTION 'Installed PostGIS Topology version is %', ver + USING HINT = 'Try `CREATE EXTENSION postgis_topology VERSION ''' + || ver || ''' from unpackaged`,' + ' or source topology_upgrade.sql`'; + END IF; +END; +$$ LANGUAGE 'plpgsql'; +