Thread: pgsql: Allow CustomScan providers to say whether they support projectio

Allow CustomScan providers to say whether they support projections.

Previously, all CustomScan providers had to support projections,
but there may be cases where this is inconvenient.  Add a flag
bit to say if it's supported.

Important item for the release notes: this is non-backwards-compatible
since the default is now to assume that CustomScan providers can't
project, instead of assuming that they can.  It's fail-soft, but could
result in visible performance penalties due to adding unnecessary
Result nodes.

Sven Klemm, reviewed by Aleksander Alekseev; some cosmetic fiddling
by me.

Discussion: https://postgr.es/m/CAMCrgp1kyakOz6c8aKhNDJXjhQ1dEjEnp+6KNT3KxPrjNtsrDg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/955b3e0f9269639fb916cee3dea37aee50b82df0

Modified Files
--------------
doc/src/sgml/custom-scan.sgml           | 13 ++++++++++---
src/backend/executor/execAmi.c          | 17 +++++------------
src/backend/optimizer/plan/createplan.c |  8 ++++++++
src/include/nodes/extensible.h          |  4 +++-
4 files changed, 26 insertions(+), 16 deletions(-)