Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Дата
Msg-id bbf09998-7761-0aed-a155-a4d611048b36@aklaver.com
обсуждение исходный текст
Ответ на Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction  (Matthias Apitz <guru@unixarea.de>)
Ответы Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Список pgsql-general
On 5/12/20 10:34 PM, Matthias Apitz wrote:
> El día Dienstag, Mai 12, 2020 a las 05:17:33 -0700, Adrian Klaver escribió:
> 
>>>> insert into swd_auftrag ..
>>>>
>>>> COMMIT?
>>>
>>> This question (if it was a question) I don't understand.
>>
>>  From your original message:
>>
>> "The INSERT of 1 row into table swd_daten was OK and commit'ed (marked line)
>> and a later rollback (last line) seems to roll it back, at least the row
>> isn't in the table."
>>
>> It was not clear to me whether:
>>
>> "[1471] [12.05.2020 15:48:50:478]: ecpg_execute on line 1637: query: insert
>> into swd_auftrag ( setnr , aufnum , katkey , userid , seqcount ) values ( $1
>> , $2  , $3  , $4  , $5  ); with 5 parameter(s) on connection sisis
>> [1471] [12.05.2020 15:48:50:478]: ecpg_process_output on line 1637: OK:
>> INSERT 0 1"
>>
>> also COMMITT(ed) or not?
> 
> As I said in the original post of this thread:
> 
> [1471] [12.05.2020 15:48:50:476]: ecpg_execute on line 1744: query: insert into swd_daten ( katkey , aktion , reserv
,id , ansetzung , nettodaten ) values ( $1  , $2  , $3  , $4  , $5  , $6  ); with 6 parameter(s) on connection sisis
 
> [1471] [12.05.2020 15:48:50:476]: ecpg_process_output on line 1744: OK: INSERT 0 1
> [1471] [12.05.2020 15:48:50:477]: ECPGtrans on line 6716: action "commit"; connection "sisis"
> ...
> 
> i.e. the COMMIT is done in the same connection(!) right after the
> INSERT. There is no other ESQL/C call logged (and done) between.
> 
> There is only no ACK from the ESQL/C layer about the COMMIT of
> ECPGtrans, but this is a fault in the ESQL/C layer code, because the
> ECPGtrans is logged before executing it and afterward if it's done OK no
> message is generated.


In your original post you had:

"We're facing in our ESQL/C written application a situation where a
commit'ed INSERT into a table is rolled back. I have here the ESQL/C
logging of the problem:"
...

"The INSERT of 1 row into table swd_daten was OK and commit'ed (marked line)
and a later rollback (last line) seems to roll it back, at least the row
isn't in the table.

Any ideas? The connection is not set to AUTOCOMMIT."

You then included a sequence of log messages that ended with a 
"rollback". Within that sequence was the INSERT to swd_auftrag. It 
seemed reasonable to ask whether that INSERT rolled back also. That is 
if the intent of this thread is to figure out why the INSERT was rolled 
back. If the thread has changed to fixing ESQL/C logging then ignore the 
above.

> 
>     matthias
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Why is it that “aggregate functions are not allowed in FROM clause of their own query level”?
Следующее
От: Dmitry Igrishin
Дата:
Сообщение: Practical usage of large objects.