Форум: "Базы";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
ВнизМожно ли в хранимой прцедуре InterBase вызывать функции, хранящиеся в самой базе (Functions) Найти похожие ветки
← →
savva (2002-01-24 10:00) [0]subj. Если да - то может научите меня, глупого :))
← →
Alexandr (2002-01-24 10:27) [1]конечно можно.
А чего тут такого?
а вызываются они как и везде
например
a=abs(b);
← →
savva (2002-01-24 10:43) [2]ну тогда я вообще туп... в процедуре вида
CREATE PROCEDURE info_message RETURNS (
count_mess INTEGER
)
AS
BEGIN
for select COUNT(Event.KIND) from event
where ( BIT_AND(Event.KIND,1024)=1024 )
into count_mess
do suspend;
END
выходит неприятная ошибка:
General SQL error.
invalid request BLR at offset 46
function BIT_AND is not defined
module name or entrypoint could not be found
в то время как запрос типа
SELECT Event.KIND, COUNT(bit_and(Event.KIND,512))
FROM EVENT
where bit_and(Event.KIND,1024)=1024
GROUP BY Event.KIND
проходит..
что то не выходит у меня...
← →
Desdechado (2002-01-24 10:48) [3]не забудь только ДЛЛ (откуда они подключаются) подложить к серверу
← →
Alexandr (2002-01-24 10:50) [4]Ответь-ка мне на такие вопросы
1) Версия Interbase
2) что это за bit_and откуда она, ее описание
3) Что за таблицы event, поле event.kind
4) Проверял-сразу же, ниго не меняя перед этим.
5) Ошибка кагда выдается-при компиляции или при выполнении- если при выполнении попробуй пересоздать процедуру.
← →
savva (2002-01-24 11:10) [5]>Desdechado © (24.01.02 10:48)
>не забудь только ДЛЛ подложить к серверу
забыл :)) Спасибо :-)
>Alexandr © (24.01.02 10:50)
отвечать наверное не надо.. Спасибо за помощь :))
Просто запрос ранее выполнялся к серверу удаленному, там библиотека лежала, а для отладки процедуры я сделал себе локальную копию базы , а про библиотеку забыл...
P.S. Спасибо за помощь, извините что отвлек по пустому....
P.P.S. Alexandr, с прошедшим днЁм ВаРеньЯ :))\ =/
← →
Alexandr (2002-01-24 11:20) [6]2Savva:
1) Ну вот зря кипишь поднял...
2) Ну хоть кто-то вспомнил, что у меня недавно день рождения был. Спасибо.
Помнится, авторы сайта обещали поздавлять с днем рождения тех, кто его в анкете укажет...
← →
Digitman (2002-01-24 11:20) [7]Можно. Если под "Functions" подразумевался механизм UDF, то смею утверждать, что в IB можно делать такие UDF-"выкрутасы", какие прочим промышленным SQL-серверам попросту не по силам.
Написав UDF DLL в ООП-среде, в SP/триггерах/View можно даже работать с объектами/классами, создаваемыми и управляемыми этими ООП-средами в run-time. Разумеется, в "чистом" IB это приходится делать с определенными неудобствами из-за скудности ISQL-синтаксиса. Но на то IB и стал (начиная с v6.x) OpenSource, чтобы расширить синтаксические/функциональные возможности IB-ядра собственными силами при определенном желании и упорстве
← →
Alexandr (2002-01-24 11:28) [8]2Digitman:
А ты не пытался смотреть в эти исходники?
Ну и как? По зубам они тебе?
Слышал ли ты что-либо об проекте Yaffil?
← →
Digitman (2002-01-24 11:40) [9]>Alexandr
А как же ! Конечно, смотрел ! Иначе не говорил бы)
Ничего там особо страшного нет, как мне показалось : достаточно прозрачная логика, классический C-синтаксис, стандартные транспортные технологии и библиотеки использованы.. Собрать, конечно, сложновато все это будет (особенно для не умудренного опытом C-программера), но ведь FireBird - вот он ! Собирается, значит) если приспичило)
← →
Alexandr (2002-01-24 11:43) [10]и все-таки по Yaffil посмотри тут
http://private.peterlink.ru/rcav/index.htm
я думаю, это тебя может заинтересовать
← →
Digitman (2002-01-24 11:51) [11]Центральная логика BLR-парсера (святая святых IB-ядра), к примеру, размещена в C..\source\jrd\par.c ...
← →
Digitman (2002-01-24 11:56) [12]>Alexandr
Да не надо мне оно) Зачем ? Просто, рассмотрев повнимательней исх-ки IB-ядра (именно JRD-логики, трансп.уровень еще проще), мне стало понятно, как оно работает. И при действительной необходимости всегда можно перекомпилировать ядро и собрать IB-сервер с исправлениями и внесенными собственными изменениями
← →
Alexandr (2002-01-24 12:00) [13]2Digitman:
Что тебе не надо?
Вот есть проект Firebird
есть проект Yaffil, кстати, абсолютно дружественный в плане включения в свою команду.
Если ты разбираешься в исходниках, если ты создаешь свои проекты с использованием Interbase/Firebird, если тебе есть что нового внести в Firebird/Yaffil, то почему бы тебе не отписать в группу Yaffil о себе, своих желаниях и возможностях.
← →
Digitman (2002-01-24 12:21) [14]вот когда мне это реально будет необходимо, тогда и разговор будет. и мы попросту ушли от вопроса автора.
← →
Alexandr (2002-01-24 12:28) [15]Да я и говорю, когда тебе будет необходимо, не создавай свой клон Firebird, а присоединись к Yaffil
да автор уже давно разобрался.
Почитай внимательно.
У него dll не было. Он тебя послушался, проверил. И давно уже радуется жизни. А мы тут застряли...
← →
savva (2002-01-24 13:15) [16]>Alexandr © (24.01.02 11:20)
>Помнится, авторы сайта обещали поздавлять с днем рождения тех,
>кто его в анкете укажет...
Это только обещания...
>Digitman © (24.01.02 11:20)
Именно так и реализована функция, а смысл ее в том, что она читает битовую маску из целого числа..
← →
savva (2002-01-24 13:20) [17]>Alexandr © (24.01.02 12:28)
Была библиотека... :)))
а исходники IB как то я пытался собрать, да опыту у меня маловато будет, адНако... (просто сперва я нашел исходники 6 версии а уж потом собранную проект...)
P.S. А интересно было читать дискуссию....
← →
Alexandr (2002-01-24 13:35) [18]2savva:
Да ладно. Это мы просто на отвлеченную тему поговорили.
Это так, открытый приватный чат был.
← →
Digitman (2002-01-24 13:40) [19]>savva
Я так и понял, что это - UDF. Только вот непонятно, что значит : "проходит - не проходит". Ты вел речь о компиляции скрипта запроса или о результатах его выполнения ?
← →
Desdechado (2002-01-24 20:34) [20]2 Digitman
не знаю, как сейчас (в ИБ6 не пробовал), а в 5 был глюк:
описана UDF, на нее есть ссылки из процедур, но UDF при этом можно было убить, переопределить и все такое.
да и наличие самой ДЛЛ проверяется только при выполнении процедуры
← →
savva (2002-01-26 16:14) [21]>Digitman © (24.01.02 13:40)
я вел речь про компиляцию скрипта...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c