postgresql/src/include/access
Heikki Linnakangas cd70dd6bef Move the PredicateLockRelation() call from nodeSeqscan.c to heapam.c. It's
more consistent that way, since all the other PredicateLock* calls are
made in various heapam.c and index AM functions. The call in nodeSeqscan.c
was unnecessarily aggressive anyway, there's no need to try to lock the
relation every time a tuple is fetched, it's enough to do it once.

This has the user-visible effect that if a seq scan is initialized in the
executor, but never executed, we now acquire the predicate lock on the heap
relation anyway. We could avoid that by taking the lock on the first
heap_getnext() call instead, but it doesn't seem worth the trouble given
that it feels more natural to do it in heap_beginscan().

Also, remove the retail PredicateLockTuple() calls from heap_getnext(). In
a seqscan, started with heap_begin(), we're holding a whole-relation
predicate lock on the heap so there's no need to lock the tuples
individually.

Kevin Grittner and me
2011-06-29 21:57:43 +03:00
..
attnum.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
clog.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
genam.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
gin_private.h Make GIN and GIST pass the index collation to all their support functions. 2011-04-22 20:13:12 -04:00
gin.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
gist_private.h Make GIN and GIST pass the index collation to all their support functions. 2011-04-22 20:13:12 -04:00
gist.h Start using flexible array members 2011-06-16 22:45:38 +03:00
gistscan.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
hash.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
heapam.h Allow callers to pass a missing_ok flag when opening a relation. 2011-06-27 15:25:44 -04:00
hio.h Try again to make the visibility map crash safe. 2011-06-27 13:55:55 -04:00
htup.h Make the visibility map crash-safe. 2011-06-21 23:04:40 -04:00
itup.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
multixact.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
nbtree.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
printtup.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
reloptions.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
relscan.h Move the PredicateLockRelation() call from nodeSeqscan.c to heapam.c. It's 2011-06-29 21:57:43 +03:00
rewriteheap.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
rmgr.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
sdir.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
skey.h Pass collations to functions in FunctionCallInfoData, not FmgrInfo. 2011-04-12 19:19:24 -04:00
slru.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
subtrans.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
sysattr.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
transam.h Make the visibility map crash-safe. 2011-06-21 23:04:40 -04:00
tupconvert.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
tupdesc.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
tupmacs.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
tuptoaster.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
twophase_rmgr.h Renumber 2PC resource managers so that compared to 9.0, predicate lock rmgr 2011-06-14 12:36:31 +03:00
twophase.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
valid.h Pass collations to functions in FunctionCallInfoData, not FmgrInfo. 2011-04-12 19:19:24 -04:00
visibilitymap.h Make the visibility map crash-safe. 2011-06-21 23:04:40 -04:00
xact.h Introduce compact WAL record for the common case of commit (non-DDL). 2011-06-28 22:58:17 +01:00
xlog_internal.h Introduce compact WAL record for the common case of commit (non-DDL). 2011-06-28 22:58:17 +01:00
xlog.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
xlogdefs.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
xlogutils.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00