Re: ColumnName and ColumnNumber in libpq (C interface)

Поиск
Список
Период
Сортировка
От Christoph Haller
Тема Re: ColumnName and ColumnNumber in libpq (C interface)
Дата
Msg-id 3F65715A.BDCAD1FB@rodos.fzk.de
обсуждение исходный текст
Ответ на ColumnName and ColumnNumber in libpq (C interface)  (Alberto Cabello Sanchez <alberto@unex.es>)
Ответы Re: ColumnName and ColumnNumber in libpq (C interface)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Alberto Cabello Sanchez
Дата:
Сообщение: ColumnName and ColumnNumber in libpq (C interface)
Следующее
От: "Lester Godwin"
Дата:
Сообщение: remove