Tom Lane <t...@sss.pgh.pa.us> wrote:

> I think this is an artifact of the fact that SQL functions parse the
> whole querystring before executing any of it.  Parsing of "DELETE FROM
> a" will result in acquiring ROW EXCLUSIVE lock on a, and then when the
> LOCK commands are executed, you have a lock-upgrade scenario and the
> deadlock is unsurprising.

Thanks. It's a surprise for me :-).

> There was some discussion of changing that awhile ago, but I forget
> what the conclusion was.  In any case nothing's been done about it.

We cannot make a package of locking controls in a function under
the current behavior. It would be good to improve this area.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to