Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> Tom Lane wrote:
>> Not sure what to do. The only fix that seems bulletproof at the moment
>> is to declare that any cursor that's been touched at all in a
>> subtransaction is marked "broken" if the subtransaction rolls back.
>> That might be too great a loss of functionality. It would block off
>> the controversial aspects of behavior though ...
> Hmm, I think we should track temporary files using resource owners.
That would probably be a workable solution if temp files are the only
problem. What I'm afraid of is that this type of problem exists
*everywhere* that we track the need for cleanup operations using the
assumption that subtransactions are nested. If that's the case then we
are looking at a very major rewrite to make things bulletproof --- much
larger than I'd feel comfortable back-patching, especially so far back
as 8.0. I'm thinking we might have little choice but to disable the
functionality in back branches.
regards, tom lane