]> granicus.if.org Git - postgresql/commit
Combine cmin and cmax fields of HeapTupleHeaders into a single field, by
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 Feb 2007 03:35:35 +0000 (03:35 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 Feb 2007 03:35:35 +0000 (03:35 +0000)
commitc398300330cb3060d50652800dbd12729ab9f5ef
tree53d16880d6a38ffe3f6ddd125d644e1e984d14d1
parentacb3416686d44885b6f7d40daacb8e4c1a28e366
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.
21 files changed:
src/backend/access/common/heaptuple.c
src/backend/access/heap/heapam.c
src/backend/access/transam/xact.c
src/backend/utils/fmgr/fmgr.c
src/backend/utils/time/Makefile
src/backend/utils/time/combocid.c [new file with mode: 0644]
src/include/access/htup.h
src/include/catalog/catversion.h
src/include/storage/bufpage.h
src/include/utils/combocid.h [new file with mode: 0644]
src/pl/plperl/plperl.c
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/plpgsql.h
src/pl/plpython/plpython.c
src/pl/tcl/pltcl.c
src/test/regress/expected/combocid.out [new file with mode: 0644]
src/test/regress/expected/without_oid.out
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/combocid.sql [new file with mode: 0644]
src/test/regress/sql/without_oid.sql