我尝试编写
数据库代码以确保它不受竞争条件的影响,以确保我已锁定正确的行或表.但我经常想知道:我的
代码是否正确?是否有可能强制
显示任何现有的竞争条件?我想确保如果它们确实发生在生产环境中,我的应用程序将做正确的事情.
我一般都知道哪个并发查询可能会导致问题,但我不知道如何强制它们并发运行以查看是否发生了正确的行为(例如我使用了正确的锁定类型),正确的错误是抛出等
注意:我使用的是Postgresql和Perl,所以如果一般不能回答这个问题,那么它应该会被重新标记.
更新:如果解决方案是程序化的,我更喜欢它.这样我就可以编写自动化测试来确保没有回归.