Mercurial > gemma
diff schema/search_functions.sql @ 5130:a6e5bb85f0a7
Added new (optional) parameter "time" to search end point.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Fri, 27 Mar 2020 12:37:26 +0100 |
parents | 7cbe5d32a614 |
children |
line wrap: on
line diff
--- a/schema/search_functions.sql Fri Mar 27 12:20:48 2020 +0100 +++ b/schema/search_functions.sql Fri Mar 27 12:37:26 2020 +0100 @@ -4,7 +4,7 @@ -- SPDX-License-Identifier: AGPL-3.0-or-later -- License-Filename: LICENSES/AGPL-3.0.txt --- Copyright (C) 2018,2019 by via donau +-- Copyright (C) 2018,2019,2020 by via donau -- – Österreichische Wasserstraßen-Gesellschaft mbH -- Software engineering by Intevation GmbH @@ -42,7 +42,10 @@ END; $$; -CREATE OR REPLACE FUNCTION search_bottlenecks(search_string text) RETURNS jsonb +CREATE OR REPLACE FUNCTION search_bottlenecks( + search_string text, + search_time timestamp with time zone) +RETURNS jsonb LANGUAGE plpgsql STABLE PARALLEL SAFE AS $$ DECLARE @@ -57,7 +60,7 @@ FROM waterway.bottlenecks WHERE (objnam ILIKE '%' || search_string || '%' OR bottleneck_id ILIKE '%' || search_string || '%') - AND validity @> now() + AND validity @> search_time ORDER BY name) r; RETURN _result; END; @@ -159,12 +162,16 @@ END; $$; -CREATE OR REPLACE FUNCTION search_most(search_string text) RETURNS jsonb +CREATE OR REPLACE FUNCTION search_most( + search_string text, + search_time timestamp with time zone) +RETURNS jsonb LANGUAGE plpgsql STABLE PARALLEL SAFE AS $$ BEGIN RETURN search_hectometre(search_string) - || search_bottlenecks(search_string) + || search_bottlenecks(search_string, + COALESCE(search_time, current_timestamp)) || search_gauges(search_string) || search_sections(search_string) || search_stretches(search_string)