On 15 Jan 2018, at 16:35, David Fetter <david@fetter.org> wrote:
It sounds reasonable enough that I'd like to make a couple of Modest Proposals™, to wit:
- We follow the SQL standard and make SERIALIZABLE the default transaction isolation level, and
- We disallow writes at isolation levels other than SERIALIZABLE when any ASSERTION could be in play.
Certainly it would be easy to put a test into the assertion check function to require the isolation level be serialisable. I didn’t realise that that was also the default level as per the standard. That need not necessarily be changed, of course; it would be obvious to the user that it was a requirement as the creation of an assertion would fail without it, as would any subsequent attempts to modify the involved tables.