Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/test/isolation/specs/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 780 B image not shown  

Quelle  total-cash.spec   Sprache: unbekannt

 
Spracherkennung für: .spec vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Total Cash test
#
# Another famous test of snapshot isolation anomaly.
#
# Any overlap between the transactions must cause a serialization failure.

setup
{
 CREATE TABLE accounts (accountid text NOT NULL PRIMARY KEY, balance numeric not null);
 INSERT INTO accounts VALUES ('checking', 600),('savings',600);
}

teardown
{
 DROP TABLE accounts;
}

session s1
setup  { BEGIN ISOLATION LEVEL SERIALIZABLE; }
step wx1 { UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking'; }
step rxy1 { SELECT SUM(balance) FROM accounts; }
step c1  { COMMIT; }

session s2
setup  { BEGIN ISOLATION LEVEL SERIALIZABLE; }
step wy2 { UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings'; }
step rxy2 { SELECT SUM(balance) FROM accounts; }
step c2  { COMMIT; }

[Dauer der Verarbeitung: 0.15 Sekunden, vorverarbeitet 2026-08-08]