Refactor OBS_GetAvailableTimespans
This commit is contained in:
@@ -405,6 +405,13 @@ BEGIN
|
||||
END
|
||||
$$ 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(
|
||||
bounds GEOMETRY DEFAULT NULL,
|
||||
filter_tags TEXT[] DEFAULT NULL,
|
||||
@@ -424,7 +431,9 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableTimespans(
|
||||
timespan_tags JSONB,
|
||||
valid_numer BOOLEAN,
|
||||
valid_denom BOOLEAN,
|
||||
valid_geom BOOLEAN
|
||||
valid_geom BOOLEAN,
|
||||
timespan_alias TEXT,
|
||||
timespan_range DATERANGE
|
||||
) AS $$
|
||||
DECLARE
|
||||
geom_clause TEXT;
|
||||
@@ -448,12 +457,14 @@ BEGIN
|
||||
NULL::TEXT timespan_aggregate,
|
||||
NULL::TEXT timespan_license,
|
||||
NULL::TEXT timespan_source,
|
||||
NULL::TEXT timespan_type,
|
||||
timespan_type::TEXT,
|
||||
NULL::JSONB timespan_extra,
|
||||
NULL::JSONB timespan_tags,
|
||||
$1 = ANY(numers) valid_numer,
|
||||
$2 = ANY(denoms) valid_denom,
|
||||
$3 = ANY(geoms) valid_geom_id
|
||||
COALESCE($1 = ANY(numers), false) valid_numer,
|
||||
COALESCE($2 = ANY(denoms), false) valid_denom,
|
||||
COALESCE($3 = ANY(geoms), false) valid_geom_id,
|
||||
timespan_alias::TEXT,
|
||||
timespan_range::DATERANGE
|
||||
FROM observatory.obs_meta_timespan
|
||||
WHERE %s (timespan_tags ?& $4 OR CARDINALITY($4) = 0)
|
||||
$string$, geom_clause)
|
||||
|
||||
Reference in New Issue
Block a user