Allow CustomScan providers to say whether they support projections.

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

Commit: 955b3e0f9269639fb916cee3dea37aee50b82df0
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-07-06T22:10:20Z
Releases: 15.0
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

Files

Documentation touched

Discussion