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