Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-interfaces by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group