mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 19:07:58 +00:00
Remove special search for address part for long ways
Ways now always have the complete set of crossing boundaries independent of the length. Fixes #1108.
This commit is contained in:
@@ -132,6 +132,18 @@ def compare_place_id(expected, result, column, context):
|
||||
LazyFmt("Bad place id in column %s. Expected: %s, got: %s.",
|
||||
column, expected, PlaceObjName(result, context.db)))
|
||||
|
||||
def check_database_integrity(context):
|
||||
""" Check some generic constraints on the tables.
|
||||
"""
|
||||
# place_addressline should not have duplicate (place_id, address_place_id)
|
||||
cur = context.db.cursor()
|
||||
cur.execute("""SELECT count(*) FROM
|
||||
(SELECT place_id, address_place_id, count(*) as c
|
||||
FROM place_addressline GROUP BY place_id, address_place_id) x
|
||||
WHERE c > 1""")
|
||||
eq_(0, cur.fetchone()[0], "Duplicates found in place_addressline")
|
||||
|
||||
|
||||
class NominatimID:
|
||||
""" Splits a unique identifier for places into its components.
|
||||
As place_ids cannot be used for testing, we use a unique
|
||||
@@ -290,6 +302,7 @@ def import_and_index_data_from_place_table(context):
|
||||
and ST_GeometryType(geometry) = 'ST_LineString'""")
|
||||
context.db.commit()
|
||||
context.nominatim.run_setup_script('calculate-postcodes', 'index', 'index-noanalyse')
|
||||
check_database_integrity(context)
|
||||
|
||||
@when("updating places")
|
||||
def update_place_table(context):
|
||||
@@ -314,6 +327,8 @@ def update_place_table(context):
|
||||
if cur.rowcount == 0:
|
||||
break
|
||||
|
||||
check_database_integrity(context)
|
||||
|
||||
@when("marking for delete (?P<oids>.*)")
|
||||
def delete_places(context, oids):
|
||||
context.nominatim.run_setup_script(
|
||||
|
||||
Reference in New Issue
Block a user