On November 13, 2014 8:50:18 PM CET, Tom Lane <t...@sss.pgh.pa.us> wrote:
>Robert Haas <robertmh...@gmail.com> writes:
>> On Thu, Nov 13, 2014 at 3:38 AM, Jeff Davis <pg...@j-davis.com>
>wrote:
>>> If two backends both have an exclusive lock on the relation for a
>join
>>> operation, that implies that they need to do their own
>synchronization,
>>> because obviously the lock manager is not doing it for them.
>
>> This doesn't make sense to me.  Why would they need to synchronize
>> access to a relation in order to join it?
>
>What's more to the point: why would you take an exclusive lock just to
>do a join?

Robert's case basically rest on the premise that it's useful & correct when 
normally conflicting locks don't conflict when normal processes and its workers 
acquire them. I have serious doubts about the safety of that and the complexity 
it requires.

Obviously a join won't need an exclusive lock itself - but with Robert's design 
a join inside a transaction that locked a relation could still be parallelized, 
even if that rel is involved.

Andred

-- 
Please excuse brevity and formatting - I am writing this on my mobile phone.

Andres Freund                      http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


-- 
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