From: Tim Jackson <tim.jackson@ints.com>
To: pgsql-interfaces@postgresql.org
Subject: C set return function differences on 8.0?
Date: Thu, 07 Jul 2005 17:58:28 -0700
Message-ID: <42CDCFB4.2030908@ints.com> (raw)
I have a C .so set return function which is called to create a views,
pulling data from an older non SQL flat file data structure
CREATE OR REPLACE VIEW view_name AS
SELECT call_d.col_0, call_d.col_1, call_d.col_2, call_d.col_3"
FROM call_d('select * from aname '::text, 'aname'::text) AS (col_0
bigint, col_2 numeric, col_2 text, col_3 text);
The call_d function calls the C .so passing in the SQL and the target
and returns a record set conforming to the request, the column names and
data types are supplied for each target/view
This worked compiled under postgresql 7.4 for all the target files and
various data types that I have.
I re-compiled the .so using 8.0 server development source and rebuilt
the views on 8.0 and now only some views will pull up data. These are
views using the same data that worked under 7.4 and now just abort.
Some of the views do select.
Could the problem be related to a difference in the way 8.0 is handling
data types?
When I define a column as numeric with out precision or scale it should
handle any numeric value, however in a data set that has a numeric field
with mostly XX.XX data one record had a XX.XXX value and once I removed
that record from the set the view selected ok.
This doesn't make sense to me.
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: tim.jackson@ints.com
Subject: Re: C set return function differences on 8.0?
In-Reply-To: <42CDCFB4.2030908@ints.com>
* 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