Mercurial > gemma
changeset 749:802ecaae8410
Search back end: simply return emty array for empty result sets.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Mon, 24 Sep 2018 16:28:01 +0200 |
parents | 3cb012d4d9ef |
children | cf37bf6c28c6 |
files | pkg/controllers/search.go |
diffstat | 1 files changed, 4 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/search.go Mon Sep 24 16:19:31 2018 +0200 +++ b/pkg/controllers/search.go Mon Sep 24 16:28:01 2018 +0200 @@ -2,7 +2,6 @@ import ( "database/sql" - "fmt" "net/http" "regexp" "strconv" @@ -12,12 +11,12 @@ ) const ( - searchHectometreSQL = `SELECT json_agg(r) + searchHectometreSQL = `SELECT COALESCE(json_agg(r),'[]') FROM (SELECT location_code::text AS name, ST_AsGeoJSON(geom)::json AS geom FROM waterway.distance_marks WHERE (location_code).hectometre = $1) r` - searchBottleneckSQL = `SELECT json_agg(r) + searchBottleneckSQL = `SELECT COALESCE(json_agg(r),'[]') FROM (SELECT objnam AS name, ST_AsGeoJSON(ST_Centroid(area))::json AS geom FROM waterway.bottlenecks @@ -68,15 +67,7 @@ hectometre, ).Scan(&result) - switch { - case err == sql.ErrNoRows: - err = JSONError{ - Code: http.StatusNotFound, - Message: fmt.Sprintf("Cannot find river hectometre %d.", - hectometre), - } - return - case err != nil: + if err != nil { return } @@ -90,20 +81,11 @@ "%"+s.SearchString+"%", ).Scan(&result) - switch { - case err == sql.ErrNoRows: - err = JSONError{ - Code: http.StatusNotFound, - Message: fmt.Sprintf("No Results for %s.", - s.SearchString), - } - return - case err != nil: + if err != nil { return } jr.Result = strings.NewReader(result) - } return