changeset 3732:b1fe61b58048

Allow to search gauges per ISRS code.
author Sascha Wilde <wilde@intevation.de>
date Mon, 24 Jun 2019 11:22:16 +0200
parents 0d45a3c34900
children 1504856c9378
files schema/search_functions.sql
diffstat 1 files changed, 21 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/schema/search_functions.sql	Mon Jun 24 11:21:41 2019 +0200
+++ b/schema/search_functions.sql	Mon Jun 24 11:22:16 2019 +0200
@@ -57,14 +57,27 @@
 DECLARE
   _result jsonb;
 BEGIN
-  SELECT COALESCE(json_agg(r),'[]')
-    INTO _result
-    FROM (SELECT objname AS name,
-                 ST_AsGeoJSON(geom)::json AS geom,
-                 'gauge' AS type
-            FROM waterway.gauges
-            WHERE objname ILIKE '%' || search_string || '%'
-          ORDER BY name) r;
+  IF is_ISRSstring(search_string) THEN
+    SELECT COALESCE(json_agg(r),'[]')
+      INTO _result
+      FROM (
+         SELECT objname AS name,
+                   ST_AsGeoJSON(geom)::json AS geom,
+                   'gauge' AS type
+              FROM waterway.gauges
+              WHERE location = isrs_fromText(search_string)
+            ORDER BY name) r;
+  ELSE
+    SELECT COALESCE(json_agg(r),'[]')
+      INTO _result
+      FROM (
+         SELECT objname AS name,
+                   ST_AsGeoJSON(geom)::json AS geom,
+                   'gauge' AS type
+              FROM waterway.gauges
+              WHERE objname ILIKE '%' || search_string || '%'
+            ORDER BY name) r;
+  END IF;
   RETURN _result;
 END;
 $$;