Thread: pgsql: Rework custom scans to work more like the new extensible node st

pgsql: Rework custom scans to work more like the new extensible node st

From
Robert Haas
Date:
Rework custom scans to work more like the new extensible node stuff.

Per discussion, the new extensible node framework is thought to be
better designed than the custom path/scan/scanstate stuff we added
in PostgreSQL 9.5.  Rework the latter to be more like the former.

This is not backward-compatible, but we generally don't promise that
for C APIs, and there probably aren't many people using this yet
anyway.

KaiGai Kohei, reviewed by Petr Jelinek and me.  Some further
cosmetic changes by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f9143d102ffd0947ca904c62b1d3d6fd587e0c80

Modified Files
--------------
src/backend/commands/explain.c          |  1 +
src/backend/nodes/extensible.c          | 88 ++++++++++++++++++++++++++-------
src/backend/nodes/outfuncs.c            |  6 +--
src/backend/nodes/readfuncs.c           | 19 ++-----
src/backend/optimizer/plan/createplan.c |  1 +
src/include/executor/nodeCustom.h       |  1 +
src/include/nodes/execnodes.h           | 35 +------------
src/include/nodes/extensible.h          | 85 ++++++++++++++++++++++++++++++-
src/include/nodes/plannodes.h           | 14 +-----
src/include/nodes/relation.h            | 19 +------
10 files changed, 168 insertions(+), 101 deletions(-)