OSDN Git Service

Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 18 Jun 2000 22:44:35 +0000 (22:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 18 Jun 2000 22:44:35 +0000 (22:44 +0000)
commit1ee26b776475155ad1fb00fa3ed0a93659ffadad
tree1f2c7a59a1fdf3fe3eb62cf5044c5c6c21f77d12
parent2c0edb3c8677831d836fc44eb58ebecb73f747af
Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the
materialized tupleset is small enough) instead of a temporary relation.
This was something I was thinking of doing anyway for performance, and Jan
says he needs it for TOAST because he doesn't want to cope with toasting
noname relations.  With this change, the 'noname table' support in heap.c
is dead code, and I have accordingly removed it.  Also clean up 'noname'
plan handling in planner --- nonames are either sort or materialize plans,
and it seems less confusing to handle them separately under those names.
32 files changed:
src/backend/access/transam/xact.c
src/backend/bootstrap/bootparse.y
src/backend/catalog/heap.c
src/backend/catalog/index.c
src/backend/commands/explain.c
src/backend/executor/execAmi.c
src/backend/executor/nodeMaterial.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/freefuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/print.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/subselect.c
src/backend/optimizer/util/relnode.c
src/backend/utils/adt/chunk.c
src/backend/utils/cache/relcache.c
src/backend/utils/sort/Makefile
src/backend/utils/sort/tuplestore.c [new file with mode: 0644]
src/include/access/heapam.h
src/include/catalog/heap.h
src/include/executor/executor.h
src/include/executor/nodeMaterial.h
src/include/nodes/execnodes.h
src/include/nodes/nodes.h
src/include/nodes/plannodes.h
src/include/optimizer/internal.h [deleted file]
src/include/optimizer/planmain.h
src/include/utils/rel.h
src/include/utils/tuplestore.h [new file with mode: 0644]