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

From Adrian Klaver
Subject Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Date
Msg-id dea15286-0856-f713-387e-062e98ae975c@aklaver.com
Whole thread Raw
In response to Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction  (Matthias Apitz <guru@unixarea.de>)
Responses Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction  (Matthias Apitz <guru@unixarea.de>)
List pgsql-general
On 5/12/20 4:52 PM, Matthias Apitz wrote:
> El día Dienstag, Mai 12, 2020 a las 12:30:17 -0700, Adrian Klaver escribió:
> 
>> On 5/12/20 12:14 PM, Matthias Apitz wrote:
>>>
>>> To answer also the question of Adrian Klaver:
>>>
>>> The database in question has ~400 tables and the ESQL/C application has
>>> for each table its own ESQL/C source file. It would be possible but a
>>> nightmare to share the code and it's better to discuss the problem based
>>> on the ESQL/c log file or I have to write some small example code to
>>> reproduce the problem. The line numbers are relative to those source
>>> files (and it's a pitty that the name of the source file is not logged,
>>> onle the line numbers).
>>
>> Yeah, but there is a one:one mapping of table:source file and you know the
>> table, so you should be able to find the source at the line number. Or am I
>> missing something?
> 
> Yes. The table here is swd_daten, the corresponding .pgc file is
> swd_daten.pgc.
> 
> And in the log the line logged is:
> 
> [1471] [12.05.2020 15:48:50:476]: ecpg_process_output on line 1744: OK: INSERT 0 1

So what is happening before, during and after that line?

> 
> What I wanted to have is:
> 
> 
> [1471] [12.05.2020 15:48:50:476]: ecpg_process_output on line 1744 of swd_daten.pgc: OK: INSERT 0 1
> 
> i.e. have added the file name to the line number as "on line 1744 of
> swd_daten.pgc" to not always have to think, hey in which table we're
> with this at the moment.
> 
>> Also, from OP did:
>>
>> 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?

> 
>     matthias
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: [EXTERNAL] Re: PostgreSQL-12 replication failover, pg_rewindfails