+# SPDX-License-Identifier: GPL-2.0-only
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2022 by the Nominatim developer community.
+# For a full list of authors see the git log.
"""
Functions for removing unnecessary data from the database.
"""
+from typing import Optional
from pathlib import Path
from psycopg2 import sql as pysql
+from nominatim.db.connection import Connection
+
UPDATE_TABLES = [
'address_levels',
'gb_postcode',
'wikipedia_%'
]
-def drop_update_tables(conn):
+def drop_update_tables(conn: Connection) -> None:
""" Drop all tables only necessary for updating the database from
OSM replication data.
"""
conn.commit()
-def drop_flatnode_file(fname):
+def drop_flatnode_file(fpath: Optional[Path]) -> None:
""" Remove the flatnode file if it exists.
"""
- if fname:
- fpath = Path(fname)
- if fpath.exists():
- fpath.unlink()
+ if fpath and fpath.exists():
+ fpath.unlink()
+
+def is_frozen(conn: Connection) -> bool:
+ """ Returns true if database is in a frozen state
+ """
+
+ return conn.table_exists('place') is False