Timing of commits on read transactions affects versions

While a read transaction cannot affect what an existing write transaction sees, committing a read transaction does have implications for other transactions.

Figure 10-4 is an example of the first instance. Both of User 2's transactions use the same version as User 1's transaction began with, because that is the latest committed version of the data.

Figure 10-5 shows what happens in the second instance. This time, User 2's first read transaction (Tr1) commits after User 1's write transaction. When User 2's second transaction (Tr2) begins, it uses a new version that reflects the committed data from User 1.

Figure 10-5: Effect of read transaction committing

Shown is a diagram illustrating the effect of read transaction committing