check-database on frozen db shouldnt recommend indexing

This commit is contained in:
Marc Tobias 2023-06-19 18:43:17 +02:00
parent 1f83efa8f2
commit 2337cc653b
2 changed files with 8 additions and 1 deletions

View File

@ -15,6 +15,7 @@ from nominatim.config import Configuration
from nominatim.db.connection import connect, Connection
from nominatim.errors import UsageError
from nominatim.tokenizer import factory as tokenizer_factory
from nominatim.tools import freeze
CHECKLIST = []
@ -223,6 +224,12 @@ def check_indexing(conn: Connection, _: Configuration) -> CheckResult:
if cnt == 0:
return CheckState.OK
if freeze.is_frozen(conn):
index_cmd="""\
Database is marked frozen, it cannot be updated.
Low counts of unindexed places are fine."""
return CheckState.WARN, dict(count=cnt, index_cmd=index_cmd)
if conn.index_exists('idx_placex_rank_search'):
# Likely just an interrupted update.
index_cmd = 'nominatim index'

View File

@ -76,7 +76,7 @@ def test_check_indexing_good(table_factory, temp_db_conn, def_config):
def test_check_indexing_bad(table_factory, temp_db_conn, def_config):
table_factory('placex', 'place_id int, indexed_status smallint',
content=((1, 0), (2, 2)))
assert chkdb.check_indexing(temp_db_conn, def_config) == chkdb.CheckState.FAIL
assert chkdb.check_indexing(temp_db_conn, def_config) == chkdb.CheckState.WARN
def test_check_database_indexes_bad(temp_db_conn, def_config):