From: Sarah Hoffmann Date: Wed, 24 Nov 2021 10:05:04 +0000 (+0100) Subject: add migration for inclusive housenumber Tiger index X-Git-Tag: v4.1.0~110^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/810056349f0dde9e0ddeb6655cbf1aa48399b3a5?ds=sidebyside add migration for inclusive housenumber Tiger index --- diff --git a/nominatim/tools/migration.py b/nominatim/tools/migration.py index d7faca31..87febacc 100644 --- a/nominatim/tools/migration.py +++ b/nominatim/tools/migration.py @@ -192,3 +192,20 @@ def install_legacy_tokenizer(conn, config, **_): module_name='legacy') tokenizer.migrate_database(config) + + +@_migration(4, 0, 99, 0) +def create_tiger_housenumber_index(conn, _, **_): + """ Create idx_location_property_tiger_parent_place_id with included + house number. + + The inclusion is needed for efficient lookup of housenumbers in + full address searches. + """ + if conn.server_version_tuple() >= (11, 0, 0): + with conn.cursor() as cur: + cur.execute(""" CREATE INDEX IF NOT EXISTS + idx_location_property_tiger_housenumber_migrated + ON location_property_tiger + USING btree(parent_place_id) + INCLUDE (startnumber, endnumber) """) diff --git a/nominatim/version.py b/nominatim/version.py index dcfc161e..06a3e971 100644 --- a/nominatim/version.py +++ b/nominatim/version.py @@ -9,8 +9,16 @@ Version information for Nominatim. # The database patch level tracks important changes between releases # and must always be increased when there is a change to the database or code # that requires a migration. +# +# When adding a migration on the development branch, raise the patch level +# to 99 to make sure that the migration is applied when updating from a +# patch release to the next minor version. Patch releases usually shouldn't +# have migrations in them. When they are needed, then make sure that the +# migration can reapplied and set the migration version to the appropriate +# patch level when cherry-picking the commit with the migration. +# # Released versions always have a database patch level of 0. -NOMINATIM_VERSION = (4, 0, 0, 0) +NOMINATIM_VERSION = (4, 0, 99, 1) POSTGRESQL_REQUIRED_VERSION = (9, 5) POSTGIS_REQUIRED_VERSION = (2, 2)