Я намагаюся написати код бази даних, щоб переконатися, що він не підпадає під умови перегонів, щоб переконатися, що я заблокував правильні рядки або таблиці. Але я часто задаюся питанням: чи правильний мій код? Чи можна змусити проявити будь-які існуючі умови перегонів? Я хочу бути впевненим, що якщо вони трапляться у виробничому середовищі, моя заявка зробить правильно.
Я, як правило, точно знаю, який паралельний запит, можливо, спричинить проблему, але я не знаю, як змусити їх одночасно запускатись, щоб побачити, чи трапиться правильна поведінка (наприклад, я використав правильний тип блокування), що правильні помилки кинутий тощо.
Примітка: я використовую PostgreSQL та Perl, тому якщо на це не можна відповісти загально, то, ймовірно, слід переназначити як таке.
Оновлення: я вважаю за краще, якщо рішення було б програмним. Таким чином я можу писати автоматизовані тести, щоб переконатися, що немає регресій.