Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 605E4650150 for ; Sun, 13 Jul 2008 16:02:26 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 86538-02 for ; Sun, 13 Jul 2008 16:02:21 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by postgresql.org (Postfix) with ESMTP id 54CA865013A for ; Sun, 13 Jul 2008 16:02:23 -0300 (ADT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.2/8.14.2) with ESMTP id m6DJ2JkD013371; Sun, 13 Jul 2008 15:02:19 -0400 (EDT) To: "Heikki Linnakangas" cc: "Zdenek Kotala" , "Pavan Deolasee" , "PostgreSQL-patches" Subject: Re: page macros cleanup (ver 04) In-reply-to: <4874A6E0.9070909@enterprisedb.com> References: <48529B83.9010907@sun.com> <2e78013d0807030450m4cab60d0jd99d1acce59fae56@mail.gmail.com> <486DD1D1.50604@sun.com> <2e78013d0807040150w393ad72codaf06a6ac12a83ce@mail.gmail.com> <486DF644.4070604@enterprisedb.com> <2e78013d0807040350m3b2913cfkceaa70d8f9d697c2@mail.gmail.com> <486E01B0.9050100@enterprisedb.com> <2e78013d0807040404q5ff7f7faq9f87a39e0f0552fa@mail.gmail.com> <486E138F.4060900@sun.com> <4874A6E0.9070909@enterprisedb.com> Comments: In-reply-to "Heikki Linnakangas" message dated "Wed, 09 Jul 2008 14:54:08 +0300" Date: Sun, 13 Jul 2008 15:02:19 -0400 Message-ID: <13370.1215975739@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200807/143 X-Sequence-Number: 6837 "Heikki Linnakangas" writes: > ... That macro is actually doing the > same thing as PageGetContents, so I switched to using that. As that > moves the data sligthly on those bitmap pages, I guess we'll need a > catversion bump. I'm amazed that Zdenek didn't scream bloody murder about that. You're creating a work item for in-place-upgrade that would not otherwise exist, in exchange for a completely trivial bit of code beautification. (The same can be said of his proposed change to hash meta pages.) I'm planning to go over this patch today and apply it sans the parts that would require catversion bump. We can argue later about whether those are really worth doing, but I'm leaning to "not" --- unless Zdenek says that he has no intention of making in-place-upgrade handle hash indexes any time soon. BTW, after further thought about the PageGetContents() situation: right now we can change it to guarantee maxalignment "for free", since SizeOfPageHeaderData happens to be maxaligned on all platforms (this wasn't the case as recently as 8.2). So I'm thinking we should do that. There's at least one place that thinks that PageGetContents is the same as page + SizeOfPageHeaderData, but that's easily fixed. On balance it seems like hidden assumptions about alignment are a bigger risk than assumptions about that offset --- anyone want to argue the contrary? regards, tom lane