Thread: Problem with API (libpq) - detailed error codes
Hi! I started programming PostgreSQL database with libpq API (client side). It looks very easy, but unexpected I found problem, which I cannot solve myself. If function PQexec fails, I can get error code using PQresultStatus. But returned codes are very generally and do not specify what really happen. I can get detailed error description using PQerrorMessage function, but I need detailed error code (number). For instance, if I create table, I would like to know, that operation failed because: - table already exist - sql syntax error - invalid columnt type and so on. I searched documents about libpq API and even header file 'internal/libpq-int.h' but I didn't found any interesting. I would be very gracefully for any hint. Best regards, Adam Bukla
Adam.Bukla@interia.pl (Adam Bukla) writes: > If function PQexec fails, I can get error code using PQresultStatus. > But returned codes are very generally and do not specify what really > happen. I can get detailed error description using PQerrorMessage > function, but I need detailed error code (number). Beginning in Postgres 7.4, there are standard SQLSTATE error codes available (see PQresultErrorField), but older releases do not have them. regards, tom lane
Hi! Thanks ljb and Tom Lane - it's exactly what I wanted. I read documentation to 7.3 so I couldn't find PQresultErrorField function. I'm suprised, that such necessary functionality exist only in 7.4 version. Thanks once again, Adam Bukla