Separate snapshot management code from tuple visibility code, create a
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 26 Mar 2008 16:20:48 +0000 (16:20 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 26 Mar 2008 16:20:48 +0000 (16:20 +0000)
commitd43b085d578148f8dec2fea774912103e2f3044f
tree1be5ecca422dfe036fe9624355b4c952e7a8bc61
parent2d7705e85e22c8798fe70234aed8161ed84fdaa8
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