Re: Retrieving multiple error messages via libpq
От | Tom Lane |
---|---|
Тема | Re: Retrieving multiple error messages via libpq |
Дата | |
Msg-id | 26526.1196045757@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Retrieving multiple error messages via libpq (Jeffrey Brendecke <yakhki@yahoo.de>) |
Список | pgsql-interfaces |
Jeffrey Brendecke <yakhki@yahoo.de> writes: > When I submit the following SQL statement for execution via the psql client: > 'BEGIN TRANSACTION; INSERT INTO IdOnly (id) VALUES (40); INSERT INTO IdOnly (id) VALUES (21); INSERT INTO IdOnly (id) VALUES(42); COMMIT TRANSACTION;' > I get the following error messages (this failure is expected): > ERROR: duplicate key violates unique constraint "idonly_pkey" > ERROR: current transaction is aborted, commands ignored until end of transaction block > However, when retreiving the error message via PQresultErrorMessage(), I get: > ERROR: duplicate key violates unique constraint "idonly_pkey" > How is the additional error message retrieved? It isn't, because there isn't any additional message. When you submit multiple commands in a single PQexec string (as I suspect you did), the backend abandons processing the string as soon as there's one error. psql, however, chops up its input at semicolons and submits each command as a separate PQexec. regards, tom lane
В списке pgsql-interfaces по дате отправления: