A read points back to the last modeled write of the same item.

highlighted = computed this step

Follow the read

Start with one item and a short schedule. A read is not guessed; it follows the most recent modeled write of that item.

read source is recomputed\text{read source is recomputed}

Show the schedule

The diagram renders the event table, then the reads-from table. The schedule has 1 read that needs a source.

reads=1\text{reads}=1

Safe commit and rollback schedules are tiny finite histories; logging, undo, ARIES, timing, isolation-level, product, and performance claims are out of scope.

Reads-fromeventtxopitemvalue1T1wX102T2rX3T1c4T2c reads-from factsreadEventreaderitemwriterwriteEventvalue2T2XT1110 external read dependencieswriterreaderitemwriteEventreadEventT1T2X12 classificationsfactvaluerecoverableyescascadelessnostrictno violationsnkindtx/readerwriteritem1cascadelessT2T1X2strictT2T1X

Name the source

The reader gets value 10 from T1.

source writer=T1\text{source writer}=T1

Summary

The reads-from fact is not typed into the lesson. It is recomputed from the event order before the diagram is rendered.

last write before read\text{last write before read}