Understanding why Snapshot Isolation permits the write skew anomaly despite avoiding many read anomalies.
Two concurrent transactions each read the shared invariant 'at least one doctor must be on call' (currently 2 on call), verify it holds, and each removes a different doctor from call. Under Snapshot Isolation both commit, leaving zero doctors on call. What is this anomaly and why does SI allow it?