Drop objects in reverse order in downgrade script

Otherwise it fails downgrading, despite it is supposed to run everything
in the context of a transaction:

```
tests=# alter extension crankshaft update to '0.0.4';
ERROR:  cannot drop function cdb_pyaggs(numeric[],numeric[]) because
other objects depend on it
DETAIL:  extension crankshaft depends on function
cdb_pyaggs(numeric[],numeric[])
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
```
pull/80/head 0.1.0
Rafa de la Torre 8 years ago
parent c8871a5547
commit c21fcdf69a

@ -3,8 +3,6 @@
-- Complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION crankshaft" to load this file. \quit
--------------------------------------------------------------------------------
-- Version number of the extension release
CREATE OR REPLACE FUNCTION cdb_crankshaft_version()
RETURNS text AS $$
@ -13,43 +11,27 @@ $$ language 'sql' STABLE STRICT;
--------------------------------------------------------------------------------
-- PyAgg stuff
DROP FUNCTION CDB_PyAggS(Numeric[], Numeric[]);
DROP AGGREGATE CDB_PyAgg(NUMERIC[]);
--------------------------------------------------------------------------------
-- Segmentation stuff
-- Spatial Markov
DROP FUNCTION
CDB_CreateAndPredictSegment(
target NUMERIC[],
features NUMERIC[],
target_features NUMERIC[],
target_ids NUMERIC[],
n_estimators INTEGER,
max_depth INTEGER,
subsample DOUBLE PRECISION,
learning_rate DOUBLE PRECISION,
min_samples_leaf INTEGER);
CDB_SpatialMarkovTrend (
subquery TEXT,
time_cols TEXT[],
num_classes INT,
w_type TEXT,
num_ngbrs INT,
permutations INT,
geom_col TEXT,
id_col TEXT);
DROP FUNCTION
CDB_CreateAndPredictSegment (
query TEXT,
variable_name TEXT,
target_table TEXT,
n_estimators INTEGER,
max_depth INTEGER,
subsample DOUBLE PRECISION,
learning_rate DOUBLE PRECISION,
min_samples_leaf INTEGER);
--------------------------------------------------------------------------------
-- Spatial interpolation
DROP FUNCTION CDB_SpatialInterpolation(
IN query text,
IN geomin geometry[],
IN colin numeric[],
IN point geometry,
IN method integer,
IN p1 numeric,
@ -57,8 +39,7 @@ DROP FUNCTION CDB_SpatialInterpolation(
);
DROP FUNCTION CDB_SpatialInterpolation(
IN geomin geometry[],
IN colin numeric[],
IN query text,
IN point geometry,
IN method integer,
IN p1 numeric,
@ -67,15 +48,34 @@ DROP FUNCTION CDB_SpatialInterpolation(
--------------------------------------------------------------------------------
-- Spatial Markov
-- Segmentation stuff
DROP FUNCTION
CDB_SpatialMarkovTrend (
subquery TEXT,
time_cols TEXT[],
num_classes INT,
w_type TEXT,
num_ngbrs INT,
permutations INT,
geom_col TEXT,
id_col TEXT);
CDB_CreateAndPredictSegment (
query TEXT,
variable_name TEXT,
target_table TEXT,
n_estimators INTEGER,
max_depth INTEGER,
subsample DOUBLE PRECISION,
learning_rate DOUBLE PRECISION,
min_samples_leaf INTEGER);
DROP FUNCTION
CDB_CreateAndPredictSegment(
target NUMERIC[],
features NUMERIC[],
target_features NUMERIC[],
target_ids NUMERIC[],
n_estimators INTEGER,
max_depth INTEGER,
subsample DOUBLE PRECISION,
learning_rate DOUBLE PRECISION,
min_samples_leaf INTEGER);
--------------------------------------------------------------------------------
-- PyAgg stuff
DROP AGGREGATE CDB_PyAgg(NUMERIC[]);
DROP FUNCTION CDB_PyAggS(Numeric[], Numeric[]);
Loading…
Cancel
Save