powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Hint для RETURNING_VALUES
20 сообщений из 20, страница 1 из 1
Hint для RETURNING_VALUES
    #39940546
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нельзя ли добавить хинт-подсказку для выходных параметров процедуры когда курсор находится в секции RETURNING_VALUES?
Код: sql
1.
2.
3.
4.
EXECUTE PROCEDURE test
RETURNING_VALUES (
  |  -- Здесь хотелось бы видеть хинт
)



С уважением, Vasilisk
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39942581
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39942981
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Добавил.
Работает. Как же долго я с этим мучился
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39944491
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Добавил.
Не работает для процедур, объявленных в пакетах. Считает, что у таких процедур выходных параметров нет** No parameters expected **
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945155
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Не работает для процедур, объявленных в пакетах. Считает, что у таких процедур выходных параметров нет


Давай воспроизводимый пример пакета и как ты процедуру вызываешь. Потому что я проверял вызов пакетных процедур, и у меня оно работает.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945557
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Давай воспроизводимый пример пакета
Да банально
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
SET TERM ^ ;

CREATE OR ALTER PACKAGE PKG_TEST
AS
BEGIN

END^

SET TERM ; ^

SET TERM ^ ;

RECREATE PACKAGE BODY PKG_TEST
AS
BEGIN
  PROCEDURE RET
  RETURNS (
    out_res INTEGER)
  AS
  BEGIN
    out_res = 1;
  END

  PROCEDURE TEST
  AS
    DECLARE VARIABLE var_ret INTEGER;
  BEGIN
    EXECUTE PROCEDURE ret
    RETURNING_VALUES (:var_ret);
  END
END^

SET TERM ; ^

Аналогично если вынести что-то в header, то выходной параметр не видно снаружи пакета

Версия 2020.4.1.1
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945691
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь понятно. Информация для этих хинтов берется из RDB$PROCEDURE_PARAMETERS, а не из исходников пакетов, процедур и иже с ними. Если заголовок пакета еще не скомпилирован, то в базе этой информации и не будет.

Кстати, ты проверил это
https://www.sql.ru/forum/1323297/dobavit-filtry-v-code-completion
?
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945747
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Если заголовок пакета еще не скомпилирован, то в базе этой информации и не будет.
Это же проявляетется и при скомпилированном пакете
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SET TERM ^ ;

CREATE OR ALTER PACKAGE PKG_TEST
AS
BEGIN
  PROCEDURE RET
  RETURNS (
    out_res INTEGER);
END^

SET TERM ; ^

SET TERM ^ ;

RECREATE PACKAGE BODY PKG_TEST
AS
BEGIN
  PROCEDURE RET
  RETURNS (
    out_res INTEGER)
  AS
  BEGIN
    out_res = 1;
  END
END^

SET TERM ; ^


IBExpert
Кстати, ты проверил это
https://www.sql.ru/forum/1323297/dobavit-filtry-v-code-completion
?
Нет еще. Я это видел и помню
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945762
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RDB$PARAMETER_NAMERDB$PROCEDURE_NAMERDB$PARAMETER_NUMBERRDB$PARAMETER_TYPERDB$FIELD_SOURCERDB$SYSTEM_FLAGRDB$COLLATION_IDRDB$NULL_FLAGRDB$PARAMETER_MECHANISMRDB$FIELD_NAMERDB$RELATION_NAMERDB$PACKAGE_NAMEOUT_RESRET01RDB$47800PKG_TEST
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945790
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Это же проявляетется и при скомпилированном пакете


Входных параметров у RET нет, так что все правильно.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39945996
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Входных параметров у RET
Прошу прощения, что-то я сам запутался.

Да, снаружи пакета выходные параметры показываются. Есть ощущение, что проблема при вызове процедур в рамках одного пакета нет. Даже если пакет был скомпилирован ранее. Но полной уверенности нет. В понедельник уточнюсь
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39946116
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Есть ощущение, что проблема при вызове процедур в рамках одного пакета нет. Даже если пакет был скомпилирован ранее. Но полной уверенности нет. В понедельник уточнюсь


Если нет имени пакета в вызове процедуры, то да, проблема будет.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39946299
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Есть ощущение, что проблема при вызове процедур в рамках одного пакета нет. Даже если пакет был скомпилирован ранее. Но полной уверенности нет. В понедельник уточнюсь


В свежей версии должно нормально работать.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39946628
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
В свежей версии должно нормально работать.
Да. Для уже откомпилированных процедур работает. Спасибо
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39957675
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то поломалось для процедур в пакетах. При вызове пакетной процедуры из непакетной - No parameters expected.

Если пакетную процедуру вызывать в этом же пакете или в SQL Editor, то все отображается
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39957812
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Что-то поломалось для процедур в пакетах. При вызове пакетной процедуры из непакетной - No parameters expected.


Проверил - УМВР.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39957893
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
УМВР.
Хитрый баг. В вызывающей процедуре должна быть объявлена локальная переменная

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SET TERM ^ ;

CREATE OR ALTER PACKAGE PKG_TEST
AS
BEGIN
  PROCEDURE RET
  RETURNS (
    out_res INTEGER);
END^

RECREATE PACKAGE BODY PKG_TEST
AS
BEGIN
  PROCEDURE RET
  RETURNS (
    out_res INTEGER)
  AS
  BEGIN
    out_res = 1;
  END
END^

CREATE OR ALTER PROCEDURE sp_d_test
AS
  DECLARE VARIABLE var_res INTEGER;
BEGIN
  EXECUTE PROCEDURE pkg_test.ret RETURNING_VALUES (:var_res);
END^

SET TERM ; ^

...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39958283
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Хитрый баг.


Исправил.
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39958928
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Исправил.
Скачивается версия 2020.5.14.1
...
Рейтинг: 0 / 0
Hint для RETURNING_VALUES
    #39958995
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Скачивается версия 2020.5.14.1


Это потому что "исправил" означает только "исправил".
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Hint для RETURNING_VALUES
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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