X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/efafa5271957fb54b356ec1c90e8613f14de40d4..671f4e943e2dd09311788c50b1002a175a254cb6:/lib-sql/functions/utils.sql?ds=sidebyside diff --git a/lib-sql/functions/utils.sql b/lib-sql/functions/utils.sql index d7fdae3d..f5be7b61 100644 --- a/lib-sql/functions/utils.sql +++ b/lib-sql/functions/utils.sql @@ -170,15 +170,6 @@ BEGIN -- RAISE WARNING 'near osm fallback: %', ST_AsText(place_centre); - -- - FOR nearcountry IN - SELECT country_code from country_osm_grid - WHERE st_dwithin(geometry, place_centre, 0.5) - ORDER BY st_distance(geometry, place_centre) asc, area asc limit 1 - LOOP - RETURN nearcountry.country_code; - END LOOP; - RETURN NULL; END; $$ @@ -438,9 +429,10 @@ BEGIN SELECT osm_type, osm_id, class, type FROM placex WHERE place_id = placeid INTO osmtype, osmid, pclass, ptype; DELETE FROM import_polygon_delete where osm_type = osmtype and osm_id = osmid and class = pclass and type = ptype; DELETE FROM import_polygon_error where osm_type = osmtype and osm_id = osmid and class = pclass and type = ptype; - -- force delete from place/placex by making it a very small geometry - UPDATE place set geometry = ST_SetSRID(ST_Point(0,0), 4326) where osm_type = osmtype and osm_id = osmid and class = pclass and type = ptype; - DELETE FROM place where osm_type = osmtype and osm_id = osmid and class = pclass and type = ptype; + -- force delete by directly entering it into the to-be-deleted table + INSERT INTO place_to_be_deleted (osm_type, osm_id, class, type, deferred) + VALUES(osmtype, osmid, pclass, ptype, false); + PERFORM flush_deleted_places(); RETURN TRUE; END;