From: | Elliot Chance <elliotchance(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Recreate C functions? |
Date: | 2010-12-14 08:32:37 |
Message-ID: | 4080B84C-B6AD-4C05-A36A-1B198AC7A81B@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
I seem to be having trouble recreating C functions, the source:
=== test.c ====
#include <postgres.h>
#include <fmgr.h>
PG_MODULE_MAGIC;
int32 plpgsql_test(text* s) {
return 100;
}
=== end ===
Then compile:
$ cc -fpic -c -I/usr/include/pgsql/server test.c
$ ld -shared -o funcs.so test.o
Then create the function:
CREATE FUNCTION plpgsql_test(text) RETURNS integer
AS '/storage/Scripts/plpgsql/funcs', 'plpgsql_test'
LANGUAGE C STRICT IMMUTABLE;
So far it works:
> select plpgsql_test('abc');
100
The problem is if I change test.c like:
return 200;
Then recompile, drop and create the function it still returns 100? However if I compile it as funcs2.so it will then create the function with the correct 200 result ... what am I doing wrong?
Thanks,
Elliot
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2010-12-14 08:49:55 | Re: Recreate C functions? |
Previous Message | Filip Rembiałkowski | 2010-12-14 08:27:34 | Re: crosstab function |