From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Combine cmin and cmax fields of HeapTupleHeaders into a single |
Date: | 2007-02-09 03:35:35 |
Message-ID: | 20070209033535.C94B29FA141@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Combine cmin and cmax fields of HeapTupleHeaders into a single field, by
keeping private state in each backend that has inserted and deleted the same
tuple during its current top-level transaction. This is sufficient since
there is no need to be able to determine the cmin/cmax from any other
transaction. This gets us back down to 23-byte headers, removing a penalty
paid in 8.0 to support subtransactions. Patch by Heikki Linnakangas, with
minor revisions by moi, following a design hashed out awhile back on the
pghackers list.
Modified Files:
--------------
pgsql/src/backend/access/common:
heaptuple.c (r1.114 -> r1.115)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/heaptuple.c.diff?r1=1.114&r2=1.115)
pgsql/src/backend/access/heap:
heapam.c (r1.227 -> r1.228)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.227&r2=1.228)
pgsql/src/backend/access/transam:
xact.c (r1.233 -> r1.234)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c.diff?r1=1.233&r2=1.234)
pgsql/src/backend/utils/fmgr:
fmgr.c (r1.103 -> r1.104)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c.diff?r1=1.103&r2=1.104)
pgsql/src/backend/utils/time:
Makefile (r1.11 -> r1.12)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/Makefile.diff?r1=1.11&r2=1.12)
pgsql/src/include/access:
htup.h (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/htup.h.diff?r1=1.90&r2=1.91)
pgsql/src/include/catalog:
catversion.h (r1.382 -> r1.383)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.382&r2=1.383)
pgsql/src/include/storage:
bufpage.h (r1.69 -> r1.70)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufpage.h.diff?r1=1.69&r2=1.70)
pgsql/src/pl/plperl:
plperl.c (r1.126 -> r1.127)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.126&r2=1.127)
pgsql/src/pl/plpgsql/src:
pl_comp.c (r1.112 -> r1.113)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.112&r2=1.113)
plpgsql.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.84&r2=1.85)
pgsql/src/pl/plpython:
plpython.c (r1.94 -> r1.95)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.94&r2=1.95)
pgsql/src/pl/tcl:
pltcl.c (r1.109 -> r1.110)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.109&r2=1.110)
pgsql/src/test/regress/expected:
without_oid.out (r1.7 -> r1.8)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/without_oid.out.diff?r1=1.7&r2=1.8)
pgsql/src/test/regress:
parallel_schedule (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/parallel_schedule.diff?r1=1.38&r2=1.39)
serial_schedule (r1.36 -> r1.37)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/serial_schedule.diff?r1=1.36&r2=1.37)
pgsql/src/test/regress/sql:
without_oid.sql (r1.6 -> r1.7)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/without_oid.sql.diff?r1=1.6&r2=1.7)
Added Files:
-----------
pgsql/src/backend/utils/time:
combocid.c (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/combocid.c?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/include/utils:
combocid.h (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/combocid.h?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/test/regress/expected:
combocid.out (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/combocid.out?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/test/regress/sql:
combocid.sql (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/combocid.sql?rev=1.1&content-type=text/x-cvsweb-markup)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-02-09 03:37:45 | pgsql: Done! < * Merge xmin/xmax/cmin/cmax back into three header |
Previous Message | Bruce Momjian | 2007-02-09 03:15:49 | pgsql: Remove blank line from C code. |