X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/8d221e2c8263133b9784803dc7f61701ae872254..de46b621869b3cec48efdb6520ec29177f267869:/sql/functions.sql?ds=sidebyside

diff --git a/sql/functions.sql b/sql/functions.sql
index 777d20d0..554ddf32 100644
--- a/sql/functions.sql
+++ b/sql/functions.sql
@@ -598,8 +598,8 @@ BEGIN
     isArea := true;
     centroid := ST_Centroid(geometry);
 
-    FOR geometry IN select split_geometry(geometry) as geometry LOOP
-      x := insertLocationAreaLarge(partition, place_id, country_code, keywords, rank_search, rank_address, false, centroid, geometry);
+    FOR secgeo IN select split_geometry(geometry) AS geom LOOP
+      x := insertLocationAreaLarge(partition, place_id, country_code, keywords, rank_search, rank_address, false, centroid, secgeo);
     END LOOP;
 
   ELSEIF rank_search < 26 THEN
@@ -1225,7 +1225,7 @@ DECLARE
   result BOOLEAN;
 BEGIN
 
-  IF NEW.indexed_status != 0 OR OLD.indexed_status = 0 THEN
+  IF NEW.indexed_status != 0 OR OLD.indexed_status = 0 OR NEW.linked_place_id is not null THEN
     RETURN NEW;
   END IF;
 
@@ -1256,7 +1256,7 @@ BEGIN
       RETURN NEW;
     END IF;
 
-    IF OLD.indexed_status > 1 THEN
+    IF OLD.indexed_status > 0 THEN
       result := deleteSearchName(NEW.partition, NEW.place_id);
       DELETE FROM place_addressline WHERE place_id = NEW.place_id;
       DELETE FROM place_boundingbox where place_id = NEW.place_id;
@@ -2878,10 +2878,10 @@ BEGIN
     IF st_intersects(geometry, secbox) THEN
       secgeo := st_intersection(geometry, secbox);
       IF NOT ST_IsEmpty(secgeo) AND ST_GeometryType(secgeo) in ('ST_Polygon','ST_MultiPolygon') THEN
-        FOR geo IN select quad_split_geometry(secgeo, maxarea, remainingdepth) as geometry LOOP
-          IF NOT ST_IsEmpty(geo.geometry) AND ST_GeometryType(geo.geometry) in ('ST_Polygon','ST_MultiPolygon') THEN
+        FOR geo IN select quad_split_geometry(secgeo, maxarea, remainingdepth) as geom LOOP
+          IF NOT ST_IsEmpty(geo.geom) AND ST_GeometryType(geo.geom) in ('ST_Polygon','ST_MultiPolygon') THEN
             added := added + 1;
-            RETURN NEXT geo.geometry;
+            RETURN NEXT geo.geom;
           END IF;
         END LOOP;
       END IF;
@@ -2900,8 +2900,8 @@ DECLARE
   geo RECORD;
 BEGIN
   -- 10000000000 is ~~ 1x1 degree
-  FOR geo IN select quad_split_geometry(geometry, 0.25, 20) as geometry LOOP
-    RETURN NEXT geo.geometry;
+  FOR geo IN select quad_split_geometry(geometry, 0.25, 20) as geom LOOP
+    RETURN NEXT geo.geom;
   END LOOP;
   RETURN;
 END;
