Re: simple example of copying data from a c/c++ array into postgres

From: "Whit Armstrong" <armstrong(dot)whit(at)gmail(dot)com>
To: "Jeroen Vermeulen" <jtv(at)xs4all(dot)nl>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: simple example of copying data from a c/c++ array into postgres
Date: 2008-12-11 16:37:11
Message-ID: 8ec76080812110837y44785948gc9f367740c91071d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)xs4all(dot)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
>

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bosco Rama 2008-12-12 05:22:03 gcc _Decimal types & ecpg
Previous Message Jeroen Vermeulen 2008-12-11 16:20:55 Re: simple example of copying data from a c/c++ array into postgres