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

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

pgsql-interfaces by date

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

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