Re: [PATCH] PageGetTempPage cleanup - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Re: [PATCH] PageGetTempPage cleanup
Date
Msg-id 4910680D.4040702@sun.com
Whole thread Raw
In response to Re: [PATCH] PageGetTempPage cleanup  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane napsal(a):
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> I attach patch which cleans up code around PageGetTempPage. These changes were 
>> discussed here:
>> http://archives.postgresql.org/pgsql-hackers/2008-08/msg00102.php
> 
> Applied with a minor change: instead of inventing
>     Page PageGetTempPage(Page page, bool copy)
> I split it into two functions
>     Page PageGetTempPage(Page page)
>     Page PageGetTempPageCopy(Page page)
> I don't see any advantage to having the single function, because it
> doesn't seem like any calling code path would be likely to want both
> behaviors depending on some condition.  Moreover, the way you had it
> meant that we'd be replacing
>     Page PageGetTempPage(Page page, Size specialSize);
> with
>     Page PageGetTempPage(Page page, bool copy);
> which seems risky to me.  If someone failed to update code that was
> meant to call the old API, they'd get no warning about it --- at least
> not in any C compiler I'm familiar with.  Changing the number of
> arguments guarantees a compile error for un-updated code.

Agree.

Just a question you sometime argue that somebody should uses this interface for 
external module. Is there any clue which function is used and which not? Should 
we create something like core API description which will be stable?
Zdenek

-- 
Zdenek Kotala              Sun Microsystems
Prague, Czech Republic     http://sun.com/postgresql



pgsql-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: [WIP] In-place upgrade
Next
From: Tom Lane
Date:
Subject: Re: libpq and sslmode=require