Re: simple example of copying data from a c/c++ array into postgres - Mailing list pgsql-interfaces

From Whit Armstrong
Subject Re: simple example of copying data from a c/c++ array into postgres
Date
Msg-id 8ec76080812110837y44785948gc9f367740c91071d@mail.gmail.com
Whole thread Raw
In response to Re: simple example of copying data from a c/c++ array into postgres  (Jeroen Vermeulen <jtv@xs4all.nl>)
Responses Re: simple example of copying data from a c/c++ array into postgres  (Jeroen Vermeulen <jtv@xs4all.nl>)
List pgsql-interfaces
Thanks, Jeroen.

just want to make sure I understand the convention for libpq and libpqxx.

the convention for getting data into postgres is to convert everything
to strings first?  even if the data is already stored as a 64bit
double in the client app?

-Whit


On Thu, Dec 11, 2008 at 11:20 AM, Jeroen Vermeulen <jtv@xs4all.nl> wrote:
> Whit Armstrong wrote:
>
>> can copy be used to append data to a table?
>
> Yes.  The only thing it will not do for you is update existing rows.
>
>
>> The only reason I'm hesitant to use the copy command is because I
>> would have to render every row of my data to a string, and 64bit
>> doubles could mean long strings, formating issues, etc.
>>
>> roughly what I was thinking was (this is pseudocode):
>>
>> PGtuple myTuple = createTuple();
>> myTuple.push_back(toPGDate(myDate));
>> myTuple.push_back(toPGDouble(myDouble));
>> etc...
>>
>> PGinsert_tuple(conn, myDestinationTable, myTuple);
>>
>> are there facilities to do something like that, or am I really reaching
>> here?
>
> In libpqxx I mostly provide self-made text conversions, but you can also use
> the standard library to "print" most values into text buffers.  Just be sure
> to use the C locale where you do this, or you might end up with strange bugs
> depending on local notations!
>
>
> Jeroen
>


pgsql-interfaces by date:

Previous
From: Jeroen Vermeulen
Date:
Subject: Re: simple example of copying data from a c/c++ array into postgres
Next
From: Bosco Rama
Date:
Subject: gcc _Decimal types & ecpg