Re: Retrieving multiple error messages via libpq
Tom Lane <[email protected]>
| Newsgroups | gmane.comp.db.postgresql.interfaces |
|---|---|
| Message-ID | <[email protected]> |
Jeffrey Brendecke <[email protected]> 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster