Try:

        #include <pgsql/postgres.h>

        int plus2(int a,int b)
        {
        return(a+b);
        }


        cc -c plus2.c       /* I get the object file *.o */
gcc -shared -o plus2.so plus2.o  /* you need a library file */

from psql: 

        create function plus2(int4,int4) returns int4 as
        '/var/lib/pgsql/plus2.so' language 'c';   -- assuming /var/lib/pgsql
is the location of plus2.so

        -----Original Message-----
        From:   Carlos Peralta Ramirez [SMTP:[EMAIL PROTECTED]]
        Sent:   Wednesday, May 05, 1999 2:44 AM
        To:     pgsql-novice; pgsql-hackers; pgsql-sql; pgsql-general
        Subject:        [GENERAL] which guru know this ??



        Primary, Sorry for my english !!!


        Hi,

        I īm developing a several test database, for study. But I canīt
create
        any function, every time ERROR appears.
        I write a C code in a plus2.c file

        #include <pgsql/postgres.h>

        int4 plus2(int4 a,int4 b)
        {
        return(a+b);
        }

        main() /* For getting *.out*/
        {
        }

        , then I compile it (I made this of two ways)

        cc -c plus2.c       /* I get the object file *.o */

        or

        cc plus2.c plus2.out  /*I get the *.out file */

        When I create the function on postgresql, occurs this

        db=> create function plus2(int4,int4) returns int4 as
        '/var/lib/pgsql/plus2.o' language 'c';
        CREATE

        or

        db=> create function plus2(int4,int4) returns int4 as
        '/var/lib/pgsql/plus2.out' language 'c';
        CREATE

        Wherever, when I call the function plus2 from Sql sentence ...

        db=> select plus2(6,6);
        ERROR:  Load of file /var/lib/pgsql/plus2.o failed:
        (ô@(ô@/pgsql/plus2.o: ELF file's phentsize not the expected size

        or, with plus2.out

        db=> select plus2(6,6);
        PQexec() -- Request was sent to backend, but backend closed the
channel
        before responding.
        This probably means the backend terminated abnormally before or
while
        processing the request.

        If anybody can help me, thank !!!

        PD: I donīt disturb you, if I donīt need it really.


        

Reply via email to