Ik denk dat het verwachte gedrag een beetje afwijkt. Voordat db_slow zich commit, worden alle rijen in de tabel vergrendeld. Nadat het is gecommit, zijn er twee rijen. db_fast wordt gedeblokkeerd wanneer db_slow commit. Het gedrag is dus:
- db_slow:selecteer rij 1 en vergrendel deze
- db_slow:zie dat het maar 1 rij is en wacht
- db_fast:probeer rij 1 te selecteren, kijk of deze vergrendeld is, wacht
- db_slow:rij invoegen met '2'
- db_slow:commit
- db_fast:gedeblokkeerd en leest 2 rijen
- db_fast:doet niets
- Eindig met foo:1, 2