Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Неполучается справится с UDF  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1095
Привет всем.
Есть UDF, когда то работал. Шас валит сервер. Вот такая:
DECLARE EXTERNAL FUNCTION XD_TIMEBETWEEN
    CSTRING(32),
    TIMESTAMP,
    TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT '__TimeBetween' MODULE_NAME 'xdUDF';


и UDF:

Function __TimeBetween(AFormat :PAnsiChar; AStartDate :PISC_QUAD; AEndDate :PISC_QUAD): Integer;
Var tmStartDate  :TCTimeStructure;
    tmEndDate    :TCTimeStructure;
Begin

  isc_decode_date(AStartDate, @tmStartDate);
  isc_decode_date(AEndDate,   @tmEndDate);

  // тут всё при дебаге убрал ...
  Result     := 123; 

End;


И делаем запрос:
select XD_TIMEBETWEEN('H', CURRENT_TIMESTAMP-5566, CURRENT_TIMESTAMP)
from rdb$database


И сервер падает ...
И самое интересное где? - на isc_decode_date ... если закоментировать одно из етих
строк, то работает, если оба незакоментированы, то падает ...

Чё за фигня токая, я уже в шоке ... :)

WBR
Janex
10 сен 19, 16:03    [21967859]     Ответить | Цитировать Сообщить модератору
 Re: Неполучается справится с UDF  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1095
Да, забил - FB3
10 сен 19, 16:05    [21967864]     Ответить | Цитировать Сообщить модератору
 Re: Неполучается справится с UDF  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48163

Janex
И самое интересное где? - на isc_decode_date ...

Ничего интересного: вместо указателя на структуру ты пытаешься ей скормить указатель на
указатель на структуру. Любой бы от такого упал.

Posted via ActualForum NNTP Server 1.5

10 сен 19, 16:42    [21967910]     Ответить | Цитировать Сообщить модератору
 Re: Неполучается справится с UDF  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Janex,

cdecl забыл
10 сен 19, 17:07    [21967960]     Ответить | Цитировать Сообщить модератору
 Re: Неполучается справится с UDF  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1095
hvlad
Janex,

cdecl забыл

Есть там ... Dimitry был прав, спасибо емy, сам неразглидел :)
10 сен 19, 17:47    [21968007]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить