Separate snapshot management code from tuple visibility code, create a
commit7b562804aafba2e21d45841dee1df39da0de4855
authoralvherre <alvherre>
Wed, 26 Mar 2008 16:20:48 +0000 (26 16:20 +0000)
committerAidan Van Dyk <aidan@ifax.com>
Fri, 28 Mar 2008 14:37:46 +0000 (28 09:37 -0500)
treef6bc0d08de1c87f5fd48a0b7a97ac17317c11b2b
parent162debcf1a01a622179c879fac6387eb10a49f2b
Separate snapshot management code from tuple visibility code, create a

snapmgmt.c file for the former.  The header files have also been reorganized
in three parts: the most basic snapshot definitions are now in a new file
snapshot.h, and the also new snapmgmt.h keeps the definitions for snapmgmt.c.
tqual.h has been reduced to the bare minimum.

This patch is just a first step towards managing live snapshots within a
transaction; there is no functionality change.

Per my proposal to pgsql-patches on 20080318191940.GB27458@alvh.no-ip.org and
subsequent discussion.
41 files changed:
src/backend/access/heap/heapam.c
src/backend/access/index/indexam.c
src/backend/access/nbtree/nbtpage.c
src/backend/access/transam/subtrans.c
src/backend/access/transam/transam.c
src/backend/access/transam/xact.c
src/backend/catalog/catalog.c
src/backend/catalog/heap.c
src/backend/catalog/index.c
src/backend/commands/cluster.c
src/backend/commands/copy.c
src/backend/commands/explain.c
src/backend/commands/indexcmds.c
src/backend/commands/portalcmds.c
src/backend/commands/prepare.c
src/backend/commands/tablecmds.c
src/backend/commands/trigger.c
src/backend/commands/vacuum.c
src/backend/commands/variable.c
src/backend/executor/functions.c
src/backend/executor/nodeBitmapHeapscan.c
src/backend/executor/spi.c
src/backend/optimizer/util/plancat.c
src/backend/storage/ipc/procarray.c
src/backend/storage/large_object/inv_api.c
src/backend/tcop/fastpath.c
src/backend/tcop/postgres.c
src/backend/tcop/pquery.c
src/backend/utils/adt/ri_triggers.c
src/backend/utils/adt/txid.c
src/backend/utils/cache/plancache.c
src/backend/utils/time/Makefile
src/backend/utils/time/snapmgmt.c [new file with mode: 0644]
src/backend/utils/time/tqual.c
src/include/access/relscan.h
src/include/storage/large_object.h
src/include/storage/procarray.h
src/include/utils/snapmgmt.h [new file with mode: 0644]
src/include/utils/snapshot.h [new file with mode: 0644]
src/include/utils/tqual.h
src/pl/plpgsql/src/pl_exec.c