2 added 352 characters in body
source | link

Does REPEATABLE READ preclude Write Skew?

Yes, though it is easiest to see by looking at it via a locking implementation clearly anticipated byYes (and arguably implicit in)- if you buy into the Critique's view that the ANSI definitions. were based on locking behaviours, for example:

Remark 6. The locking isolation levels of Table 2 and the phenomenological definitions of Table 3 are equivalent. Put another way, PO, PI, P2, and P3 are disguised redefinitions of Locking behavior.

TheFrom that viewpoint, the history:

r1[x]...r2[y]...w1[y]...w2[x]...(c1 and c2 occur)
r1[x]...r2[y]...w1[y]...w2[x]...(c1 and c2 occur)

...is prevented when long-duration read shared locks are taken, because w1[y] is blocked by the lock taken by r2[y]. Similarly, w2[x] would be blocked by the lock taken by r1[x]. Therefore, this history cannot arise.

No - if you literally interpret the ANSI definitions. These are widely seen to be incomplete, so this outcome is not really all that surprising.

Does REPEATABLE READ preclude Write Skew?

Yes, though it is easiest to see by looking at it via a locking implementation clearly anticipated by (and arguably implicit in) the ANSI definitions.

The history:

r1[x]...r2[y]...w1[y]...w2[x]...(c1 and c2 occur)

...is prevented when long-duration read shared locks are taken, because w1[y] is blocked by the lock taken by r2[y]. Similarly, w2[x] would be blocked by the lock taken by r1[x]. Therefore, this history cannot arise.

Does REPEATABLE READ preclude Write Skew?

Yes - if you buy into the Critique's view that the ANSI definitions were based on locking behaviours, for example:

Remark 6. The locking isolation levels of Table 2 and the phenomenological definitions of Table 3 are equivalent. Put another way, PO, PI, P2, and P3 are disguised redefinitions of Locking behavior.

From that viewpoint, the history:

r1[x]...r2[y]...w1[y]...w2[x]...(c1 and c2 occur)

...is prevented when long-duration read shared locks are taken, because w1[y] is blocked by the lock taken by r2[y]. Similarly, w2[x] would be blocked by the lock taken by r1[x]. Therefore, this history cannot arise.

No - if you literally interpret the ANSI definitions. These are widely seen to be incomplete, so this outcome is not really all that surprising.

1
source | link

Does REPEATABLE READ preclude Write Skew?

Yes, though it is easiest to see by looking at it via a locking implementation clearly anticipated by (and arguably implicit in) the ANSI definitions.

The history:

r1[x]...r2[y]...w1[y]...w2[x]...(c1 and c2 occur)

...is prevented when long-duration read shared locks are taken, because w1[y] is blocked by the lock taken by r2[y]. Similarly, w2[x] would be blocked by the lock taken by r1[x]. Therefore, this history cannot arise.