From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Matthias Apitz <guru(at)unixarea(dot)de> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction |
Date: | 2020-05-13 00:17:33 |
Message-ID: | dea15286-0856-f713-387e-062e98ae975c@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2020-05-13 01:21:30 | Re: [EXTERNAL] Re: PostgreSQL-12 replication failover, pg_rewind fails |
Previous Message | Tom Lane | 2020-05-13 00:01:15 | Re: ESQL/C: a ROLLBACK rolls back a COMMITED transaction |