Lists: | pgsql-interfaces |
---|
From: | X X <junkmbox(at)yahoo(dot)com> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | libpq: how to get error code (not message) |
Date: | 2004-12-02 03:11:44 |
Message-ID: | 20041202031144.68001.qmail@web51106.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
Hello,
I'm writing a client in C++ using the C-library
(libpq) interface to PostgreSQL server.
I would like to know what function to call to obtain
one of the codes listed at
http://www.postgresql.org/docs/7.4/static/errcodes-appendix.html
(I'm aware from other postings that in JDBC it would
be a getSQLState() call, but what if I have to code
the client in C/C++ and use libpq ?)
I found that the error codes are defined in file
errcodes.h under the /server include directory, but
can't find the client-side function that returns them.
Any hints are much appreciated,
Serge
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | X X <junkmbox(at)yahoo(dot)com> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: libpq: how to get error code (not message) |
Date: | 2004-12-02 06:06:48 |
Message-ID: | 20041202060648.GA60984@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
On Wed, Dec 01, 2004 at 07:11:44PM -0800, X X wrote:
> I would like to know what function to call to obtain
> one of the codes listed at
>
> http://www.postgresql.org/docs/7.4/static/errcodes-appendix.html
I think you're looking for PQresultErrorField() called with the
fieldcode argument set to PG_DIAG_SQLSTATE.
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | X X <junkmbox(at)yahoo(dot)com> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: libpq: how to get error code (not message) |
Date: | 2004-12-03 01:41:15 |
Message-ID: | 20041203014115.GA5451@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
On Thu, Dec 02, 2004 at 03:59:46PM -0800, X X wrote:
> > I think you're looking for PQresultErrorField()
> > called with the
> > fieldcode argument set to PG_DIAG_SQLSTATE.
>
> Thanks for your reply. This is exactly what I was
> looking for, but the libpq documentation does not
> mention it (at least I did not find).
Appendix A says:
All messages emitted by the PostgreSQL server are assigned
five-character error codes that follow the SQL standard's
conventions for "SQLSTATE" codes.
The PQresultErrorField() function is documented in the libpq
"Command Execution Functions" section:
http://www.postgresql.org/docs/7.4/static/libpq-exec.html#AEN20619
The documentation says:
The following field codes are available:
...
PG_DIAG_SQLSTATE
The SQLSTATE code for the error (see Appendix A). Not localizable.
Always present.
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/