perhaps it would be prudent to change the spec to at least suggest
that if a database becomes "known to be corrupt," operations on all
open handles to that database should start throwing
INVALID_STATE_ERR exceptions.
I think this is already specified:
3. If transaction has been marked as "bad", then raise an
INVALID_STATE_ERR exception.
...
7. If the statement execution fails for some reason, transaction must
be rolled back and marked as "bad".
I think you can reasonably consider a statement on a corrupt database
to have "failed for some reason."
Geoff