Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction - Mailing list pgsql-general

From Matthias Apitz
Subject Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Date
Msg-id 20200513053405.GB26063@sh4-5.1blu.de
Whole thread Raw
In response to Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses 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  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
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.

    matthias


-- 
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub



pgsql-general by date:

Previous
From: Matthias Apitz
Date:
Subject: Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Next
From: Amine Tengilimoglu
Date:
Subject: what is the best way to access cold data on another server?