from nominatim.errors import UsageError
from nominatim.data.place_info import PlaceInfo
from nominatim.tokenizer.base import AbstractAnalyzer, AbstractTokenizer
+from nominatim.tools import freeze
LOG = logging.getLogger()
def add_tiger_data(data_dir: str, config: Configuration, threads: int,
- tokenizer: AbstractTokenizer) -> None:
+ tokenizer: AbstractTokenizer) -> int:
""" Import tiger data from directory or tar file `data dir`.
"""
dsn = config.get_libpq_dsn()
+ with connect(dsn) as conn:
+ is_frozen = freeze.is_frozen(conn)
+ conn.close()
+
+ if is_frozen:
+ raise UsageError("Tiger cannot be imported when database frozen (Github issue #3048)")
+
with TigerInput(data_dir) as tar:
if not tar:
- return
+ return 1
with connect(dsn) as conn:
sql = SQLPreprocessor(conn, config)
with connect(dsn) as conn:
sql = SQLPreprocessor(conn, config)
sql.run_sql_file(conn, 'tiger_import_finish.sql')
+
+ return 0