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)
|
Список | 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 по дате отправления: