Re: Recreate C functions?
От | Pavel Stehule |
---|---|
Тема | Re: Recreate C functions? |
Дата | |
Msg-id | AANLkTikvD-_+YeHMsrWSwH=3e4bPD0YQHV=8jt9ZHM8u@mail.gmail.com обсуждение исходный текст |
Ответ на | Recreate C functions? (Elliot Chance <elliotchance@gmail.com>) |
Список | pgsql-general |
2010/12/14 Elliot Chance <elliotchance@gmail.com>: > 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 createthe function with the correct 200 result ... what am I doing wrong? > you need reload library. I don't know, if it is really necessary, but I restart server when I reinstall (after recompilation) some code. Regards Pavel Stehule > Thanks, > Elliot > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >
В списке pgsql-general по дате отправления: