Re: Assertion failure with a subtransaction and cursor - Mailing list pgsql-bugs

From Heikki Linnakangas
Subject Re: Assertion failure with a subtransaction and cursor
Date
Msg-id 4B14EE30.5070004@enterprisedb.com
Whole thread Raw
In response to Re: Assertion failure with a subtransaction and cursor  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Assertion failure with a subtransaction and cursor  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Tom Lane wrote:
> Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
>> On all versions starting from 8.0 where subtransactions were introduced,
>> this causes an assertion failure:
>
> Ugh :-(
>
> This ties into the more general issue that it's not clear what effect a
> subtransaction rollback should have on a cursor.  You could argue that
> ideally the cursor should revert to its pre-savepoint state.  We didn't
> implement that in 8.0 because it seemed too hard, but this bug shows
> that not rolling back the cursor isn't exactly easy either.

Yeah, the current behavior is debatable. But it's quite sane, useful and
well-defined as it is, so I don't feel any urge to change it.

> 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.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

pgsql-bugs by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: BUG #5218: Easy strategic feature requests
Next
From: "DM"
Date:
Subject: BUG #5221: errors converting string to utf8