From: | "Jim C(dot) Nasby" <jim(at)nasby(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Uwe C(dot) Schroeder" <uwe(at)oss4u(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: 8.1, OID's and plpgsql |
Date: | 2005-12-03 02:22:57 |
Message-ID: | 20051203022257.GY13642@nasby.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Fri, Dec 02, 2005 at 06:58:39PM -0500, Tom Lane wrote:
> "Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> > Maybe the docs should be changed to just say that you should never reuse
> > a ctid outside of the transaction you obtained the ctid in?
>
> That's not a sufficient rule either: someone else could still delete or
> update the row while your transaction runs. You'd really have to SELECT
> FOR UPDATE or FOR SHARE to be sure the ctid remains stable. (Of course,
> this isn't an issue for the case of a row you just inserted yourself,
> since no one else can see it yet to change it.)
>
> The paragraph defining ctid is not the place for a discussion of how it
> could be used ... I'm not quite sure where is, though.
Maybe the MVCC paragraph?
Related to the original question though, is there actually any way to
get the ctid of a row that was just inserted?
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
From | Date | Subject | |
---|---|---|---|
Next Message | Jim C. Nasby | 2005-12-03 02:28:08 | Re: 8.1, OID's and plpgsql |
Previous Message | Tom Lane | 2005-12-03 00:37:49 | Re: Reduce NUMERIC size by 2 bytes, reduce max length to 508 digits |
From | Date | Subject | |
---|---|---|---|
Next Message | Jim C. Nasby | 2005-12-03 02:28:08 | Re: 8.1, OID's and plpgsql |
Previous Message | Charles F. I. Savage | 2005-12-03 00:54:32 | Building Windows Server Extensions Using VC++ 2005 |