Ich versuche, Datenbankcode zu schreiben, um sicherzustellen, dass er keinen Rennbedingungen unterliegt, und um sicherzustellen, dass ich die richtigen Zeilen oder Tabellen gesperrt habe. Aber ich frage mich oft: Ist mein Code korrekt? Kann man bestehende Rassenbedingungen zwingen, sich zu manifestieren? Ich möchte sichergehen, dass meine Anwendung das Richtige tut, wenn sie in einer Produktionsumgebung ausgeführt wird.
Ich weiß im Allgemeinen genau, welche gleichzeitige Abfrage wahrscheinlich ein Problem verursacht, aber ich habe keine Ahnung, wie ich sie zwingen kann, gleichzeitig ausgeführt zu werden, um festzustellen, ob das richtige Verhalten vorliegt (z. B. ich habe den richtigen Sperrtyp verwendet), dass die richtigen Fehler vorliegen geworfen, etc.
Hinweis: Ich verwende PostgreSQL und Perl. Wenn dies nicht allgemein beantwortet werden kann, sollte es wahrscheinlich als solches neu gekennzeichnet werden.
Update: Ich würde es vorziehen, wenn die Lösung programmatisch wäre. Auf diese Weise kann ich automatisierte Tests schreiben, um sicherzustellen, dass es keine Regressionen gibt.