说我有:
- T1:(
SELECT id FROM x WHERE timestamp < y
返回id = [1, 2, 3]
) - T2:
DELETE FROM x WHERE id = 1
- T1:
SELECT timestamp, value FROM x WHERE id = 1
与READ-COMMITTED
隔离。
第 3 步是否存在返回空结果的风险,或者第 1 步是否获得某种锁定/快照以防止第 2 步更改结果?(我假设REPEATABLE-READ
会做我想做的事,但这个问题是关于READ-COMMITTED
)。
我正在使用 postgresql,但我对独立于 DB 的答案感兴趣。例如,如果某些数据库阻止删除而其他数据库不阻止,我想知道这一点。谢谢你。