Re: [INTERFACES] [libpq] Return value of int - Mailing list pgsql-interfaces

From Henk Jan Barendregt
Subject Re: [INTERFACES] [libpq] Return value of int
Date
Msg-id 372C7DA6.3399D65@barendregt.xs4all.nl
Whole thread Raw
In response to Re: [INTERFACES] [libpq] Return value of int  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-interfaces
Tom Lane wrote:
> 
> 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

Thanks a lot for the explanation. It is gave me some good reasons to
stay on
my path and convert the results to whatever i need.

Henk Jan


pgsql-interfaces by date:

Previous
From: "Mario Simeone"
Date:
Subject: Bug reporting...
Next
From: Phill Hugo
Date:
Subject: Star Office and Postgres