Chciałbym się spytać w jaki sposób mogę przetestować działanie transakcji zarówno synchroniczne jak i współbieżne? Powiedzmy, że jedna transakcja ujmuje 50 zł z konta A i przelewa je na konto B, a druga wyświetla sumę pieniędzy na kontach A i B (+jakieś ewentualne blokady po drodze). Wykonanie synchroniczne wiadomo jaki wyświetli wynik, ale współbieżne już niekoniecznie. W jaki sposób mogę to zrobić u siebie na komputerze? Jak zaimplementować i uruchomić te transakcje w mySQL? W sieci materiały są bardzo teoretyczne, a ja chciałbym popatrzeć na to z drugiej strony...
Implementacja transakcji synchroniczna i współbieżna
- Rejestracja: dni
- Ostatnio: dni
- Postów: 108
- Rejestracja: dni
- Ostatnio: dni
- Postów: 184
Nie wiem jak to wygląda w MySql, ale w SQL Server można napisać dwie transakcje ( jakieś update etc ) i oddzielić je delay-em. Wtedy zobaczysz co się dzieje i będziesz mógł się bawić różnymi poziomami izolacji i zadbać o to aby baza była cały czas w stanie spójnym.
Pzdr.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 108
No ok załóżmy, że mam tego delay'a. Ale nadal nie wiem jak mam to wszystko zaimplementować... Tak jak wspomniałem w książkach i sieci jest pod dostatkiem materiałów teoretycznych zaś tych implementacyjnych w zasadzie brak (nawet w dokumentacji mySQLa).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 184
Masz np.
BEGIN TRANSACTION
//Update
_delay()..
END TRANSACTION
potem robisz SELECT bla bla bla i tak naprawdę oczekujesz zaktualizowanych już wyników, ale otrzymasz stare bo nim się transakcja zakończy musi minąć określony interval czasowy.
Pzdr.