Re: BUG #15977: Inconsistent behavior in chained transactions

Поиск
Список
Период
Сортировка
От fn ln
Тема Re: BUG #15977: Inconsistent behavior in chained transactions
Дата
Msg-id CA+99BHrULLrx-g+Ga68F7bzNa9mQR9ezBzHsDihsQ+0=Q0LiCA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #15977: Inconsistent behavior in chained transactions  (Fabien COELHO <coelho@cri.ensmp.fr>)
Список pgsql-bugs
Added two kinds of test for the implicit transaction: in single query and in implicit block.
The patch file is now created with Unix-style line ending (LF).

2019年8月29日(木) 15:30 Fabien COELHO <coelho@cri.ensmp.fr>:

Hello,

> COMMIT AND CHAIN in implicit block leaves blockState as TBLOCK_STARTED,
> which doesn't trigger the chaining. but ROLLBACK AND CHAIN sets the
> blockState into TBLOCK_ABORT_PENDING, so the chaining is triggered.
>
> I think disabling s->chain beforehand should do the desired behavior.

Patch applies with "patch", although "git apply" complained because of
CRLF line terminations forced by the octet-stream mime type.

Patch compiles cleanly. Make check ok.

Patch works for me, and solution seems appropriate. It should be committed
for pg 12.0.

There could be a test added in "regress/sql/transactions.sql", I'd suggest
something like:

-- implicit transaction and not chained.
COMMIT AND CHAIN;
COMMIT;
ROLLBACK AND CHAIN;
ROLLBACK;

which should show the appropriate "no transaction in progress" warnings.

Doc could be made a little clearer about what to expect when there is no
explicit transaction in progress.

--
Fabien.

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

Предыдущее
От: Fabien COELHO
Дата:
Сообщение: Re: BUG #15977: Inconsistent behavior in chained transactions
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: BUG #15977: Inconsistent behavior in chained transactions