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