"Greg Stark" <stark@enterprisedb.com> writes:
> On Wed, Oct 1, 2008 at 2:54 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> So it seems like the appropriate generalization is to have an array of
>> read positions inside the tuplestore and allow callers to say "read
>> using position N", plus some API to allow positions to be allocated to
>> different requestors.
> One other reason the tuplestore should know the position of all the
> readers is that ideally it would want to be able to discard any tuples
> older than the oldest read position. That also means it needs to know
> when all the call sites have allocated their position and don't need
> to reset it.
Good point. So we'd need per-position capability flags, not
per-tuplestore.
I hadn't realized that this would be relevant to window functions.
Now that I know that, I propose fixing tuplestore for multiple
positions and committing it separately, before I go back to the CTE
patch. Then Hitoshi-san will have something he can work with too.
regards, tom lane