Allow CustomScan providers to say whether they support projections

Enterprise / PostgreSQL - Tom Lane [sss.pgh.pa.us] - 6 July 2021 22:10 UTC

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

955b3e0f92 Allow CustomScan providers to say whether they support projections.
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(-)

Upstream: git.postgresql.org


  • Share