| From: | Christoph Haller <ch(at)rodos(dot)fzk(dot)de> |
|---|---|
| To: | alberto(at)unex(dot)es, pgsql-interfaces(at)postgresql(dot)org |
| Subject: | Re: ColumnName and ColumnNumber in libpq (C interface) |
| Date: | 2003-09-15 07:59:22 |
| Message-ID: | 3F65715A.BDCAD1FB@rodos.fzk.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-interfaces |
>
> I think this behaviour is not fine:
> I create a table with
> CREATE TABLE foo ("Bar" VARCHAR(1));
>
> I thougth running this helloworldish C program:
>
> #include <stdio.h>
> #include <libpq-fe.h>
> =20
> int main(int argc,char **argv)
> {
> PGconn * conn =3D PQconnectdb("dbname=3Dpruebas");
> PGresult * res =3D PQexec(conn,"SELECT * from foo");
> printf("%s\n",PQfname(res,0));
> printf("%d\n",PQfnumber(res,"Bar"));
> PQfinish(conn);
> }
>
> should print=20
>
> Bar
> 0
>
> but stdout shows
>
> Bar
> -1
>
> What is happening? Any ideas? Is this a bug, a feature or something
I'm m=
> issing?
>
It's something you're missing:
All names are folded to lowercase, except enclosed in double quotes. So
printf("%d\n",PQfnumber(res,"\"Bar\""));
gives you the right result.
Regards, Christoph
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lester Godwin | 2003-09-15 12:21:23 | remove |
| Previous Message | Alberto Cabello Sanchez | 2003-09-15 07:11:25 | ColumnName and ColumnNumber in libpq (C interface) |