diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-02-09 03:35:35 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-02-09 03:35:35 +0000 |
| commit | c398300330cb3060d50652800dbd12729ab9f5ef (patch) | |
| tree | 53d16880d6a38ffe3f6ddd125d644e1e984d14d1 /src/include/storage | |
| parent | acb3416686d44885b6f7d40daacb8e4c1a28e366 (diff) | |
| download | postgresql-c398300330cb3060d50652800dbd12729ab9f5ef.tar.gz | |
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.
Diffstat (limited to 'src/include/storage')
| -rw-r--r-- | src/include/storage/bufpage.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h index 53ce47f068..abb51404a5 100644 --- a/src/include/storage/bufpage.h +++ b/src/include/storage/bufpage.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.69 2007/01/05 22:19:57 momjian Exp $ + * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.70 2007/02/09 03:35:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -132,10 +132,11 @@ typedef PageHeaderData *PageHeader; /* * Page layout version number 0 is for pre-7.3 Postgres releases. * Releases 7.3 and 7.4 use 1, denoting a new HeapTupleHeader layout. - * Release 8.0 changed the HeapTupleHeader layout again. - * Release 8.1 redefined HeapTupleHeader infomask bits. + * Release 8.0 uses 2; it changed the HeapTupleHeader layout again. + * Release 8.1 uses 3; it redefined HeapTupleHeader infomask bits. + * Release 8.3 uses 4; it changed the HeapTupleHeader layout again. */ -#define PG_PAGE_LAYOUT_VERSION 3 +#define PG_PAGE_LAYOUT_VERSION 4 /* ---------------------------------------------------------------- |
