Re: 8.1, OID's and plpgsql - Mailing list pgsql-general

From Tom Lane
Subject Re: 8.1, OID's and plpgsql
Date
Msg-id 9093.1133567919@sss.pgh.pa.us
Whole thread Raw
In response to Re: 8.1, OID's and plpgsql  ("Jim C. Nasby" <jim@nasby.net>)
Responses Re: 8.1, OID's and plpgsql
Re: 8.1, OID's and plpgsql
Re: 8.1, OID's and plpgsql
List pgsql-general
"Jim C. Nasby" <jim@nasby.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.

            regards, tom lane

pgsql-general by date:

Previous
From: Gary Horton
Date:
Subject: Re: createuser ignores stdin in 8.1.0?
Next
From: Tom Lane
Date:
Subject: Re: Reduce NUMERIC size by 2 bytes, reduce max length to 508 digits