Restore sane locking behavior during parallel query.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 29ef2b310da9892fda075ff9ee12da7f92d5da6e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-10-06T19:49:37Z
Releases: 12.0
Restore sane locking behavior during parallel query.

Commit 9a3cebeaa changed things so that parallel workers didn't obtain
any lock of their own on tables they access.  That was clearly a bad
idea, but I'd mistakenly supposed that it was the intended end result
of the series of patches for simplifying the executor's lock management.
Undo that change in relation_open(), and adjust ExecOpenScanRelation()
so that it gets the correct lock if inside a parallel worker.

In passing, clean up some more obsolete comments about when locks
are acquired.

Discussion: https://postgr.es/m/468c85d9-540e-66a2-1dde-fec2b741e688@lab.ntt.co.jp

Files

Discussion