Lists: | pgsql-bugs |
---|
From: | ediven(at)edsiohio(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #6657: Documentation bug for PQconnectdbParams |
Date: | 2012-05-21 19:04:47 |
Message-ID: | E1SWXuR-0003d2-5C@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 6657
Logged by: Eric Diven
Email address: ediven(at)edsiohio(dot)com
PostgreSQL version: 9.0.2
Operating system: Solaris
Description:
First off, I should thank you all for the generally excellent documentation.
The plpgsql documentation has been particularly helpful, in large part
thanks to the relevant and well-explained examples.
That said, I would humbly suggest that the documentation for the
PQconnectdbParams function omits certain details. Notably, the function
will return NULL if you pass in a keywords array with an unrecognized
keyword.
I'll be the first to admit that passing in a keyword of "host_addr" instead
of "hostaddr" was kind of a dumb mistake on my part, but I'd argue that I'd
have figured it out a lot sooner if this were the documented behavior of
PQconnectdbParams for this case.
I realize I'm submitting this against an out of date version of postgresql,
and the the behavior might have changed since then, but since the
documentation covers all of 9.0.x, I would say that it still bears
updating.
Thanks,
Eric Diven
Example code follows:
#include <libpq-fe.h>
int main (int argc, char *argv[])
{
PGconn *conn = NULL;
char *keys[] = { "host_addr", "user", "password", NULL };
char *values[] = { "192.168.0.42", "user", "password", NULL };
conn = PQconnectdbParams (keys, values, 0);
printf ("%p\n", conn);
return 0;
}
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | ediven(at)edsiohio(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #6657: Documentation bug for PQconnectdbParams |
Date: | 2012-05-21 23:51:17 |
Message-ID: | 10105.1337644277@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
ediven(at)edsiohio(dot)com writes:
> PostgreSQL version: 9.0.2
> ...
> That said, I would humbly suggest that the documentation for the
> PQconnectdbParams function omits certain details. Notably, the function
> will return NULL if you pass in a keywords array with an unrecognized
> keyword.
This is a known bug that was fixed in 9.0.4. When I try it now, I get a
PGconn object back, with status CONNECTION_BAD, and PQerrorMessage returns
invalid connection option "host_addr"
which was the intended behavior all along, but there was a typo in 9.0;
see
http://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=672def62259354f28000e8cfb97b6668192369c2
In theory at least, you should only get a NULL back if there's
insufficient memory to create a PGconn object at all.
regards, tom lane