aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/explain.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2016-02-07 10:16:13 -0500
committerRobert Haas <rhaas@postgresql.org>2016-02-07 10:16:13 -0500
commita1c1af2a1f6099c039f145c1edb52257f315be51 (patch)
tree1cb89288ec139185a57ddda01ea53abf5df0c28a /src/backend/commands/explain.c
parentaa2387e2fd532954e88dfd8546ab894b9305123d (diff)
downloadpostgresql-a1c1af2a1f6099c039f145c1edb52257f315be51.tar.gz
postgresql-a1c1af2a1f6099c039f145c1edb52257f315be51.zip
Introduce group locking to prevent parallel processes from deadlocking.
For locking purposes, we now regard heavyweight locks as mutually non-conflicting between cooperating parallel processes. There are some possible pitfalls to this approach that are not to be taken lightly, but it works OK for now and can be changed later if we find a better approach. Without this, it's very easy for parallel queries to silently self-deadlock if the user backend holds strong relation locks. Robert Haas, with help from Amit Kapila. Thanks to Noah Misch and Andres Freund for extensive discussion of possible issues with this approach.
Diffstat (limited to 'src/backend/commands/explain.c')
0 files changed, 0 insertions, 0 deletions