Mercurial > gemma
comparison schema/search_functions.sql @ 3741:71de5ce5a402
Added search for stretches.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Mon, 24 Jun 2019 12:47:34 +0200 |
parents | 6f1d5f310e08 |
children | 78ba9b2574ff |
comparison
equal
deleted
inserted
replaced
3740:6f1d5f310e08 | 3741:71de5ce5a402 |
---|---|
128 ORDER BY name) r; | 128 ORDER BY name) r; |
129 RETURN _result; | 129 RETURN _result; |
130 END; | 130 END; |
131 $$; | 131 $$; |
132 | 132 |
133 CREATE OR REPLACE FUNCTION search_stretches(search_string text) RETURNS jsonb | |
134 LANGUAGE plpgsql STABLE PARALLEL SAFE | |
135 AS $$ | |
136 DECLARE | |
137 _result jsonb; | |
138 BEGIN | |
139 SELECT COALESCE(json_agg(r),'[]') | |
140 INTO _result | |
141 FROM (SELECT objnam AS name, | |
142 ST_AsGeoJSON(ST_Envelope(area::geometry))::json AS geom, | |
143 'stretch' AS type | |
144 FROM waterway.stretches | |
145 WHERE objnam ILIKE '%' || search_string || '%' | |
146 OR nobjnam ILIKE '%' || search_string || '%' | |
147 ORDER BY name) r; | |
148 RETURN _result; | |
149 END; | |
150 $$; | |
151 | |
133 CREATE OR REPLACE FUNCTION search_most(search_string text) RETURNS jsonb | 152 CREATE OR REPLACE FUNCTION search_most(search_string text) RETURNS jsonb |
134 LANGUAGE plpgsql STABLE PARALLEL SAFE | 153 LANGUAGE plpgsql STABLE PARALLEL SAFE |
135 AS $$ | 154 AS $$ |
136 BEGIN | 155 BEGIN |
137 RETURN search_hectometre(search_string) | 156 RETURN search_hectometre(search_string) |
138 || search_bottlenecks(search_string) | 157 || search_bottlenecks(search_string) |
139 || search_gauges(search_string) | 158 || search_gauges(search_string) |
140 || search_sections(search_string) | 159 || search_sections(search_string) |
160 || search_stretches(search_string) | |
141 || search_cities(search_string); | 161 || search_cities(search_string); |
142 END; | 162 END; |
143 $$; | 163 $$; |