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

Re: Question about isolation

From: Chester Kustarz <chester(at)arbor(dot)net>
To: Samuel Tardieu <sam(at)rfc1149(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Question about isolation
Date: 2004-01-28 20:36:23
Message-ID: Pine.BSO.4.44.0401281534400.30592-100000@detroit.arbor.net (view raw or flat)
Thread:
Lists: pgsql-sql
On Wed, 28 Jan 2004, Chester Kustarz wrote:
> On Wed, 28 Jan 2004, Samuel Tardieu wrote:
> > If in a transaction I call an embedded function in Pl/PgSQL, in which
> > I have:
> >
> >   delete from t where condition;
> >   for e in select distinct on (f) * from t where ... loop
> >      ...
> >   end loop;
> >
> > Do I have the guarantee that, in any event, rows deleted from table t
> > by the delete won't reappear in the select result?
>
> i do not think you have that guarantee in READ COMMITTED mode because
> there is a slight possibility another backend sneaked a committed insert in
> between the delete and select statement. perhaps you want to
> change to SERIALIZABLE transaction isolation. or perhaps you would
> like to repeat the WHERE condition from the DELETE in the following
> SELECT so as to not gather any of the offending rows.
>
> http://www.postgresql.org/docs/7.4/static/sql-set-transaction.html

perhaps the isolation level applies to the statement that called the
function, in which case you would be ok. that would make more sense, no?



In response to

Responses

pgsql-sql by date

Next:From: Samuel TardieuDate: 2004-01-28 21:45:13
Subject: Re: Question about isolation
Previous:From: Chester KustarzDate: 2004-01-28 20:12:38
Subject: Re: Question about isolation

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