]> git.openstreetmap.org Git - nominatim.git/blobdiff - sql/functions.sql
use json_encode in search stuff as well
[nominatim.git] / sql / functions.sql
index c025f22161012549bd0568afe82803a0f6b8da4f..03ea4011ddeec55f7ba388b43e40e6a75dc67125 100644 (file)
@@ -1630,7 +1630,7 @@ BEGIN
     location_rank_search := 100;
     location_distance := 0;
 -- RAISE WARNING '  getNearFeatures(%,''%'',%,''%'')',NEW.partition, place_centroid, search_maxrank, isin_tokens;
-    FOR location IN SELECT distinct * from getNearFeatures(NEW.partition, place_centroid, search_maxrank, isin_tokens) LOOP
+    FOR location IN SELECT * from getNearFeatures(NEW.partition, place_centroid, search_maxrank, isin_tokens) LOOP
 
 --RAISE WARNING '  AREA: %',location;
 
@@ -1662,7 +1662,7 @@ BEGIN
       FOR i IN 1..array_upper(isin_tokens, 1) LOOP
 --RAISE WARNING '  getNearestNamedFeature: % % % %',NEW.partition, place_centroid, search_maxrank, isin_tokens[i];
 
-        FOR location IN SELECT distinct * from getNearestNamedFeature(NEW.partition, place_centroid, search_maxrank, isin_tokens[i]) LOOP
+        FOR location IN SELECT * from getNearestNamedFeature(NEW.partition, place_centroid, search_maxrank, isin_tokens[i]) LOOP
 
 --RAISE WARNING '  ISIN: %',location;
 
@@ -1739,7 +1739,7 @@ DECLARE
   b BOOLEAN;
   classtable TEXT;
 BEGIN
-  RAISE WARNING 'placex_delete % %',OLD.osm_type,OLD.osm_id;
+  -- RAISE WARNING 'placex_delete % %',OLD.osm_type,OLD.osm_id;
 
   update placex set linked_place_id = null where linked_place_id = OLD.place_id;
   --DEBUG: RAISE WARNING 'placex_delete:01 % %',OLD.osm_type,OLD.osm_id;
@@ -1806,8 +1806,8 @@ BEGIN
 
   --DEBUG: RAISE WARNING 'delete: % % % %',OLD.osm_type,OLD.osm_id,OLD.class,OLD.type;
 
-  -- deleting large polygons can have a massive effect onhe system - require manual intervention to let them through
-  IF st_area(OLD.geometry) > 2 THEN
+  -- deleting large polygons can have a massive effect on the system - require manual intervention to let them through
+  IF st_area(OLD.geometry) > 2 and st_isvalid(OLD.geometry) THEN
     insert into import_polygon_delete values (OLD.osm_type,OLD.osm_id,OLD.class,OLD.type);
     RETURN NULL;
   END IF;