Isolation-level synthesis starts with named levels and named anomaly labels.

highlighted = computed this step

Levels and anomalies

This book uses a tiny pinned matrix: named isolation levels crossed with named anomaly labels. The matrix is pedagogical and intentionally not a database-product specification.

toy matrix of levels and anomalies\text{toy matrix of levels and anomalies}

The finite matrix

The compiled matrix has 4 levels and 4 anomaly labels. Every cell is recomputed as blocked or allowed from the pinned model.

levels=4,anomalies=4\text{levels}=4,\quad \text{anomalies}=4

isolation levels are rendered as a tiny pedagogical matrix over named anomalies only; ANSI completeness, vendor behavior, performance, and operational guarantees are out of scope.

Levels and anomaliesleveldirty_readnon_repeatable_readlost_updatewrite_skewread_committedblockedallowedallowedallowedrepeatable_readblockedblockedallowedallowedsnapshot_isolationblockedblockedblockedallowedserializableblockedblockedblockedblocked blocked versus allowedlevelblockedCountblockedallowedCountallowedread_committed1dirty_read3non_repeatable_read, lost_update, write_skewrepeatable_read2dirty_read, non_repeatable_read2lost_update, write_skewsnapshot_isolation3dirty_read, non_repeatable_read, lost_update1write_skewserializable4dirty_read, non_repeatable_read, lost_update, write_skew0none stronger-than cover edgesstrongerweakerrepeatable_readread_committedsnapshot_isolationrepeatable_readserializablesnapshot_isolation

Summary

The source of truth is the compiled matrix, not prose about a vendor or standard. Note: real isolation implementations can differ.

matrix first\text{matrix first}