Re: How to reset a server error '25P02 in_failed_sql_transaction'
Ron <[email protected]> Tue, 31 Dec 2019 11:17:41 -0600
| Newsgroups | gmane.comp.db.postgresql.general |
|---|---|
| Message-ID | <[email protected]> |
On 12/31/19 3:40 AM, Guillaume Lelarge wrote: > Le mar. 31 déc. 2019 à 06:55, Matthias Apitz <[email protected] > <mailto:[email protected]>> a écrit : > > > Hello, > > Due to a wrong human input in the GUI of our application our > application server, from the point of view of the PostgreSQL server it > is the PostgreSQL client, issues a broken ESQL/C command to the PostgreSQL > server, here from our own debug logging the command and the error > message of the server: > > > posDebug: [27.12.2019 15:20:59:043] stmt: SELECT ctid, * from > titel_datum WHERE desk>='*2019' AND feldnr IN ( 2 ) ORDER BY desk ASC > , feldnr ASC > posDebug: [27.12.2019 15:20:59:043] ESQL: PREPARE sid_titel_datum > FROM :select_anw; > ==== sqlca ==== > sqlcode: -400 > sqlerrm.sqlerrml: 61 > sqlerrm.sqlerrmc: invalid input syntax for type date: »*2019« on line 918 > ... > > All subsequent correct (SELECT ...) statements get rejected with, for > example: > > > ... > posDebug: [27.12.2019 15:20:59:044] stmt: SELECT ctid, * from > titel_datum WHERE desk>='31.12.1900' AND feldnr IN ( 2 ) ORDER BY > desk ASC , feldnr ASC > posDebug: [27.12.2019 15:20:59:044] ESQL: PREPARE sid_titel_datum > FROM :select_anw; > ==== sqlca ==== > sqlcode: -400 > sqlerrm.sqlerrml: 105 > sqlerrm.sqlerrmc: current transaction is aborted, commands ignored > until end of transaction block on line 918 > sqlerrd: 0 0 0 0 0 0 > sqlwarn: 0 0 0 0 0 0 0 0 > sqlstate: 25P02 > ========posSqlError======= > ... > > Note: we are not in some kind TRANSACTION block, like 'EXEC SQL BEGIN > TRANSACTION;' > > What is the correct way to abort the "transaction" as requested by the PG > server to return to normal operations? > > > You need to issue a ROLLBACK. then you'll be able to open another transaction. But how do you issue a ROLLBACK to a different pid? -- Angular momentum makes the world go 'round.