Próbuję napisać kod bazy danych, aby upewnić się, że nie podlega warunkom wyścigu, aby upewnić się, że zablokowałem prawidłowe wiersze lub tabele. Ale często zastanawiam się: czy mój kod jest poprawny? Czy można zmusić do manifestacji jakiekolwiek istniejące warunki wyścigu? Chcę mieć pewność, że jeśli tak się stanie w środowisku produkcyjnym, moja aplikacja zrobi właściwą rzecz.
Ogólnie wiem dokładnie, które współbieżne zapytanie może powodować problem, ale nie mam pojęcia, jak zmusić je do jednoczesnego uruchomienia, aby sprawdzić, czy zdarzy się prawidłowe zachowanie (np. Użyłem właściwego typu blokady), czy właściwe błędy to wyrzucony itp.
Uwaga: używam PostgreSQL i Perla, więc jeśli nie można na nie udzielić ogólnej odpowiedzi, prawdopodobnie powinien zostać ponownie oznaczony jako taki.
Aktualizacja: Wolałbym, gdyby rozwiązanie było programowe. W ten sposób mogę pisać automatyczne testy, aby upewnić się, że nie ma regresji.