Enable parallelism for prepared statements and extended query protocol.
authorRobert Haas <rhaas@postgresql.org>
Thu, 25 Feb 2016 07:32:18 +0000 (13:02 +0530)
committerRobert Haas <rhaas@postgresql.org>
Thu, 25 Feb 2016 07:32:18 +0000 (13:02 +0530)
commit57a6a72b6bc98f3003e87bc31de4b9c2c89fe019
tree088d835d52a1eb3ae57da04fc3e86e8c14321e19
parent25924ac47abde5330ca502e23796e9d37cd1ae68
Enable parallelism for prepared statements and extended query protocol.

Parallel query can't handle running a query only partially rather than
to completion.  However, there seems to be no way to run a statement
prepared via SQL PREPARE other than to completion, so we can enable it
there without a problem.

The situation is more complicated for the extend query protocol.
libpq seems to provide no way to send an Execute message with a
non-zero rowcount, but some other client might.  If that happens, and
a parallel plan was chosen, we'll execute the parallel plan without
using any workers, which may be somewhat inefficient but should still
work.  Hopefully this won't be a problem; users can always set
max_parallel_degree=0 to avoid choosing parallel plans in the first
place.

Amit Kapila, reviewed by me.
src/backend/commands/prepare.c
src/backend/tcop/postgres.c