On Mon, 31 Jan 2000 mathprof@bigfoot.com wrote:
> I tried the following, one at a time, to create sin() for PostgreSQL:
>
> CREATE FUNCTION sin(float8) RETURNS float8 AS '/usr/lib/libm.so' LANGUAGE 'c';
> CREATE FUNCTION sin(float4) RETURNS float4 AS '/usr/lib/libm.so' LANGUAGE 'c';
> CREATE FUNCTION sin(float4) RETURNS float8 AS '/usr/lib/libm.so' LANGUAGE 'c';
> CREATE FUNCTION sin(float8) RETURNS float4 AS '/usr/lib/libm.so' LANGUAGE 'c';
>
> Each of these gave different and odd results (and a 'segmentation fault'
> at one point), but none of them gave the right answer. What am I doing
> wrong?
Yes, it is probably wrong. Very offen PG's buildin functions allocate memory
for result and IMHO your trial wrong mixing pointers. See a backend/utils/atd
in PG source as example.
Karel