Refactor OBS_GetAvailableTimespans
This commit is contained in:
parent
17345f4fca
commit
7aac256892
@ -28,8 +28,8 @@ Run the tests with `make test`.
|
|||||||
|
|
||||||
Update extension in a working database with:
|
Update extension in a working database with:
|
||||||
```
|
```
|
||||||
ALTER EXTENSION observatory VERSION TO 'current';
|
ALTER EXTENSION observatory UPDATE TO 'current';
|
||||||
ALTER EXTENSION observatory VERSION TO 'dev';
|
ALTER EXTENSION observatory UPDATE TO 'dev';
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: we keep the current development version install as 'dev' always;
|
Note: we keep the current development version install as 'dev' always;
|
||||||
|
8
NEWS.md
8
NEWS.md
@ -1,3 +1,11 @@
|
|||||||
|
1.9.0 (2018-02-14)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
__Improvements__
|
||||||
|
|
||||||
|
* Improved `OBS_GetAvailableTimespans` for the DO Timespans project ([bigmetadata/#422](https://github.com/CartoDB/bigmetadata/issues/422))
|
||||||
|
* Fixed documentation
|
||||||
|
|
||||||
1.8.0 (2017-10-18)
|
1.8.0 (2017-10-18)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
comment = 'CartoDB Observatory backend extension'
|
comment = 'CartoDB Observatory backend extension'
|
||||||
default_version = '1.8.0'
|
default_version = '1.9.0'
|
||||||
requires = 'postgis'
|
requires = 'postgis'
|
||||||
superuser = true
|
superuser = true
|
||||||
schema = cdb_observatory
|
schema = cdb_observatory
|
||||||
|
@ -405,6 +405,13 @@ BEGIN
|
|||||||
END
|
END
|
||||||
$$ LANGUAGE plpgsql;
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
DROP FUNCTION IF EXISTS cdb_observatory.OBS_GetAvailableTimespans(
|
||||||
|
bounds GEOMETRY,
|
||||||
|
filter_tags TEXT[],
|
||||||
|
numer_id TEXT,
|
||||||
|
denom_id TEXT,
|
||||||
|
geom_id TEXT
|
||||||
|
);
|
||||||
CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableTimespans(
|
CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableTimespans(
|
||||||
bounds GEOMETRY DEFAULT NULL,
|
bounds GEOMETRY DEFAULT NULL,
|
||||||
filter_tags TEXT[] DEFAULT NULL,
|
filter_tags TEXT[] DEFAULT NULL,
|
||||||
@ -424,7 +431,9 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableTimespans(
|
|||||||
timespan_tags JSONB,
|
timespan_tags JSONB,
|
||||||
valid_numer BOOLEAN,
|
valid_numer BOOLEAN,
|
||||||
valid_denom BOOLEAN,
|
valid_denom BOOLEAN,
|
||||||
valid_geom BOOLEAN
|
valid_geom BOOLEAN,
|
||||||
|
timespan_alias TEXT,
|
||||||
|
timespan_range DATERANGE
|
||||||
) AS $$
|
) AS $$
|
||||||
DECLARE
|
DECLARE
|
||||||
geom_clause TEXT;
|
geom_clause TEXT;
|
||||||
@ -448,12 +457,14 @@ BEGIN
|
|||||||
NULL::TEXT timespan_aggregate,
|
NULL::TEXT timespan_aggregate,
|
||||||
NULL::TEXT timespan_license,
|
NULL::TEXT timespan_license,
|
||||||
NULL::TEXT timespan_source,
|
NULL::TEXT timespan_source,
|
||||||
NULL::TEXT timespan_type,
|
timespan_type::TEXT,
|
||||||
NULL::JSONB timespan_extra,
|
NULL::JSONB timespan_extra,
|
||||||
NULL::JSONB timespan_tags,
|
NULL::JSONB timespan_tags,
|
||||||
$1 = ANY(numers) valid_numer,
|
COALESCE($1 = ANY(numers), false) valid_numer,
|
||||||
$2 = ANY(denoms) valid_denom,
|
COALESCE($2 = ANY(denoms), false) valid_denom,
|
||||||
$3 = ANY(geoms) valid_geom_id
|
COALESCE($3 = ANY(geoms), false) valid_geom_id,
|
||||||
|
timespan_alias::TEXT,
|
||||||
|
timespan_range::DATERANGE
|
||||||
FROM observatory.obs_meta_timespan
|
FROM observatory.obs_meta_timespan
|
||||||
WHERE %s (timespan_tags ?& $4 OR CARDINALITY($4) = 0)
|
WHERE %s (timespan_tags ?& $4 OR CARDINALITY($4) = 0)
|
||||||
$string$, geom_clause)
|
$string$, geom_clause)
|
||||||
|
Loading…
Reference in New Issue
Block a user