Re: Internal function call from C-language function

Поиск
Список
Период
Сортировка
От Zoltan Boszormenyi
Тема Re: Internal function call from C-language function
Дата
Msg-id 45780BB6.8060805@dunaweb.hu
обсуждение исходный текст
Ответ на Re: Internal function call from C-language function  (Martijn van Oosterhout <kleptog@svana.org>)
Ответы Re: Internal function call from C-language function  (Martijn van Oosterhout <kleptog@svana.org>)
Список pgsql-general
Martijn van Oosterhout írta:
> On Thu, Dec 07, 2006 at 12:55:47PM +0100, Zoltan Boszormenyi wrote:
>
>> However, I have another problem. I have this in the code:
>>
>
> <snip>
>
>
>>        yeardatum = CStringGetDatum("year");
>>        elog(NOTICE, "CStringGetDatum() 1 OK");
>>        returndatum = DirectFunctionCall2(timestamp_part, yeardatum,
>> timest);
>>
>
> You're passing a cstring as first argument, whereas I'm fairly sure you
> should be passing text. When calling from C the're no argument
> checking. I think what you're looking for is:
>
>   yeardatum = text_in("year");
>
> Or something like that.
>
> Hope this helps,
>

text_in() doesn't exists, it's textin() but I have to call it through
DirectFunctionCall1(), like this:

yeardatum = DirectFunctionCall1(textin, CStringGetDatum("year"));

However, the session crashes on the subsequent

returndatum = DirectFunctionCall2(timestamp_part, yeardatum, timest);

Best regards,

Zoltán


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

Предыдущее
От: Ragnar
Дата:
Сообщение: Re: Online index builds
Следующее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: Internal function call from C-language function