Re: C functions, dll, server fall down

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: C functions, dll, server fall down
Дата
Msg-id b42b73150912091525s354e9458n7f20123ba79015d4@mail.gmail.com
обсуждение исходный текст
Ответ на C functions, dll, server fall down  (AlexeyChe <alexey.chernushev@gmail.com>)
Ответы Re: C functions, dll, server fall down  (AlexeyChe <alexey.chernushev@gmail.com>)
Список pgsql-general
On Wed, Dec 9, 2009 at 8:33 AM, AlexeyChe <alexey.chernushev@gmail.com> wrote:
>
> Hi there
> Need help, I just took the example from Postgres help, code:
>
> #include "postgres.h"
> #include "fmgr.h"
>
> #ifdef PG_MODULE_MAGIC
> PG_MODULE_MAGIC;
> #endif
>
> PG_FUNCTION_INFO_V1(add_one);
>
> __declspec (dllexport) Datum add_one(PG_FUNCTION_ARGS)
> {
>    int32   arg = PG_GETARG_INT32(0);
>
>    PG_RETURN_INT32(arg + 1);
> }
>
> PG_FUNCTION_INFO_V1(fo);
>
> __declspec (dllexport) Datum fo(PG_FUNCTION_ARGS)
> {
>    float8   arg = PG_GETARG_FLOAT8(0);
>
>    PG_RETURN_FLOAT8(arg+1);
> }
>
>
>
> CREATE OR REPLACE FUNCTION "public"."add_one_f"(double precision) RETURN
> double precision AS
> 'dll_c.dll','fo'
> LANGUAGE C STRICT
>
> Select add_one_f(99)
>
>
> server closed the connection unexpectedly
>        This probably means the server terminated abnormally
>        before OR while processing the request.
>
> Server falling down in a simple function.
> WinXP, server - Postgres 8.3, binaries for compile dll - 8.3.5
> build in Dev-cpp (mingw)
>
> PS. Function for int32( add_one(integer) ) is working

hm. I wonder if this is confusion between value/reference datums.  Can
you do a quick check to see exactly where it's crashing (either before
you get into the function, at the getarg, or in the return)?

you can elog(WARNING, msg) to print out debug info from inside the function.

merlin

В списке pgsql-general по дате отправления:

Предыдущее
От: "Andy Shellam (Mailing Lists)"
Дата:
Сообщение: Re: pgAdmin in 8.4 installation uses tools from 8.3 installation
Следующее
От: DM
Дата:
Сообщение: Install compat-postgresql-libs-debuginfo on postgres 8.3.8 without using RPM