Improve tuplestore.c to support multiple concurrent read positions.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Oct 2008 19:51:50 +0000 (19:51 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Oct 2008 19:51:50 +0000 (19:51 +0000)
commitd88c2a7f5dc1ae7d5e91566bdd2e01d857c1c0b1
tree851fafc9885d68849a97f9630a717e8480e23a3c
parent371c35987e5de9d404eb91eaebc05e1cc9bdadcb
Improve tuplestore.c to support multiple concurrent read positions.
This facility replaces the former mark/restore support but is otherwise
upward-compatible with previous uses.  It's expected to be needed for
single evaluation of CTEs and also for window functions, so I'm committing
it separately instead of waiting for either one of those patches to be
finished.  Per discussion with Greg Stark and Hitoshi Harada.

Note: I removed nodeFunctionscan's mark/restore support, instead of bothering
to update it for this change, because it was dead code anyway.
src/backend/executor/execAmi.c
src/backend/executor/nodeFunctionscan.c
src/backend/executor/nodeMaterial.c
src/backend/utils/sort/tuplestore.c
src/include/executor/nodeFunctionscan.h
src/include/nodes/execnodes.h
src/include/utils/tuplestore.h