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



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


Давай воспроизводимый пример пакета и как ты процедуру вызываешь. Потому что я проверял вызов пакетных процедур, и у меня оно работает.
...
Рейтинг: 0 / 0
09.04.2020, 19:29
    #39945557
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
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
10.04.2020, 08:07
    #39945691
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
Теперь понятно. Информация для этих хинтов берется из RDB$PROCEDURE_PARAMETERS, а не из исходников пакетов, процедур и иже с ними. Если заголовок пакета еще не скомпилирован, то в базе этой информации и не будет.

Кстати, ты проверил это
https://www.sql.ru/forum/1323297/dobavit-filtry-v-code-completion
?
...
Рейтинг: 0 / 0
10.04.2020, 11:15
    #39945747
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
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
10.04.2020, 11:43
    #39945762
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
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
10.04.2020, 12:27
    #39945790
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
_Vasilisk_
Это же проявляетется и при скомпилированном пакете


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

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


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


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

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


Проверил - УМВР.
...
Рейтинг: 0 / 0
15.05.2020, 10:49
    #39957893
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
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
16.05.2020, 09:50
    #39958283
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint для RETURNING_VALUES
_Vasilisk_
Хитрый баг.


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


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


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