Обсуждение: Passing character data to C function

Поиск
Список
Период
Сортировка

Passing character data to C function

От
Philip Compton
Дата:
After days of researching this problem all I find is that knowbody has done=
=20
this successfully and documented it for me to find. I cannot determine if i=
t=20
is a bug or my incorrect development structure to blame.

I would like to pass character data from postgreSQL 7.1.3 user function int=
o a=20
C program.

This is my setup:

CREATE FUNCTION pc_fn(char(50), char(50), char(255)) RETURNS Boolean=20
AS '/u/students/pcompton/comp442/ass4/pc_fn.so' LANGUAGE 'C';=20

//C function prototype
int pc_fn(char* a1,char* a2,char* a3){...}
or
int pc_fn(char a1[50],char a2[50],char a3[255]){...}

fails to work. The function _is_ called and I can _log output_ as it execut=
es,=20
but no character data shows up in the arguments.

Thank you.
Phil Compton

Re: Passing character data to C function

От
Peter Eisentraut
Дата:
Philip Compton writes:

> CREATE FUNCTION pc_fn(char(50), char(50), char(255)) RETURNS Boolean
> AS '/u/students/pcompton/comp442/ass4/pc_fn.so' LANGUAGE 'C';
>
> //C function prototype
> int pc_fn(char* a1,char* a2,char* a3){...}
> or
> int pc_fn(char a1[50],char a2[50],char a3[255]){...}
>
> fails to work. The function _is_ called and I can _log output_ as it executes,
> but no character data shows up in the arguments.

Have you read the documentation?  That works a lot better than making
stuff up and wondering why it doesn't work.  ;-)

--
Peter Eisentraut   peter_e@gmx.net