add test on whether paths are indeed unique

This commit is contained in:
Justus Kuhlmann 2026-04-14 16:36:31 +02:00
commit 65cd55ec0a
Signed by: jkuhl
GPG key ID: 00ED992DD79B85A6

View file

@ -15,6 +15,14 @@ def has_valid_times(result: pd.DataFrame) -> bool:
return False return False
return True return True
def are_keys_unique(db: Path, table: str, col: str) -> bool:
conn = sqlite3.connect(db)
c = conn.cursor()
c.execute(f"SELECT COUNT( DISTINCT CAST(path AS nvarchar(4000))), COUNT({col}) FROM {table};")
results = c.fetchall()[0]
conn.close()
return bool(results[0] == results[1])
def check_db_integrity(path: Path) -> None: def check_db_integrity(path: Path) -> None:
db = get_db_file(path) db = get_db_file(path)
@ -27,6 +35,7 @@ def check_db_integrity(path: Path) -> None:
raise ValueError(f"Result with id {result[id]} has wrong time signatures.") raise ValueError(f"Result with id {result[id]} has wrong time signatures.")
def full_integrity_check(path: Path) -> None: def full_integrity_check(path: Path) -> None:
check_db_integrity(path) check_db_integrity(path)