Are you using your Python binding? If yes, maybe you can make the "commit"
action invoke a callback which updates said private table. Every code path
that writes to tables does so within a transaction, no?
Of course, if your code commits by issuing an SQL statement in place instead of calling a Python function that wraps said SQL statement, then you still have to touch every code path.
The APSW wrapper does not have a commit function since the C API to
SQLite doesn't have one (APSW maps closely to how SQLite actually works as opposed to how DBAPI defines things).
I can certainly hack my own scheme based on your suggestion or the bytes Richard mentioned. It would feel even cleaner available as a pragma.
Roger