Re: ColumnName and ColumnNumber in libpq (C interface) - Mailing list pgsql-interfaces

From Christoph Haller
Subject Re: ColumnName and ColumnNumber in libpq (C interface)
Date
Msg-id 3F65715A.BDCAD1FB@rodos.fzk.de
Whole thread Raw
In response to ColumnName and ColumnNumber in libpq (C interface)  (Alberto Cabello Sanchez <alberto@unex.es>)
Responses Re: ColumnName and ColumnNumber in libpq (C interface)
List 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




pgsql-interfaces by date:

Previous
From: Alberto Cabello Sanchez
Date:
Subject: ColumnName and ColumnNumber in libpq (C interface)
Next
From: "Lester Godwin"
Date:
Subject: remove