PG_PAGE_LAYOUT_VERSION - Should be Documented as 3?

Started by Matt Millerover 20 years ago3 messages
#1Matt Miller
mattm@epx.com
1 attachment(s)

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,
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Matt Miller (#1)
Re: PG_PAGE_LAYOUT_VERSION - Should be Documented as 3?

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

#3Alvaro Herrera
alvherre@alvh.no-ip.org
In reply to: Matt Miller (#1)
Re: PG_PAGE_LAYOUT_VERSION - Should be Documented as 3?

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)