From: Sandro Santilli Date: Tue, 11 Sep 2018 09:19:09 +0000 (+0000) Subject: Only unpackage raster when needed, and hint about restoring it X-Git-Tag: 3.0.0alpha1~449 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c9b68f9ea1a225ad7488c12887fce8449947c7e7;p=postgis Only unpackage raster when needed, and hint about restoring it git-svn-id: http://svn.osgeo.org/postgis/trunk@16738 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/extensions/postgis/Makefile.in b/extensions/postgis/Makefile.in index 7b2865c5e..03fbbb9bf 100644 --- a/extensions/postgis/Makefile.in +++ b/extensions/postgis/Makefile.in @@ -41,9 +41,9 @@ EXTENSION_SCRIPTS = \ # NOTE: order matters EXTENSION_UPGRADE_SCRIPTS = \ ../postgis_extension_helper.sql \ + sql/raster_unpackage.sql \ sql/postgis_upgrade.sql \ ../../doc/postgis_comments.sql \ - sql/raster_unpackage.sql \ ../postgis_extension_helper_uninstall.sql # Scripts making up the extension upgrade-from-unpackaged file @@ -80,11 +80,16 @@ $(EXTENSION).control: $(EXTENSION).control.in Makefile $(RASTER_DROP_SCRIPTS): $(MAKE) -C ../../raster -sql/raster_unpackage.sql: $(RASTER_DROP_SCRIPTS) ../../utils/create_extension_unpackage.pl Makefile | sql +sql/raster_unpackage.sql: ../../utils/create_extension_unpackage.pl Makefile +sql/raster_unpackage.sql: $(RASTER_DROP_SCRIPTS) | sql + + sed '/UNPACKAGE_CODE/q' unpackage_raster_if_needed.sql > $@ + cat $(RASTER_DROP_SCRIPTS) \ - | ../../utils/create_extension_unpackage.pl postgis > $@ + | ../../utils/create_extension_unpackage.pl postgis >> $@ -sql/raster_unpackage.sql: Makefile + sed -ne '/UNPACKAGE_CODE/{s///; :a' -e 'n;p;ba' -e '}' \ + unpackage_raster_if_needed.sql >> $@ sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql | sql cp $< $@ diff --git a/extensions/postgis/unpackage_raster_if_needed.sql b/extensions/postgis/unpackage_raster_if_needed.sql new file mode 100644 index 000000000..68ac0a138 --- /dev/null +++ b/extensions/postgis/unpackage_raster_if_needed.sql @@ -0,0 +1,18 @@ +DO $unpackage_if_needed$ +BEGIN + IF EXISTS ( + select t.typname from pg_depend d, pg_extension e, pg_type t where + e.extname = 'postgis' and d.refclassid = + 'pg_catalog.pg_extension'::pg_catalog.regclass and d.refobjid = e.oid + and d.classid = 'pg_type'::regclass and d.objid = t.oid + and t.typname = 'raster' + ) THEN + + -- UNPACKAGE_CODE -- + + RAISE WARNING 'PostGIS Raster functionality have been unpackaged' + USING HINT = 'type `CREATE EXTENSION postgis_raster FROM unpackaged` to re-package'; + END IF; +END +$unpackage_if_needed$ LANGUAGE 'plpgsql'; +