Thread: question on trigger
Hi,all: This is my first time to use trigger. I try an example from programmer's guide. Firstly I save the procedure named trigf.c, then i try to comlile it by using SQL statement " create function trigf() returns opaque as '...path_to_so' language 'c' ", then I got error message as " Load of file /home/postgres/trigf.c failed: invalid ELF header ". I don't know how to fix this, please help me out. Lots of thanks. The including H file in trigf.c is : #include "executor/spi.h" /*this is what you need to work with SPI */ #include "commands/trigger.h" /*-"- and triggers */ extern Datum trigf(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(trigf); Datum trigf(PG_FUNCTION_ARGS) { ... } Rui _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com
And you forwarded this to -jdbc because...? On Sat, Jun 23, 2001 at 11:10:58PM -0000, some SMTP stream spewed forth: > Hi,all: > This is my first time to use trigger. I try an example from programmer's > guide. Firstly I save the procedure named trigf.c, then i try to comlile it > by using SQL statement " create function trigf() returns opaque as > '...path_to_so' language 'c' ", then I got error message as " Load of file > /home/postgres/trigf.c failed: invalid ELF header ". I don't know how to > fix this, please help me out. Lots of thanks. As far as I know, you need to compile the function as a dynamic object: from: http://postgresql.crimelabs.net/users-lounge/docs/7.0/user/sql-createfunction.htm obj_file , link_symbol This form of the AS clause is used for dynamically-linked, C language functions when the function name in the C language source code is not the same as the name of the SQL function. The string obj_file is the name of the file containing the dynamically loadable object, and link_symbol, is the object's link symbol which is the same as the name of the function in the C language source code. Where did you find this example? gh
>Where did you find this example? > >gh Hi, gh: Thank you. This example can be found from following link. http://www.ca.postgresql.org/devel-corner/docs/programmer/trigger-examples.html _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com
Judging by the error message, I would say it looks for a compiled version of your file. Daniel Åkerud > > Hi,all: > > This is my first time to use trigger. I try an example from programmer's > guide. Firstly I save the procedure named trigf.c, then i try to comlile it > by using SQL statement " create function trigf() returns opaque as > '...path_to_so' language 'c' ", then I got error message as " Load of file > /home/postgres/trigf.c failed: invalid ELF header ". I don't know how to > fix this, please help me out. Lots of thanks. > > The including H file in trigf.c is : > > > #include "executor/spi.h" /*this is what you need to work with SPI */ > #include "commands/trigger.h" /*-"- and triggers */ > > extern Datum trigf(PG_FUNCTION_ARGS); > > PG_FUNCTION_INFO_V1(trigf); > > Datum > trigf(PG_FUNCTION_ARGS) > { ... } > > > > > Rui > > > > > > > _________________________________________________________________ > Get your FREE download of MSN Explorer at http://explorer.msn.com > ---------------------------------------------------------------------------- ---- > ---------------------------------------------------------------------------- ---- > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >