Re: [PATCH] PageGetTempPage cleanup

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] PageGetTempPage cleanup
Date: 2008-11-04 15:19:41
Message-ID: 4910680D.4040702@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane napsal(a):
> Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-11-04 15:22:03 Re: libpq and sslmode=require
Previous Message Zdenek Kotala 2008-11-04 15:09:16 Re: [WIP] In-place upgrade