Re: synchronized snapshots

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: synchronized snapshots
Дата
Msg-id 828E7ADC-6607-4363-A209-0BA36807737F@nasby.net
обсуждение исходный текст
Ответ на Re: synchronized snapshots  (Joachim Wieland <joe@mcknight.de>)
Ответы Re: synchronized snapshots  (Jeff Davis <pgsql@j-davis.com>)
Список pgsql-hackers
On Aug 15, 2011, at 5:46 PM, Joachim Wieland wrote:
> On Mon, Aug 15, 2011 at 6:09 PM, Jim Nasby <jim@nasby.net> wrote:
>> I suspect that all the other cases of BEGIN failing would be syntax errors, so
>> you would immediately know in testing that something was wrong. A missing file
>> is definitely not a syntax error, so we can't really depend on user testing to ensure
>> this is handled correctly. IMO, that makes it critical that that error puts us in an
>> aborted transaction.
>
> Why can we not just require the user to verify if his BEGIN query
> failed or succeeded?
> Is that really too much to ask for?

It's something else that you have to remember to get right. psql, for example, will blindly continue on unless you
rememberedto tell it to exit on an error. 

Also, an invalid transaction seems to be the result of least surprise... if you cared enough to begin a transaction,
you'regoing to expect that either everything between that and the COMMIT succeeds or fails, not something in-between. 

> Also see what Robert wrote about proxies in between that keep track of
> the transaction
> state. Consider they see a BEGIN query that fails. How would they know
> if the session
> is now in an aborted transaction or not in a transaction at all?

AFAIK a proxy can tell if a transaction is in progress or not via libpq. Worst-case, it just needs to send an extra
ROLLBACK.
--
Jim C. Nasby, Database Architect                   jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net




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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: error: could not find pg_class tuple for index 2662
Следующее
От: Robert Haas
Дата:
Сообщение: Re: error: could not find pg_class tuple for index 2662