ifeq ($(PG91),yes)
sql/$(EXTENSION).sql: sql_bits/postgis.sql sql_bits/postgis_comments.sql sql_bits/rtpostgis.sql sql_bits/raster_comments.sql sql_bits/spatial_ref_sys.sql
cat $^ > $@
-all: sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a7--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a8--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql
+all: sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a10--$(EXTVERSION).sql
sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql
cp $< $@
sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' $< > $@
# we need to also drop this temporary function from the extension
+# for casts that are being dropped we need to drop them
+# from extension only if they are in the existension so we use our postgis_extension_drop..
+# so that it will silently fail if cast is not in extension
sql_bits/rtpostgis_upgrade_20_minor.sql: ../../raster/rt_pg/rtpostgis_upgrade_20_minor.sql
sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' \
-e 's/DROP FUNCTION _rename_raster_tables();/ALTER EXTENSION ${EXTENSION} DROP FUNCTION _rename_raster_tables();DROP FUNCTION _rename_raster_tables();/g' \
+ -e 's/DROP FUNCTION _drop_st_samealignment();/ALTER EXTENSION ${EXTENSION} DROP FUNCTION _drop_st_samealignment();DROP FUNCTION _drop_st_samealignment();/g' \
+ -e 's/DROP CAST\(.*\)/SELECT postgis_extension_drop_if_exists('\''$(EXTENSION)'\'', '\''DROP CAST \1'\'');DROP CAST \1/' \
$< > $@
#can't use the one built because can't drop the postgis_version function
# -e 's/BEGIN;//g' -e 's/COMMIT;//g' \
# $< > $@
#don't drop casts just yet since we don't have provision to remove from extension yet
-#need to also drop temeporary function from extenions since it gets auto-added
+#need to also drop temeporary functions from extenions since it gets auto-added
sql_bits/postgis_upgrade_minor.sql: ../../postgis/postgis_upgrade_20_minor.sql
sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' \
-e '/^\(DROP\|CREATE\) \(CAST\).*;/d' \
sql_bits/postgis_raster_upgrade_minor.sql: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in ../../postgis/postgis_drop_before.sql.in.c sql_bits/postgis_upgrade_minor.sql sql_bits/rtpostgis_upgrade_20_minor.sql ../../doc/raster_comments.sql ../../doc/postgis_comments.sql ../postgis_extension_helper_uninstall.sql
cat $^ > $@
-sql/$(EXTENSION)--2.0.0a3--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
- cp $< $@
-
sql/$(EXTENSION)--2.0.0a7--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
cp $< $@
-sql/$(EXTENSION)--2.0.0a8--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
+sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
cp $< $@
-sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
+sql/$(EXTENSION)--2.0.0a10--$(EXTVERSION).sql: sql_bits/postgis_raster_upgrade_minor.sql
cp $< $@
# sql_bits/rtpostgis--unpackaged.sql: ../../raster/rt_pg/rtpostgis.sql
END;
$$
LANGUAGE plpgsql VOLATILE;
+
+CREATE OR REPLACE FUNCTION postgis_extension_drop_if_exists(param_extension text, param_statement text)
+ RETURNS boolean AS
+$$
+DECLARE
+ var_sql_ext text := 'ALTER EXTENSION ' || quote_ident(param_extension) || ' ' || replace(param_statement, 'IF EXISTS', '');
+ var_result boolean := false;
+BEGIN
+ BEGIN
+ EXECUTE var_sql_ext;
+ var_result := true;
+ EXCEPTION
+ WHEN OTHERS THEN
+ --this is to allow ignoring if the object does not exist in extension
+ var_result := false;
+ END;
+ RETURN var_result;
+END;
+$$
+LANGUAGE plpgsql VOLATILE;
ifeq ($(PG91),yes)
-all: sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a1--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a8--$(EXTVERSION).sql
+all: sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql sql/$(EXTENSION)--2.0.0a10--$(EXTVERSION).sql
sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql
cp $< $@
-e '/^\(CREATE\|ALTER\) \(CAST\|TYPE\|TABLE\|SCHEMA\|DOMAIN\|TRIGGER\)/,/\;/d' \
$< > $@
-sql/$(EXTENSION)--2.0.0a1--$(EXTVERSION).sql: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in sql/topology_upgrade_minor.sql sql_bits/topology_comments.sql ../postgis_extension_helper_uninstall.sql
+sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in sql/topology_upgrade_minor.sql sql_bits/topology_comments.sql ../postgis_extension_helper_uninstall.sql
cat $^ > $@
-
-sql/$(EXTENSION)--2.0.0a2--$(EXTVERSION).sql: sql/$(EXTENSION)--2.0.0a1--$(EXTVERSION).sql
- cp $< $@
-
-sql/$(EXTENSION)--2.0.0a8--$(EXTVERSION).sql: sql/$(EXTENSION)--2.0.0a1--$(EXTVERSION).sql
+
+sql/$(EXTENSION)--2.0.0a10--$(EXTVERSION).sql: sql/$(EXTENSION)--2.0.0a9--$(EXTVERSION).sql
cp $< $@
DATA = $(wildcard sql/*--*.sql) sql/$(EXTENSION)--$(EXTVERSION).sql