Re: Assertion failure with a subtransaction and cursor

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Assertion failure with a subtransaction and cursor
Дата
Msg-id 11083.1258912869@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Assertion failure with a subtransaction and cursor  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Assertion failure with a subtransaction and cursor  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-bugs
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.

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

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Assertion failure with a subtransaction and cursor
Следующее
От: Robert Haas
Дата:
Сообщение: Re: BUG #5203: Rule affecting more than one row is only fired once, when there is no reference to the row.