I am working on a client that interfaces to the database via libpq, but cannot see how to get all error messages in
somecases.
For testing purposes, I created the following table:
CREATE TABLE IdOnly
( id INTEGER PRIMARY KEY
);
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"
and through PQresultErrorField(, PGresult*, PG_DIAG_MESSAGE_PRIMARY ), I get only:
duplicate key violates unique constraint "idonly_pkey"
Calling PQresultErrorField( PGresult*, PG_DIAG_MESSAGE_DETAIL )" returns no additional information.
How is the additional error message retrieved?
Machen Sie Yahoo! zu Ihrer Startseite. Los geht's:
http://de.yahoo.com/set