Rework custom scans to work more like the new extensible node stuff.
authorRobert Haas <rhaas@postgresql.org>
Tue, 29 Mar 2016 15:00:18 +0000 (11:00 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 29 Mar 2016 15:28:04 +0000 (11:28 -0400)
commitf9143d102ffd0947ca904c62b1d3d6fd587e0c80
treee75fb310cbad87d2641291fec320302531f5c548
parent534da37927f97ae7cb1b468963ba9bca747209ea
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.
src/backend/commands/explain.c
src/backend/nodes/extensible.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/createplan.c
src/include/executor/nodeCustom.h
src/include/nodes/execnodes.h
src/include/nodes/extensible.h
src/include/nodes/plannodes.h
src/include/nodes/relation.h