最近我将H2数据库从1.3.178升级到1.4.195。当我尝试更改一个记录很少(低于5.000)的表时,我收到此错误:
Timeout trying to lock table ; SQL statement:
ALTER TABLE foo ADD bar VARCHAR [50200-195] HYT00/50200 (Aiuto)
旧版本1.3.178不会出现错误。
我尝试使用LOCK_TIMEOUT=10000
设置更大的超时但它没有效果。相反,我使用参数LOCK_MODE=3
解决了问题。
根据H2 documentation,参数LOCK_MODE=3
是默认值,为什么我需要指定它?