]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 25 Mar 2015 21:32:54 +0000 (22:32 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 25 Mar 2015 21:32:54 +0000 (22:32 +0100)
1  2 
sql/functions.sql

diff --combined sql/functions.sql
index 96b5eaafd6238eb9b2630ed4cb6fecada500de8e,02cdc6805b768242bf7cf191ad97f5bd22a5550c..afa687be1ee7fcd613a751d6582f951e26df8ccb
@@@ -1642,7 -1642,7 +1642,7 @@@ BEGI
          -- Performance, it would be more acurate to do all the rest of the import process but it takes too long
          -- Just be happy with inheriting from parent road only
  
-         IF NEW.rank_search <= 25 THEN
+         IF NEW.rank_search <= 25 and NEW.rank_address > 0 THEN
            result := add_location(NEW.place_id, NEW.calculated_country_code, NEW.partition, name_vector, NEW.rank_search, NEW.rank_address, NEW.geometry);
          END IF;
  
      -- if we have a name add this to the name search table
      IF NEW.name IS NOT NULL THEN
  
-       IF NEW.rank_search <= 25 THEN
+       IF NEW.rank_search <= 25 and NEW.rank_address > 0 THEN
          result := add_location(NEW.place_id, NEW.calculated_country_code, NEW.partition, name_vector, NEW.rank_search, NEW.rank_address, NEW.geometry);
        END IF;
  
@@@ -2118,11 -2118,6 +2118,11 @@@ BEGI
      --DEBUG: RAISE WARNING '%', existingplacex;
    END IF;
  
 +  -- remove operator tag for most places, messes too much with search_name indexes
 +  IF NEW.class not in ('amenity', 'shop') THEN
 +    NEW.name := delete(NEW.name, 'operator');
 +  END IF;
 +
    -- Just block these - lots and pointless
    IF NEW.class in ('landuse','natural') and NEW.name is null THEN
      -- if the name tag was removed, older versions might still be lurking in the place table
      END IF;
  
    END IF;
 +
 +  -- refuse to update multiplpoygons with too many objects, too much of a performance hit
 +  IF ST_NumGeometries(NEW.geometry) > 2000 THEN
 +    RAISE WARNING 'Dropping update of % % because of geometry complexity.', NEW.osm_type, NEW.osm_id;
 +    RETURN NULL;
 +  END IF;
  
    IF coalesce(existing.name::text, '') != coalesce(NEW.name::text, '')
       OR coalesce(existing.extratags::text, '') != coalesce(NEW.extratags::text, '')