From 6aded6004510b2eb7905893754cc63c477fecc1a Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 23 Nov 2022 10:55:39 +0100 Subject: [PATCH] add migration for reorganization of pending indexes Fixes #2900. --- nominatim/tools/migration.py | 16 ++++++++++++++++ nominatim/version.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) 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) -- 2.39.5