Tento escrever o código do banco de dados para garantir que não esteja sujeito às condições de corrida, para garantir que bloqueie as linhas ou tabelas corretas. Mas sempre me pergunto: meu código está correto? É possível forçar a manifestação de qualquer condição de corrida existente? Quero ter certeza de que, se eles acontecerem em um ambiente de produção, meu aplicativo fará a coisa certa.
Eu geralmente sei exatamente qual consulta simultânea provavelmente causará um problema, mas não tenho idéia de como forçá-las a executar simultaneamente para ver se o comportamento correto acontece (por exemplo, usei o tipo correto de bloqueio), que os erros corretos são jogado, etc.
Nota: Eu uso o PostgreSQL e o Perl, portanto, se isso não puder ser respondido genericamente, provavelmente deve ser repetido.
Atualização: eu preferiria se a solução fosse programática. Dessa forma, eu posso escrever testes automatizados para garantir que não haja regressões.