Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.004 c
1-66626
saviola
2002-02-06 17:25
2002.02.21
Чем можно посмотреть файл типа *.rpt


1-66583
yaJohn
2002-02-05 18:10
2002.02.21
ActionList. Kto skazal


6-66632
Bioside
2001-12-03 13:56
2002.02.21
ClientSocket - обработка ошибок.


6-66639
Lamok
2001-11-29 23:40
2002.02.21
Socket


1-66515
Дремучий
2002-01-25 13:39
2002.02.21
Маскимизация окна с BorderStyle = bsDialog





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский