Re: SELECT ... FOR UPDATE [WAIT integer | NOWAIT] for 8.5

From: Hans-Juergen Schoenig <postgres(at)cybertec(dot)at>
To: Greg Stark <greg(dot)stark(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: SELECT ... FOR UPDATE [WAIT integer | NOWAIT] for 8.5
Date: 2009-05-11 09:18:43
Message-ID: 4A07ED73.3020607@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

hello greg,

the thing with statement_timeout is a little bit of an issue.
you could do:
SET statement_timeout TO ...;
SELECT FOR UPDATE ...
SET statement_timeout TO default;

this practically means 3 commands.
the killer argument, however, is that the lock might very well happen
ways after the statement has started.
imagine something like that (theoretical example):

SELECT ...
FROM
WHERE x > ( SELECT some_very_long_thing)
FOR UPDATE ...;

some operation could run for ages without ever taking a single, relevant
lock here.
so, you don't really get the same thing with statement_timeout.

regards,

hans

Greg Stark wrote:
> Can't you to this today with statement_timeout? Surely you do want to
> rollback the whole transaction or at least the subtransaction if you
> have error handling.
>

--
Cybertec Schönig & Schönig GmbH
Professional PostgreSQL Consulting, Support, Training
Gröhrmühlgasse 26, A-2700 Wiener Neustadt
Web: www.postgresql-support.de

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Lucas Brito 2009-05-11 09:38:44 Re: SELECT ... FOR UPDATE [WAIT integer | NOWAIT] for 8.5
Previous Message Bernd Helmle 2009-05-11 09:15:32 Re: bytea vs. pg_dump