summaryrefslogtreecommitdiff
path: root/src/backend/executor
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2020-03-28 11:52:11 -0700
committerAndres Freund <andres@anarazel.de>2020-03-28 12:04:54 -0700
commita0e2a178c6409db195e8e902e4ac279ad60777cb (patch)
treeab5f7797c8e2db61487b018d56b2f6b12d2c1a99 /src/backend/executor
parent42d3649b58f4bd5f06b5e20c24439a9d72bc45b6 (diff)
Ensure snapshot is registered within ScanPgRelation().
In 9.4 I added support to use a historical snapshot in ScanPgRelation(), while adding logical decoding. Unfortunately a conflict with the concurrent removal of SnapshotNow was incorrectly resolved, leading to an unregistered snapshot being used. It is not correct to use an unregistered (or non-active) snapshot for anything non-trivial, because catalog invalidations can cause the snapshot to be invalidated. Luckily it seems unlikely to actively cause problems in practice, as ScanPgRelation() requires that we already have a lock on the relation, we only look for a single row, and we don't appear to rely on the result's tid to be correct. It however is clearly wrong and potential negative consequences would likely be hard to find. So it seems worth backpatching the fix, even without a concrete hazard. Discussion: https://postgr.es/m/20200229052459.wzhqnbhrriezg4v2@alap3.anarazel.de Backpatch: 9.5-
Diffstat (limited to 'src/backend/executor')
0 files changed, 0 insertions, 0 deletions