postgresql/src/include/access
Heikki Linnakangas 2edc5cd493 The GiST scan algorithm uses LSNs to detect concurrent pages splits, but
temporary indexes are not WAL-logged. We used a constant LSN for temporary
indexes, on the assumption that we don't need to worry about concurrent page
splits in temporary indexes because they're only visible to the current
session. But that assumption is wrong, it's possible to insert rows and
split pages in the same session, while a scan is in progress. For example,
by opening a cursor and fetching some rows, and INSERTing new rows before
fetching some more.

Fix by generating fake increasing LSNs, used in place of real LSNs in
temporary GiST indexes.
2010-11-16 11:32:21 +02:00
..
attnum.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
clog.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
genam.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
gin.h Fix a passel of inappropriately-named global functions in GIN. 2010-10-17 21:43:26 -04:00
gist.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
gist_private.h The GiST scan algorithm uses LSNs to detect concurrent pages splits, but 2010-11-16 11:32:21 +02:00
gistscan.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
hash.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
heapam.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
hio.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
htup.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
itup.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
multixact.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
nbtree.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
printtup.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
reloptions.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
relscan.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rewriteheap.h Improve logging in VACUUM FULL VERBOSE and CLUSTER VERBOSE. 2010-10-07 21:46:46 -04:00
rmgr.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
sdir.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
skey.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
slru.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
subtrans.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
sysattr.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
transam.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tupconvert.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tupdesc.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tupmacs.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tuptoaster.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
twophase.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
twophase_rmgr.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
valid.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
visibilitymap.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
xact.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
xlog.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
xlog_internal.h Add monitoring function pg_last_xact_replay_timestamp. 2010-11-09 22:52:19 -05:00
xlogdefs.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
xlogutils.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00