Skip site navigation (1) Skip section navigation (2)

Re: 8.1, OID's and plpgsql

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jim C(dot) Nasby" <jim(at)nasby(dot)net>
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-02 23:58:39
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-generalpgsql-hackers
"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.

			regards, tom lane

In response to


pgsql-hackers by date

Next:From: Jan WieckDate: 2005-12-02 23:58:47
Subject: Re: Spam 508
Previous:From: Tom LaneDate: 2005-12-02 23:53:46
Subject: Re: strange behavior (corruption?) of large production database

pgsql-general by date

Next:From: Tom LaneDate: 2005-12-03 00:37:49
Subject: Re: Reduce NUMERIC size by 2 bytes, reduce max length to 508 digits
Previous:From: Tyler MacDonaldDate: 2005-12-02 23:53:20
Subject: Re: memory leak under heavy load?

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group