Поиск в Блоб F_BLOBTEXTPOS

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Konstantin
Сообщения: 37
Зарегистрирован: 27 окт 2004, 06:01

Поиск в Блоб F_BLOBTEXTPOS

Сообщение Konstantin » 28 дек 2007, 09:00

Есть библиотека UDF
ftp://ftp.adhoc-data.de/FreeAdhocUDF
в ней фукция F_BLOBTEXTPOS

DECLARE EXTERNAL FUNCTION F_BLOBTEXTPOS
CSTRING(8190),
BLOB
RETURNS INTEGER FREE_IT
ENTRY_POINT 'b_textpos' MODULE_NAME 'FreeAdhocUDF';


Так если сделать запрос на БД EMPLOYEE.FDB
select Select_Sql , F_BLOBTEXTPOS('from' , Select_Sql)
from Fib$Datasets_Info
Все отрабатывается правильно. Значение возвращается 10.

Но если записать через параметр этот запрос
select Select_Sql , F_BLOBTEXTPOS(:p , Select_Sql)
from Fib$Datasets_Info
Вовращается 0.
Также пробовал и с кавычками и без. Вообщем не отрабатывается правильно.

В чем может быть проблема? IBExpert FIB ведут себя одинаково.
Пока обошел - руками пишу.
Q.sqls.SelectSql[1] := ''''+Ed_Like.Text+'''';
Отрабатывается правильно.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 28 дек 2007, 12:04

RETURNS INTEGER FREE_IT
бред. вообще FreeADHocUdf смешная либа, там дурацких ошибок просто немеряно.
По крайней мере чтобы указать FREE_IT для INTEGER надо курить очень много нелегальной травы.

Ответить