vault backup: 2026-05-21 19:31:28
This commit is contained in:
@@ -124,25 +124,30 @@ sequenceDiagram
|
||||
participant B as Transaction B
|
||||
|
||||
A->>RC_DB: BEGIN;
|
||||
A->>RC_DB: SELECT * FROM t; -- Read View #1
|
||||
A->>RC_DB: SELECT * FROM t; -- Read View #2 (new each time)
|
||||
A->>RC_DB: SELECT * FROM t
|
||||
Note over A,RC_DB: Read View #1
|
||||
A->>RC_DB: SELECT * FROM t
|
||||
Note over A,RC_DB: Read View #2 (new each time)
|
||||
|
||||
B->>RC_DB: BEGIN;
|
||||
B->>RC_DB: INSERT INTO t VALUES (...);
|
||||
B->>RC_DB: INSERT INTO t VALUES (...)
|
||||
B->>RC_DB: COMMIT;
|
||||
|
||||
A->>RC_DB: SELECT * FROM t; -- Read View #3
|
||||
A->>RC_DB: SELECT * FROM t
|
||||
Note over A,RC_DB: Read View #3
|
||||
Note over RC_DB: Can see new rows committed by B!
|
||||
|
||||
A->>RR_DB: BEGIN;
|
||||
A->>RR_DB: SELECT * FROM t; -- Read View #1
|
||||
A->>RR_DB: SELECT * FROM t; -- Reuses Read View #1
|
||||
A->>RR_DB: SELECT * FROM t
|
||||
Note over A,RR_DB: Read View #1
|
||||
A->>RR_DB: SELECT * FROM t
|
||||
Note over A,RR_DB: Reuses Read View #1
|
||||
|
||||
B->>RR_DB: BEGIN;
|
||||
B->>RR_DB: INSERT INTO t VALUES (...);
|
||||
B->>RR_DB: INSERT INTO t VALUES (...)
|
||||
B->>RR_DB: COMMIT;
|
||||
|
||||
A->>RR_DB: SELECT * FROM t;
|
||||
A->>RR_DB: SELECT * FROM t
|
||||
Note over RR_DB: Cannot see B's rows - RV#1 was created before B committed
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user