ALUSTA UUESTI

NIMEKIRJA JUURDE

GLOBAL
ABORT!
GLOBAL
ABORT!
2. Otsustamise faas
PREPARE!
PREPARE!
commit
abort
commit
commit
O2: ABORTED
end_transaction;
O2: READY
O1: ABORTED
ROLLBACK
O1: ABORT
3. Rakendus annab käsu transaktsioon lõpetada: 
Account (server 1)
Account (server 2)
START TRANSACTION;
START TRANSACTION;
1. Rakendus annab käsu alustada transaktsiooni: 
UPDATE Account SET balance=balance-100 WHERE customer_id=1;
UPDATE Account SET balance=balance-100 WHERE customer_id=1;
UPDATE Account SET balance=balance+100 WHERE customer_id=2;
UPDATE Account SET balance=balance+100 WHERE customer_id=2;
COMMIT;
COMMIT;
2. Rakendus saadab laused transaktsiooni osalistele täitmiseks  
rida on transaktsiooni T poolt eksklusiivselt lukustatud
rida on transaktsiooni T poolt eksklusiivselt lukustatud
2PC protokoll
begin_commit
1. Hääletamise faas
abort
ready_commit
commit
COMMIT;
COMMIT;
}
Globaalne
transaktsioon T
abort
abort
ROLLBACK