PG_PAGE_LAYOUT_VERSION - Should be Documented as 3?
doc/src/sgml/storage.sgml says:
"The last 2 bytes of the page header,
<structfield>pd_pagesize_version</structfield>, store both the page size
and a version indicator. Beginning with
<productname>PostgreSQL</productname> 8.0 the version number is 2;
<productname>PostgreSQL</productname> 7.3 and 7.4 used version number 1;
prior releases used version number 0."
But src/include/storage/bufpage.h says:
"/*
* 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.
*/
#define PG_PAGE_LAYOUT_VERSION 3"
So, should the attached be applied?
Attachments:
storage.sgml.patchtext/x-patch; charset=UTF-8; name=storage.sgml.patchDownload
Index: storage.sgml
===================================================================
RCS file: /var/local/pgcvs/pgsql/doc/src/sgml/storage.sgml,v
retrieving revision 1.6
diff -c -r1.6 storage.sgml
*** storage.sgml 28 Apr 2005 21:47:09 -0000 1.6
--- storage.sgml 1 Sep 2005 15:32:35 -0000
***************
*** 437,443 ****
The last 2 bytes of the page header,
<structfield>pd_pagesize_version</structfield>, store both the page size
and a version indicator. Beginning with
! <productname>PostgreSQL</productname> 8.0 the version number is 2;
<productname>PostgreSQL</productname> 7.3 and 7.4 used version number 1;
prior releases used version number 0.
(The basic page layout and header format has not changed in these versions,
--- 437,444 ----
The last 2 bytes of the page header,
<structfield>pd_pagesize_version</structfield>, store both the page size
and a version indicator. Beginning with
! <productname>PostgreSQL</productname> 8.1 the version number is 3;
! <productname>PostgreSQL</productname> 8.0 used version number 2;
<productname>PostgreSQL</productname> 7.3 and 7.4 used version number 1;
prior releases used version number 0.
(The basic page layout and header format has not changed in these versions,
Matt Miller <mattm@epx.com> writes:
doc/src/sgml/storage.sgml says:
There's a number of things not updated yet in that file :-(
I believe it hasn't heard of pg_twophase either.
regards, tom lane
On Thu, Sep 01, 2005 at 03:36:12PM +0000, Matt Miller wrote:
But src/include/storage/bufpage.h says:
"/*
* 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.
*/
#define PG_PAGE_LAYOUT_VERSION 3"So, should the attached be applied?
Also it would be nice to include a patch to mention that piece of
documentation in the comment, so when we increment the version number
again we remember to update the docs.
--
Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com
Thou shalt check the array bounds of all strings (indeed, all arrays), for
surely where thou typest "foo" someone someday shall type
"supercalifragilisticexpialidocious" (5th Commandment for C programmers)