How to retrieve values of 'array' field using C library (libpq)

Поиск
Список
Период
Сортировка
От Anton Maksimenkov
Тема How to retrieve values of 'array' field using C library (libpq)
Дата
Msg-id AANLkTikyNkMLpQMcYnqmrWcV32SZfCNVpdyD_aM5DKOo@mail.gmail.com
обсуждение исходный текст
Ответы Re: How to retrieve values of 'array' field using C library (libpq)  (Dmitriy Igrishin <dmitigr@gmail.com>)
Список pgsql-general
Hi.

I use libpq in my program. And I can retrieve int and symbolic fields
as simple as


int unameFN, moneyFN...
char *unamePTR, *moneyPTR...

unameFN = PQfnumber(res, "uname");
moneyFN = PQfnumber(res, "money");
unamePTR = PQgetvalue(res, 0, unameFN);
moneyPTR = PQgetvalue(res, 0, moneyFN);
themoney   = ntohl(*((uint32_t *) moneyPTR));
printf("user->[uname:%s money:%d]", unamePTR, themoney);


Then I tried to use array type and no success:

int arFN...
char *arPTR...

arN = PQfnumber(res, "woo");
arPTR = PQgetvalue(res, 0, arFN);
printf("user->[woo:%s]", arPTR);

I can convert it with array_to_string() and got it as some text.

My array is the array of integer values. So maybe there is some native
method to retrieve them (as in the 'themoney' example)?
--
antonvm

В списке pgsql-general по дате отправления:

Предыдущее
От: Ogden
Дата:
Сообщение: Re: PostgreSQL 9.0 Streaming Replication Configuration
Следующее
От: Thom Brown
Дата:
Сообщение: Re: [HACKERS] Issues with generate_series using integer boundaries