Re: libpq: Newbie help w/ data type conversions on

From: Marvin Bellamy <marvin(dot)bellamy(at)innovision(dot)com>
To:
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: libpq: Newbie help w/ data type conversions on
Date: 2005-03-31 22:26:45
Message-ID: 424C7925.9060002@innovision.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

jtv(at)xs4all(dot)nl wrote:

>>I'm coming from a Java background, so I'm relatively new to C/C++ in
>>general. I want to convert the data retrieved from a field to an
>>"external" data type I can use; specifically a datetime or a timestamp.
>>It looks like the only option for retrieving field data is as raw bytes,
>>but I haven't found any information on mapping those byte streams to
>>structures.
>>
>>
>
>Actually, values are delivered as C-style strings by default. So it may
>help get a feel for things if you print a few of them out to the console.
>
>
>
I think I figured this out. What I wanted was a way to read binary
representations of field data and know the format. I found the "Base
Types In C-Language Functions" section that lists the formats and where
they're defined in the header files. I also found the PQexecParams
method which lets you query for binary data instead of text data. Your
comment about default string format is what triggered my comprehension.

>>I had zero luck following the build instructions for libpqxx on Windows,
>>so it looks like libpq is my only option for now.
>>
>>
>
>Perhaps that can be fixed. What problems did you run into, and using
>which compiler exactly?
>
>
>Jeroen
>
>
>
I'm building for MSVC 7.1.3088, VS .NET 2003 on Win XP. I copied the
compiler headers and pointed the common file attributes to my PostgreSQL
install and I get this error:

[snip]
..\src\util.cxx(60) : warning C4244: 'initializing' : conversion from
'double' to 'const float', possible loss of data
..\src\util.cxx(60) : error C2124: divide or mod by zero
NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
.NET 2003\VC7\BIN\nmake.exe"' : return code '0x2'
Stop.

I was able to build libpqxx with cygwin (which probably uses gcc), but
it produced libpqxx.la and libpqxx.a. Since my IDE is Visual Studio
.NET 2003, I'm not sure if I can use them in a MSVC app (mind you I'm
still learning about native development as a Java developer). This was
a very manual process and I had to move a lot of files around to
accomodate the default locations the build process expected to find
files (not knowing how to reset them with parameters).

--
Marvin Keith Bellamy
Software Engineer
Innovision Corporation
913.438.3200

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message jtv 2005-04-01 02:13:05 Re: libpq: Newbie help w/ data type conversions on
Previous Message Peter Roy 2005-03-31 15:41:13 calling an external (windows) exe