Re: WIP patch: Improve relation size functions such as pg_relation_size() to avoid producing an error when called against a no longer visible relation

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Phil Sorber <phil(at)omniti(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, OmniTI DBA <dba(at)omniti(dot)com>
Subject: Re: WIP patch: Improve relation size functions such as pg_relation_size() to avoid producing an error when called against a no longer visible relation
Date: 2011-12-22 20:19:16
Message-ID: CA+TgmoYtHZLLB+yLzm3fnTv2Tvv4AB4+nySJ-3Lm2jW=vUb1qA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 22, 2011 at 2:02 PM, Phil Sorber <phil(at)omniti(dot)com> wrote:
> On Thu, Dec 22, 2011 at 1:33 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>>> I'm wondering if we oughta just return NULL and be done with it.
>>
>> +1.  There are multiple precedents for that sort of response, which we
>> introduced exactly so that "SELECT some_function(oid) FROM some_catalog"
>> wouldn't fail just because one of the rows had gotten deleted by the
>> time the scan got to it.  I don't think it's necessary for the
>> relation-size functions to be any smarter.  Indeed, I'd assumed that's
>> all that Phil's patch did, since I'd not looked closer till just now.
>
> Here it is without the checking for recently dead. If it can't open
> the relation it simply returns NULL.

I think we probably ought to make pg_database_size() and
pg_tablespace_size() behave similarly.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jignesh Shah 2011-12-22 20:23:23 Re: Page Checksums + Double Writes
Previous Message Robert Haas 2011-12-22 20:04:48 Re: Page Checksums + Double Writes