]> git.openstreetmap.org Git - nominatim.git/commitdiff
call freeze after running and non-updateable import
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 2 Jun 2021 09:08:48 +0000 (11:08 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 2 Jun 2021 09:08:48 +0000 (11:08 +0200)
Some of the tables will have already been removed but
the tables for indexing are still there and should be
dropped.

nominatim/clicmd/setup.py
nominatim/db/status.py

index 3f59068618db15e95fe09588a570bc3529b6ba36..878c88260602a691052fff87156115b1196410bd 100644 (file)
@@ -52,10 +52,8 @@ class SetupAll:
 
     @staticmethod
     def run(args): # pylint: disable=too-many-statements
-        from ..tools import database_import
-        from ..tools import refresh
+        from ..tools import database_import, refresh, postcodes, freeze
         from ..indexer.indexer import Indexer
-        from ..tools import postcodes
         from ..tokenizer import factory as tokenizer_factory
 
         if args.osm_file and not Path(args.osm_file).is_file():
@@ -135,8 +133,12 @@ class SetupAll:
             LOG.warning('Create search index for default country names.')
             database_import.create_country_names(conn, tokenizer,
                                                  args.config.LANGUAGES)
+            conn.commit()
+            if args.no_updates:
+                freeze.drop_update_tables(conn)
         tokenizer.finalize_import(args.config)
 
+
         webdir = args.project_dir / 'website'
         LOG.warning('Setup website at %s', webdir)
         with connect(args.config.get_libpq_dsn()) as conn:
index c2ff63dbce91f80c37fd0a4b288cc71c3c0fedc1..71e587875cd4db6c633d98b44118d6bed3202112 100644 (file)
@@ -17,7 +17,10 @@ def compute_database_date(conn):
     """
     # First, find the node with the highest ID in the database
     with conn.cursor() as cur:
-        osmid = cur.scalar("SELECT max(osm_id) FROM place WHERE osm_type='N'")
+        if conn.table_exists('place'):
+            osmid = cur.scalar("SELECT max(osm_id) FROM place WHERE osm_type='N'")
+        else:
+            osmid = cur.scalar("SELECT max(osm_id) FROM placex WHERE osm_type='N'")
 
         if osmid is None:
             LOG.fatal("No data found in the database.")