mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-26 13:27:52 +03:00
remove code that disables processing of forward dependencies
This commit is contained in:
parent
cd861345b7
commit
6f51c1ba33
@ -181,7 +181,6 @@ class NominatimArgs:
|
|||||||
osm2pgsql_style_path=self.config.config_dir,
|
osm2pgsql_style_path=self.config.config_dir,
|
||||||
threads=self.threads or default_threads,
|
threads=self.threads or default_threads,
|
||||||
dsn=self.config.get_libpq_dsn(),
|
dsn=self.config.get_libpq_dsn(),
|
||||||
forward_dependencies=self.config.get_bool('UPDATE_FORWARD_DEPENDENCIES'),
|
|
||||||
flatnode_file=str(self.config.get_path('FLATNODE_FILE') or ''),
|
flatnode_file=str(self.config.get_path('FLATNODE_FILE') or ''),
|
||||||
tablespaces=dict(slim_data=self.config.TABLESPACE_OSM_DATA,
|
tablespaces=dict(slim_data=self.config.TABLESPACE_OSM_DATA,
|
||||||
slim_index=self.config.TABLESPACE_OSM_INDEX,
|
slim_index=self.config.TABLESPACE_OSM_INDEX,
|
||||||
|
@ -136,9 +136,6 @@ def run_osm2pgsql(options: Mapping[str, Any]) -> None:
|
|||||||
if options['flatnode_file']:
|
if options['flatnode_file']:
|
||||||
cmd.extend(('--flat-nodes', options['flatnode_file']))
|
cmd.extend(('--flat-nodes', options['flatnode_file']))
|
||||||
|
|
||||||
if not options.get('forward_dependencies', False):
|
|
||||||
cmd.extend(('--with-forward-dependencies', 'false'))
|
|
||||||
|
|
||||||
for key, param in (('slim_data', '--tablespace-slim-data'),
|
for key, param in (('slim_data', '--tablespace-slim-data'),
|
||||||
('slim_index', '--tablespace-slim-index'),
|
('slim_index', '--tablespace-slim-index'),
|
||||||
('main_data', '--tablespace-main-data'),
|
('main_data', '--tablespace-main-data'),
|
||||||
|
@ -348,3 +348,29 @@ def split_pending_index(conn: Connection, **_: Any) -> None:
|
|||||||
WHERE class = 'boundary' and type = 'administrative'
|
WHERE class = 'boundary' and type = 'administrative'
|
||||||
and indexed_status > 0""")
|
and indexed_status > 0""")
|
||||||
cur.execute("DROP INDEX IF EXISTS idx_placex_pendingsector")
|
cur.execute("DROP INDEX IF EXISTS idx_placex_pendingsector")
|
||||||
|
|
||||||
|
|
||||||
|
@_migration(4, 2, 99, 0)
|
||||||
|
def enable_forward_dependencies(conn: Connection, **_: Any) -> None:
|
||||||
|
""" Create indexes for updates with forward dependency tracking (long-running).
|
||||||
|
"""
|
||||||
|
if conn.table_exists('planet_osm_ways'):
|
||||||
|
with conn.cursor() as cur:
|
||||||
|
cur.execute("""SELECT * FROM pg_indexes
|
||||||
|
WHERE tablename = 'planet_osm_ways'
|
||||||
|
and indexdef LIKE '%nodes%'""")
|
||||||
|
if cur.rowcount == 0:
|
||||||
|
cur.execute("""CREATE OR REPLACE FUNCTION public.planet_osm_index_bucket(bigint[])
|
||||||
|
RETURNS bigint[]
|
||||||
|
LANGUAGE sql IMMUTABLE
|
||||||
|
AS $function$
|
||||||
|
SELECT ARRAY(SELECT DISTINCT unnest($1) >> 5)
|
||||||
|
$function$""")
|
||||||
|
cur.execute("""CREATE INDEX planet_osm_ways_nodes_bucket_idx
|
||||||
|
ON planet_osm_ways
|
||||||
|
USING gin (planet_osm_index_bucket(nodes))
|
||||||
|
WITH (fastupdate=off)""")
|
||||||
|
cur.execute("""CREATE INDEX planet_osm_rels_parts_idx
|
||||||
|
ON planet_osm_rels USING gin (parts)
|
||||||
|
WITH (fastupdate=off)""")
|
||||||
|
cur.execute("ANALYZE planet_osm_ways")
|
||||||
|
@ -25,7 +25,7 @@ from typing import Optional, Tuple
|
|||||||
# patch level when cherry-picking the commit with the migration.
|
# patch level when cherry-picking the commit with the migration.
|
||||||
#
|
#
|
||||||
# Released versions always have a database patch level of 0.
|
# Released versions always have a database patch level of 0.
|
||||||
NOMINATIM_VERSION = (4, 2, 0, 0)
|
NOMINATIM_VERSION = (4, 2, 99, 0)
|
||||||
|
|
||||||
POSTGRESQL_REQUIRED_VERSION = (9, 6)
|
POSTGRESQL_REQUIRED_VERSION = (9, 6)
|
||||||
POSTGIS_REQUIRED_VERSION = (2, 2)
|
POSTGIS_REQUIRED_VERSION = (2, 2)
|
||||||
|
@ -33,15 +33,6 @@ NOMINATIM_MAX_WORD_FREQUENCY=50000
|
|||||||
# If true, admin level changes on places with many contained children are blocked.
|
# If true, admin level changes on places with many contained children are blocked.
|
||||||
NOMINATIM_LIMIT_REINDEXING=yes
|
NOMINATIM_LIMIT_REINDEXING=yes
|
||||||
|
|
||||||
# When set to 'yes' changes to OSM objects will be propagated to dependent
|
|
||||||
# objects. This means that geometries of way/relations are updated when a
|
|
||||||
# node on a way or a way in a relation changes.
|
|
||||||
# EXPERT ONLY: Use with care. Enabling this option might lead to significantly
|
|
||||||
# more load when updates are applied.
|
|
||||||
# Do not enable this option on an existing database.
|
|
||||||
# The default is to not propagate these changes.
|
|
||||||
NOMINATIM_UPDATE_FORWARD_DEPENDENCIES=no
|
|
||||||
|
|
||||||
# Restrict search languages.
|
# Restrict search languages.
|
||||||
# Normally Nominatim will include all language variants of name:XX
|
# Normally Nominatim will include all language variants of name:XX
|
||||||
# in the search index. Set this to a comma separated list of language
|
# in the search index. Set this to a comma separated list of language
|
||||||
|
Loading…
Reference in New Issue
Block a user