]> git.openstreetmap.org Git - nominatim.git/commitdiff
add migration for new placenode geometry index
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 9 Apr 2021 19:24:35 +0000 (21:24 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 14 Apr 2021 15:52:59 +0000 (17:52 +0200)
nominatim/tools/migration.py
nominatim/version.py

index b5f0b80e7786328955c910e7b58ffa6b7190c71c..5484834182d876f540eb919b605abff458bbabc0 100644 (file)
@@ -156,3 +156,20 @@ def change_housenumber_transliteration(conn, **_):
         cur.execute("""UPDATE placex
                        SET housenumber = create_housenumber_id(housenumber)
                        WHERE housenumber is not null""")
+
+
+@_migration(3, 7, 0, 0)
+def switch_placenode_geometry_index(conn, **_):
+    """ Replace idx_placex_geometry_reverse_placeNode index.
+
+        Make the index slightly more permissive, so that it can also be used
+        when matching up boundaries and place nodes. It makes the index
+        idx_placex_adminname index unnecessary.
+    """
+    with conn.cursor() as cur:
+        cur.execute(""" CREATE INDEX IF NOT EXISTS idx_placex_geometry_placenode ON placex
+                        USING GIST (geometry)
+                        WHERE osm_type = 'N' and rank_search < 26
+                              and class = 'place' and type != 'postcode'
+                              and linked_place_id is null""")
+        cur.execute(""" DROP INDEX IF EXISTS idx_placex_adminname """)
index 52550d19a3a4e781413a21ad3339daf5c5b7bfaa..9670ea6062b2c7a14971fa39993e16d165f99a1e 100644 (file)
@@ -10,7 +10,7 @@ Version information for Nominatim.
 # and must always be increased when there is a change to the database or code
 # that requires a migration.
 # Released versions always have a database patch level of 0.
-NOMINATIM_VERSION = (3, 7, 0, 0)
+NOMINATIM_VERSION = (3, 7, 0, 1)
 
 POSTGRESQL_REQUIRED_VERSION = (9, 3)
 POSTGIS_REQUIRED_VERSION = (2, 2)