async def METHOD_NAME(self, dead: AbstractSet[str], new: Tags) -> None:
    def cont() -> None:
        with suppress(OperationalError):
            with self._conn, closing(self._conn.cursor()) as cursor:
                def m1() -> Iterator[Mapping]:
                    for filename, (lang, mtime, _) in new.items():
                        yield {
                            "filename": filename,
                            "filetype": lang,
                            "mtime": mtime,
                        }
                def m2() -> Iterator[Mapping]:
                    for _, _, tags in new.values():
                        for tag in tags:
                            yield {**_NIL_TAG, **tag}
                cursor.executemany(
                    sql("delete", "file"),
                    ({"filename": f} for f in dead | new.keys()),
                )
                cursor.executemany(sql("insert", "file"), m1())
                cursor.executemany(sql("insert", "tag"), m2())
                cursor.execute("PRAGMA optimize", ())
    await self._ex.submit(cont)