Re: Re: postgres TODO - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Re: postgres TODO
Date
Msg-id 13387.963371110@sss.pgh.pa.us
Whole thread Raw
In response to RE: Re: postgres TODO  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Responses RE: Re: postgres TODO  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Re: Re: postgres TODO  (JanWieck@t-online.de (Jan Wieck))
List pgsql-hackers
"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> I've forgotten to propose that INSERT returns TID together
> with OID before 7.0.  This has been in my mind since
> I planned to implement Tid scan. Different from OID
> ,TID has its specific (fast) access method now.

Couple of thoughts here ---

* OID is (nominally) unique across tables.  TID is not.  This is a
serious point in the presence of inheritance.  I'd like to see the
return be table OID plus TID if we are going to rely on TID.

* TID identification of a row does not survive VACUUM, does it?
So you'd have to assume a vacuum didn't happen in between.  Seems a
little risky.  Vadim's overwriting smgr would make this issue a lot
worse.  Might be OK in certain application contexts, but I wouldn't
want to encourage people to use it without thinking.

* I don't see any way to add TID (or table OID) to the default return
data without changing the fe/be protocol and breaking a lot of existing
client code.

Philip's INSERT ... RETURNING idea could support returning TID and
table OID as a special case, and it has the saving grace that it
won't affect apps that don't use it...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Vacuum only with 20% old tuples
Next
From: "Hiroshi Inoue"
Date:
Subject: RE: Vacuum only with 20% old tuples