From: Andrew McNamara <andrewm@object-craft.com.au>
To: Jeff Lynn <jmlynn@rogers.com>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: How do you convert PostgreSQL internal binary field to C datatypes
Date: Thu, 24 May 2007 09:12:28 +1000
Message-ID: <20070523231228.9652A600895@longblack.object-craft.com.au> (raw)
In-Reply-To: <46546220.4060209@rogers.com>
References: <46546220.4060209@rogers.com>
>I give up! What ever data returned from the binary output of
>PGgetvalue() is, I don't know how to convert it into StringInfo, which
>is being used by a few routines that "seems" to convert internal binary
>format into float8. By casting the returned data into StringInfo,
>crashes the function.
>
>If PostgreSQL support only a half baked C API, may as well don't bother.
>
>So I gave up. I will not use PostgreSQL until there is a simple way to
>extract data directly into C or C++ data type. Is one expect to fetch
>data in text, then use text to int, text to double, text to date
>function before you can make any business logic works?
Even in a binary format, much processing is necessary - the format has
to be architecture-independent. So, whether you choose text or binary
format, you will have to "parse" the returns, and "format" the parameters.
Please, just try the text format for parameters and result. I could
measure no difference in performance (if anything, the text format was
fractionally faster)! The text format is much easier to get working and
more forgiving with respect to typing. Once your application is working,
then evaluate whether the text conversion is a problem.
--
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: andrewm@object-craft.com.au, jmlynn@rogers.com
Subject: Re: How do you convert PostgreSQL internal binary field to C datatypes
In-Reply-To: <20070523231228.9652A600895@longblack.object-craft.com.au>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox