Mercurial > gemma
annotate schema/updates/1316/01.search_for_bottleneck_id.sql @ 4998:bb2123358bd8 wmst-config
Configure fairway marks layers with time support
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 09 Mar 2020 12:19:06 +0100 |
parents | 7cbe5d32a614 |
children |
rev | line source |
---|---|
4874
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
1 CREATE OR REPLACE FUNCTION search_bottlenecks(search_string text) RETURNS jsonb |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
2 LANGUAGE plpgsql STABLE PARALLEL SAFE |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
3 AS $$ |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
4 DECLARE |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
5 _result jsonb; |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
6 BEGIN |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
7 SELECT COALESCE(json_agg(r),'[]') |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
8 INTO _result |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
9 FROM (SELECT objnam AS name, |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
10 ST_AsGeoJSON(ST_Envelope(area::geometry))::json AS geom, |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
11 'bottleneck' AS type, |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
12 bottleneck_id AS location |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
13 FROM waterway.bottlenecks |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
14 WHERE (objnam ILIKE '%' || search_string || '%' |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
15 OR bottleneck_id ILIKE '%' || search_string || '%') |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
16 AND validity @> now() |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
17 ORDER BY name) r; |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
18 RETURN _result; |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
19 END; |
7cbe5d32a614
Added search for bottleneck_id.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
20 $$; |