pgsql: Separate snapshot management code from tuple visibility code,

From: alvherre(at)postgresql(dot)org (Alvaro Herrera)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Separate snapshot management code from tuple visibility code,
Date: 2008-03-26 16:20:48
Message-ID: 20080326162048.5FCDE7558E7@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
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(dot)GB27458(at)alvh(dot)no-ip(dot)org and
subsequent discussion.

Modified Files:
--------------
pgsql/src/backend/access/heap:
heapam.c (r1.251 -> r1.252)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.251&r2=1.252)
pgsql/src/backend/access/index:
indexam.c (r1.101 -> r1.102)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c?r1=1.101&r2=1.102)
pgsql/src/backend/access/nbtree:
nbtpage.c (r1.106 -> r1.107)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c?r1=1.106&r2=1.107)
pgsql/src/backend/access/transam:
subtrans.c (r1.20 -> r1.21)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/subtrans.c?r1=1.20&r2=1.21)
transam.c (r1.74 -> r1.75)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/transam.c?r1=1.74&r2=1.75)
xact.c (r1.260 -> r1.261)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.260&r2=1.261)
pgsql/src/backend/catalog:
catalog.c (r1.73 -> r1.74)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/catalog.c?r1=1.73&r2=1.74)
heap.c (r1.328 -> r1.329)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.328&r2=1.329)
index.c (r1.293 -> r1.294)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c?r1=1.293&r2=1.294)
pgsql/src/backend/commands:
cluster.c (r1.169 -> r1.170)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/cluster.c?r1=1.169&r2=1.170)
copy.c (r1.296 -> r1.297)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c?r1=1.296&r2=1.297)
explain.c (r1.169 -> r1.170)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.169&r2=1.170)
indexcmds.c (r1.171 -> r1.172)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/indexcmds.c?r1=1.171&r2=1.172)
portalcmds.c (r1.70 -> r1.71)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/portalcmds.c?r1=1.70&r2=1.71)
prepare.c (r1.82 -> r1.83)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c?r1=1.82&r2=1.83)
tablecmds.c (r1.244 -> r1.245)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.244&r2=1.245)
trigger.c (r1.227 -> r1.228)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.227&r2=1.228)
vacuum.c (r1.368 -> r1.369)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c?r1=1.368&r2=1.369)
variable.c (r1.125 -> r1.126)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/variable.c?r1=1.125&r2=1.126)
pgsql/src/backend/executor:
functions.c (r1.122 -> r1.123)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/functions.c?r1=1.122&r2=1.123)
nodeBitmapHeapscan.c (r1.22 -> r1.23)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapHeapscan.c?r1=1.22&r2=1.23)
spi.c (r1.189 -> r1.190)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c?r1=1.189&r2=1.190)
pgsql/src/backend/optimizer/util:
plancat.c (r1.141 -> r1.142)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c?r1=1.141&r2=1.142)
pgsql/src/backend/storage/ipc:
procarray.c (r1.41 -> r1.42)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c?r1=1.41&r2=1.42)
pgsql/src/backend/storage/large_object:
inv_api.c (r1.128 -> r1.129)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c?r1=1.128&r2=1.129)
pgsql/src/backend/tcop:
fastpath.c (r1.97 -> r1.98)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/fastpath.c?r1=1.97&r2=1.98)
postgres.c (r1.545 -> r1.546)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c?r1=1.545&r2=1.546)
pquery.c (r1.120 -> r1.121)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/pquery.c?r1=1.120&r2=1.121)
pgsql/src/backend/utils/adt:
ri_triggers.c (r1.104 -> r1.105)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ri_triggers.c?r1=1.104&r2=1.105)
txid.c (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/txid.c?r1=1.4&r2=1.5)
pgsql/src/backend/utils/cache:
plancache.c (r1.15 -> r1.16)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/plancache.c?r1=1.15&r2=1.16)
pgsql/src/backend/utils/time:
Makefile (r1.13 -> r1.14)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/Makefile?r1=1.13&r2=1.14)
tqual.c (r1.109 -> r1.110)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/tqual.c?r1=1.109&r2=1.110)
pgsql/src/include/access:
relscan.h (r1.60 -> r1.61)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h?r1=1.60&r2=1.61)
pgsql/src/include/storage:
large_object.h (r1.39 -> r1.40)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/large_object.h?r1=1.39&r2=1.40)
procarray.h (r1.20 -> r1.21)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/procarray.h?r1=1.20&r2=1.21)
pgsql/src/include/utils:
tqual.h (r1.71 -> r1.72)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/tqual.h?r1=1.71&r2=1.72)
pgsql/src/pl/plpgsql/src:
pl_exec.c (r1.204 -> r1.205)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c?r1=1.204&r2=1.205)

Added Files:
-----------
pgsql/src/backend/utils/time:
snapmgmt.c (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/snapmgmt.c?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/include/utils:
snapmgmt.h (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/snapmgmt.h?rev=1.1&content-type=text/x-cvsweb-markup)
snapshot.h (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/snapshot.h?rev=1.1&content-type=text/x-cvsweb-markup)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-03-26 16:34:48 pgsql: Fix bad spelling and worse grammar in recent doc commits.
Previous Message Magnus Hagander 2008-03-26 15:52:36 pgsql: Include \password in the psql help.