From: | Antonin Houska <antonin(dot)houska(at)gmail(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Comment - uniqueness of relfilenode |
Date: | 2014-03-06 07:34:29 |
Message-ID: | 53182505.5090300@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 03/06/2014 04:33 AM, Robert Haas wrote:
> On Wed, Mar 5, 2014 at 8:54 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>> On Mon, Nov 11, 2013 at 05:48:52PM +0100, Antonin Houska wrote:
>>> On 11/10/2013 12:57 AM, Robert Haas wrote:
>>>> On Thu, Nov 7, 2013 at 10:56 AM, Antonin Houska
>>>> <antonin(dot)houska(at)gmail(dot)com> wrote:
>>>>> catalog/catalog.c:GetNewRelFileNode() and its calls indicate that the
>>>>> following change makes sense:
>>>>>
>>>>>
>>>>> diff --git a/src/include/storage/relfilenode.h
>>>>> b/src/include/storage/relfilenode.h
>>>>> index 75f897f..7190974 100644
>>>>> --- a/src/include/storage/relfilenode.h
>>>>> +++ b/src/include/storage/relfilenode.h
>>>>> @@ -55,7 +55,7 @@ typedef enum ForkNumber
>>>>> * relNode identifies the specific relation. relNode corresponds to
>>>>> * pg_class.relfilenode (NOT pg_class.oid, because we need to be able
>>>>> * to assign new physical files to relations in some situations).
>>>>> - * Notice that relNode is only unique within a particular database.
>>>>> + * Notice that relNode is only unique within a particular tablespace.
>>>>> *
>>>>> * Note: spcNode must be GLOBALTABLESPACE_OID if and only if dbNode is
>>>>> * zero. We support shared relations only in the "global" tablespace.
>>>>>
>>>>>
>>>>> // Antonin Houska (Tony)
>>>>
>>>> Technically speaking, I think it's only guaranteed to be unique with a
>>>> database-tablespace combination. In other words, the same OID can be
>>>> reused as a relfilenode if *either* of those two values differs.
>>>
>>> You're right. I missed the fact that Postgres (unlike another DBMS that
>>> I worked with) allows for tablespace to be shared across databases.
>>
>> I have update the C comment:
>>
>> < * Notice that relNode is only unique within a particular database.
>> ---
>> > * Notice that relNode is only unique within a particular tablespace.
>
> Yep. But the new text is no more correct than the old text. Did you
> read what I wrote upthread?
Perhaps "... unique within a particular (tablespace, database)
combination." ?
// Tony
From | Date | Subject | |
---|---|---|---|
Next Message | Ronan Dunklau | 2014-03-06 08:11:19 | Re: Triggers on foreign tables |
Previous Message | Pavel Stehule | 2014-03-06 06:26:23 | Re: Fwd: patch: make_timestamp function |