Help with adding C-Language Functions - Mailing list pgsql-interfaces

From Seamus Thomas Carroll
Subject Help with adding C-Language Functions
Date
Msg-id Pine.LNX.4.60.0502091954340.5503@frost
Whole thread Raw
Responses Re: Help with adding C-Language Functions  (Seamus Thomas Carroll <carrolls@cpsc.ucalgary.ca>)
List pgsql-interfaces
Hi,

I am trying to add a C-Language Function.  I have created a small example 
in file BlackboardFunctions.c.

#include <postgres.h>
#include <fmgr.h>

PG_FUNCTION_INFO_V1(add_one);

Datum
add_one(PG_FUNCTION_ARGS)
{    int32   arg = PG_GETARG_INT32(0);
    PG_RETURN_INT32(arg + 1);
}

The make file:
make:        cc -fpic -c BlackboardFunctions.c -I /home/grads/carrolls/source/postgresql-7.4.5/src/include/        cc
-shared-o BlackboardFunctions.so BlackboardFunctions.o
 

Everything compiles nicely and when i try to add the function using:
Blackboard=# CREATE FUNCTION add_one(integer) RETURNS integer
Blackboard-#      AS '/home/grads/carrolls/gradstudies/implementation/BlackboardFunctions/BlackboardFunctions',
'add_one'
Blackboard-#      LANGUAGE C STRICT;

I get the following error:
ERROR:  could not find function "add_one" in file 
"/home/grads/carrolls/gradstudies/implementation/BlackboardFunctions/BlackboardFunctions.so"

A grep of BlackboardFunction.so finds add_one.
I figure i must be doing something obviously wrong but for the life of me 
i cant figure out what that might bt.  Can anyone recommend a course 
of action?

Thank you,

Seamus


pgsql-interfaces by date:

Previous
From: "Goulet, Dick"
Date:
Subject: Re: Can you bind output variables?
Next
From: Seamus Thomas Carroll
Date:
Subject: Re: Help with adding C-Language Functions