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.