view schema/updates/1316/01.search_for_bottleneck_id.sql @ 5666:37c2354a6024 clickable-links

Render links only to known bottlenecks
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 05 Dec 2023 15:34:31 +0100
parents 7cbe5d32a614
children
line wrap: on
line source

CREATE OR REPLACE FUNCTION search_bottlenecks(search_string text) RETURNS jsonb
  LANGUAGE plpgsql STABLE PARALLEL SAFE
  AS $$
DECLARE
  _result jsonb;
BEGIN
  SELECT COALESCE(json_agg(r),'[]')
    INTO _result
    FROM (SELECT objnam AS name,
                 ST_AsGeoJSON(ST_Envelope(area::geometry))::json AS geom,
                 'bottleneck' AS type,
                 bottleneck_id AS location
            FROM waterway.bottlenecks
            WHERE (objnam ILIKE '%' || search_string || '%'
                   OR bottleneck_id ILIKE '%' || search_string || '%')
              AND validity @> now()
          ORDER BY name) r;
  RETURN _result;
END;
$$;