General Bug Report: Documentation problem

Started by Unprivileged user <>about 27 years ago2 messagesbugs
Jump to latest
#1Unprivileged user <>
unprivileged_user___@unknown.user

============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================

Your name : Dan Merillat
Your email address : Dan@merillat.org

Category : install: other
Severity : non-critical

Summary: Documentation problem

System Configuration
--------------------
Operating System : N/A

PostgreSQL version : 6.3

Compiler used : N/A

Hardware:
---------
N/A

Versions of other tools:
------------------------
N/A

--------------------------------------------------------------------------

Problem Description:
--------------------
libpq documentation has a few errors. Most notably, the reccomended style of error handling.
psuedocode: res=PQexec(conn, "error-prone-statement"); if (PQresultStatus(res) != PGRES_TUPLES_OK) { do_error_code(); }
This is actually incorrect, since on error, PQexec returns null, so PQresultStatus (which I can't find documented) derefrences a null pointer.
Correct example code would be res=PQexec(conn, "error-prone-statment"); if (!res) { printf("PQexec(): %s\n", PQerrorMessage(conn)); exit(1) }

If nobody else is working on the documentation reply to me, and I'll submit diffs.

--Dan

--------------------------------------------------------------------------

Test Case:
----------

--------------------------------------------------------------------------

Solution:
---------

--------------------------------------------------------------------------

#2Bruce Momjian
bruce@momjian.us
In reply to: Unprivileged user <> (#1)
Re: [BUGS] General Bug Report: Documentation problem

Problem Description: -------------------- libpq documentation
has a few errors. Most notably, the reccomended style of error
handling. psuedocode: res=PQexec(conn, "error-prone-statement");
if (PQresultStatus(res) != PGRES_TUPLES_OK) { do_error_code();
} This is actually incorrect, since on error, PQexec returns
null, so PQresultStatus (which I can't find documented)
derefrences a null pointer. Correct example code would be
res=PQexec(conn, "error-prone-statment"); if (!res) {
printf("PQexec(): %s\n", PQerrorMessage(conn)); exit(1) }

If nobody else is working on the documentation reply to me, and
I'll submit diffs.

Very good point. I have added !res || resultStatus(...) to the man
pages and sgml examples.

Thanks.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026