From: | Smita Vijayakumar <smita(dot)vijayakumar(at)globallogic(dot)com> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | Problem integrating C stub |
Date: | 2008-02-07 08:21:59 |
Message-ID: | 0e685b9a00002c6a@globallogic.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Hi,
While integrating C stub in stored procedure, I came across the
following problem whenever the SP was triggered:
"
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
"
My C code looks like this:
"
PG_FUNCTION_INFO_V1(abc);
Datum abc(PG_FUNCTION_ARGS)
{
VarChar *arg1 ;
char *str;
arg1=(VarChar *) PG_GETARG_VARCHAR_P(0);
int str1Size = VARSIZE(arg1) - VARHDRSZ;
if (arg1) str = (char *) VARDATA(arg1);
short int ret ;
str[str1Size]='\0';
ret =anotherfunc(str); // anotherfunc() returns smallint
PG_RETURN_INT16(ret);
}
"
I am not sure what I am doing wrong, but I notice whenever I comment out
the code for extraction of the arguments
"
arg1=(VarChar *) PG_GETARG_VARCHAR_P(0);
int str1Size = VARSIZE(arg1) - VARHDRSZ;
if (arg1) str = (char *) VARDATA(arg1);
"
the code ceases to throw the error.
The function has been declared as
"
CREATE FUNCTION abc(varchar) RETURNS smallint AS '/path/abc.so', 'abc'
LANGUAGE C STRICT;
"
Am I missing something?
Thanks,
Smita
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2008-02-07 09:26:37 | Re: Problem integrating C stub |
Previous Message | Magnus Hagander | 2008-02-06 15:13:25 | pgsql: Fix very broken clean.bat for msvc install. |