From: Sarah Hoffmann Date: Wed, 23 Nov 2022 09:55:39 +0000 (+0100) Subject: add migration for reorganization of pending indexes X-Git-Tag: v4.2.0~3^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/6aded6004510b2eb7905893754cc63c477fecc1a add migration for reorganization of pending indexes Fixes #2900. --- diff --git a/nominatim/tools/migration.py b/nominatim/tools/migration.py index d5806097..147a9f9c 100644 --- a/nominatim/tools/migration.py +++ b/nominatim/tools/migration.py @@ -332,3 +332,19 @@ def add_place_deletion_todo_table(conn: Connection, **_: Any) -> None: class TEXT, type TEXT, deferred BOOLEAN)""") + + +@_migration(4, 1, 99, 1) +def split_pending_index(conn: Connection, **_: Any) -> None: + """ Reorganise indexes for pending updates. + """ + if conn.table_exists('place'): + with conn.cursor() as cur: + cur.execute("""CREATE INDEX IF NOT EXISTS idx_placex_rank_address_sector + ON placex USING BTREE (rank_address, geometry_sector) + WHERE indexed_status > 0""") + cur.execute("""CREATE INDEX IF NOT EXISTS idx_placex_rank_boundaries_sector + ON placex USING BTREE (rank_search, geometry_sector) + WHERE class = 'boundary' and type = 'administrative' + and indexed_status > 0""") + cur.execute("DROP INDEX IF EXISTS idx_placex_pendingsector") diff --git a/nominatim/version.py b/nominatim/version.py index 36573040..58b70841 100644 --- a/nominatim/version.py +++ b/nominatim/version.py @@ -25,7 +25,7 @@ from typing import Optional, Tuple # patch level when cherry-picking the commit with the migration. # # Released versions always have a database patch level of 0. -NOMINATIM_VERSION = (4, 1, 99, 0) +NOMINATIM_VERSION = (4, 1, 99, 1) POSTGRESQL_REQUIRED_VERSION = (9, 6) POSTGIS_REQUIRED_VERSION = (2, 2)