powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
15 сообщений из 15, страница 1 из 1
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38680916
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Скачал IBE 2014.6.16.1, запустил в нём скриптик:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create or alter procedure p1 returns(x int)
as
    declare function f1 returns int deterministic as
    begin
        return 1;
    end
begin
    x = f1();
    suspend;
end

- отработало ОК.
Открываю ХП, жамкаю F8 (т.е. иду в отладчик).
На выделенной строке получаю:
Код: plaintext
1.
2.
3.
4.
An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Function unknown.
F1.

Что-то поломалось в ИБЭ или проблемы уже в Главной консерватории ?
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38680962
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

гм... интересно а что должен делать на F7 отладчик с детерминированными функциями, когда их вызывают второй раз? Мне кажется отладчик ещё не доводили до ума. Во вложенные процедуры отладчик входить может?
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38680966
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВо вложенные процедуры отладчик входить может?дык его надо научить хотя бы по F8 проскакивать... :-)
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38680974
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

вообще это проблематично. Сейчас отладчик построен так что он разбивает текст процедуры на отдельные операторы и выполняет каждый из них. В случае с вложенными функциями он не может обратится к СУБД (как с настоящими), потому как их нет в скомпилированном виде. Может IBExpert чего-нибудь и придумает.

А ещё надо ведь и в пакетах отладку вести...
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681086
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как отлаживать PSQL код, который содержит subroutines, пока непонятно совершенно. Так что можно расслабиться.
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681107
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

а можно сделать хотя бы "проскок" его по F8 ? т.е. только вызвать эту sub-рутину и показать её результат ?
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681117
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

в принципе то о чём говорит Таблоид можно сделать, если каждый каждый статмент выполнять не обычным запросом, а EXECUTE BLOCK с объявленными subroutines
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681128
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисв принципе то о чём говорит Таблоид можно сделать, если каждый каждый статмент выполнять не обычным запросом, а EXECUTE BLOCK с объявленными subroutines

Да, кстати, такая мысль у меня была.
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681131
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоида можно сделать хотя бы "проскок" его по F8 ? т.е. только вызвать эту sub-рутину и показать её результат ?

Вот прям щас сделать? Нет, нельзя.
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681139
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertТаблоида можно сделать хотя бы "проскок" его по F8 ? т.е. только вызвать эту sub-рутину и показать её результат ?Вот прям щас сделать? Нет, нельзя.хреново, чё тут сказать...
ФБ-3 бодрыми шагами идёт по планете, и sub-функции (особливо deterministic) непременно будут юзаться трудовыми массами... ну, и отладку кто-нить непременно попробует.
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681152
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидФБ-3 бодрыми шагами идёт по планете, и sub-функции (особливо deterministic) непременно будут юзаться трудовыми массами... ну, и отладку кто-нить непременно попробует.

Alpha 2 - это еще даже не Beta... К релизу-то сделаем, наверное. Гы :)
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681162
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

до релиза FB3 минимум полгода ещё, за это время что-нибудь придумается. А по поводу детерминистических функций я твоё мнения не разделяю ибо пока вижу им только одно применение - в качестве констант. Подфункции возможно и будут использоваться, но не думаю что уж очень активно, а вот подпроцедуры бывают очень удобными.
И подфункции и подпроцедуры можно с успехом заменить на пакеты переместив их в тело пакета, причём на них будет накладываться куда меньше ограничений (вызов друг друга, рекурсия). Вот для пакетов пока отладчика нету, что печально...
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681168
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспо поводу детерминистических функций я твоё мнения не разделяю ибо пока вижу им только одно применение - в качестве констант.дык я именно так их и применяю. Проверял как-то - работает значительно быстрее, чем rdb$get_context.

Симонов Денисна них будет накладываться куда меньше ограничений (вызов друг друга, рекурсия ).0xFF. это как это ?.. покажи пример, плз...
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681171
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,
это так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or alter procedure p1 returns(x int)
as
    declare function f1(i int) returns int as
    begin
        if (i<=1)
           return 1;
        return f1(i-1) * i; -- вложенная функция сейчас не умеет вызывать саму себя
    end
begin
    x = f1(5);
    suspend;
end
...
Рейтинг: 0 / 0
Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
    #38681188
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисвложенная функция сейчас не умеет вызывать саму себяво-во, и я про то же :-)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Отладка ХП, имеющей sub-функцию: "SQL error code = -804. Function unknown."
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]