Search Postgresql Archives

Re: 8.1, OID's and plpgsql

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



the ctid seems to be the solution to my problem. I'm inserting the record in a 
transaction so the ctid shouldn't change while the transaction isn't finished 
(either rolled back or committed).
One question though. How would I get the ctid of the just inserted record. GET 
DIAGNOSTICS only handles row count and oid per the docs.

THX

UC
 

On Friday 02 December 2005 15:58, Tom Lane wrote:
> "Jim C. Nasby" <jim@xxxxxxxxx> 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.
>
> 			regards, tom lane



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux