diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2011-06-15 11:43:05 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2011-06-15 12:11:18 +0300 |
commit | 0a0e2b52a5a53b8747c165ff5c976f27df05a2e1 (patch) | |
tree | faddc252b3cbbff5a3ed961ae85816ca6334d356 /src/backend/executor/nodeSeqscan.c | |
parent | 707195c8f487a39c34ea4d965140465594eb5c21 (diff) |
Make non-MVCC snapshots exempt from predicate locking. Scans with non-MVCC
snapshots, like in REINDEX, are basically non-transactional operations. The
DDL operation itself might participate in SSI, but there's separate
functions for that.
Kevin Grittner and Dan Ports, with some changes by me.
Diffstat (limited to 'src/backend/executor/nodeSeqscan.c')
-rw-r--r-- | src/backend/executor/nodeSeqscan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/executor/nodeSeqscan.c b/src/backend/executor/nodeSeqscan.c index 1e566b2d505..f356874b441 100644 --- a/src/backend/executor/nodeSeqscan.c +++ b/src/backend/executor/nodeSeqscan.c @@ -113,7 +113,8 @@ SeqRecheck(SeqScanState *node, TupleTableSlot *slot) TupleTableSlot * ExecSeqScan(SeqScanState *node) { - PredicateLockRelation(node->ss_currentRelation); + PredicateLockRelation(node->ss_currentRelation, + node->ss_currentScanDesc->rs_snapshot); node->ss_currentScanDesc->rs_relpredicatelocked = true; return ExecScan((ScanState *) node, (ExecScanAccessMtd) SeqNext, |