Re: [INTERFACES] [libpq] Return value of int

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [INTERFACES] [libpq] Return value of int
Дата
Msg-id 13408.925661516@sss.pgh.pa.us
обсуждение исходный текст
Ответ на [libpq] Return value of int  (Henk Jan Barendregt <henkjan@barendregt.xs4all.nl>)
Ответы Re: [INTERFACES] [libpq] Return value of int  ("D'Arcy" "J.M." Cain <darcy@druid.net>)
Список pgsql-interfaces
Henk Jan Barendregt <henkjan@barendregt.xs4all.nl> writes:
> How can i use libpq to return an int value when i access an INT or INT4
> value

Use atoi() ... what comes out of libpq is a character string always.
It's up to you to convert it to whatever form you want it in.

Actually, if you are really intent on avoiding the conversion step
you can use a binary cursor and get the data in whatever the backend's
internal format is.  However I can't recommend this.  I've found by
measurement that the conversion time is insignificant compared to the
rest of the work involved in a query, even for expensive-to-convert
datatypes like DATETIME.  And for that trivial savings you expend a
lot of programming effort: you have to know what the backend's internal
format *is*, and you have to be prepared to deal with cross-machine
compatibility issues (maybe the backend is running on a machine with
different endianness than your app is ... how will you even know?),
cross-Postgres-version changes in the internal representation, yadda
yadda.  Much better to take the character string.

But if you insist on doing it the hard way, read about DECLARE CURSOR
and FETCH in the manual.
        regards, tom lane


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

Предыдущее
От: Henk Jan Barendregt
Дата:
Сообщение: [libpq] Return value of int
Следующее
От: "Mario Simeone"
Дата:
Сообщение: Bug reporting...