C set return function differences on 8.0? - Mailing list pgsql-interfaces

From Tim Jackson
Subject C set return function differences on 8.0?
Date
Msg-id 42CDCFB4.2030908@ints.com
Whole thread Raw
Responses Re: C set return function differences on 8.0?  (Michael Fuhr <mike@fuhr.org>)
List pgsql-interfaces
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. 



pgsql-interfaces by date:

Previous
From: jtv@xs4all.nl
Date:
Subject: Re: libpq and connection failures
Next
From: Michael Fuhr
Date:
Subject: Re: C set return function differences on 8.0?