Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Пакет. Неполный скрипт / 13 сообщений из 13, страница 1 из 1
30.08.2021, 07:08
    #40093721
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBE: 2021.8.18.1
FB: 3.0.8.33465

Исходный скрипт:
Код: plsql
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.
set term ! ;
create or alter package TestPackage
as
begin
  function TestFunction (aParam integer) returns integer;
  procedure TestProcedure (aParam integer) returns (aOutParam integer);
end!

recreate package body TestPackage
as
begin
  function TestFunction (aParam integer) returns integer
  as
  begin
    return 0;
  end

  procedure TestProcedure (aParam integer)
  returns (aOutParam integer)
  as
  begin
    :aOutParam = :aParam + 1;
    suspend;
  end
end!
set term ; !
comment on function TestPackage.TestFunction is 'TestFunction';
comment on parameter TestPackage.TestFunction.aParam is 'TestFunction.aParam';
comment on procedure TestPackage.TestProcedure is 'TestProcedure';
comment on parameter TestPackage.TestProcedure.aParam is 'TestProcedure.aParam';
comment on parameter TestPackage.TestProcedure.aOutParam is 'TestProcedure.aOutParam';


Если его накатить, открыть пакет и перейти на закладку DDL/Скрипт, то в результирующем скрипте не будет комментариев функций/процедур и их параметров.
...
Рейтинг: 0 / 0
31.08.2021, 07:36
    #40093959
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
Исправил.
...
Рейтинг: 0 / 0
31.08.2021, 10:23
    #40093995
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBExpert,

Тогда и сюда, желательно, комментарии выводить. Как это сделано для обычных процедур (Редактор запросов по кнопке F12)
...
Рейтинг: 0 / 0
01.09.2021, 08:40
    #40094238
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
Dimbuch®

Тогда и сюда, желательно, комментарии выводить. Как это сделано для обычных процедур (Редактор запросов по кнопке F12)


Да.
...
Рейтинг: 0 / 0
02.09.2021, 10:12
    #40094703
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBExpert,
IBE 2021.9.1.1
Всё работает теперь, и коменты в скрипте, и в codecompletition
Спасибо!
...
Рейтинг: 0 / 0
06.09.2021, 20:33
    #40095586
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
Всплыла ещё одна трабла:
Код: plsql
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 TestPackage
as
begin
  function TestFunction1 (aParam integer) returns integer;
  function TestFunction2 (aParam integer) returns integer;
end!

recreate package body TestPackage
as
begin
  function TestFunction1 (aParam integer) returns integer
  as
  begin
    return aParam;
  end

  function TestFunction2 (aParam integer) returns integer
  as
  begin
    return TestPackage.TestFunction1(:aParam);
  end
end!
set term ; !

set term ! ;
create or alter procedure test$$$proc (aParam integer) returns (aValue integer)
as
begin
  :aValue  = testpackage.testfunction1(:aParam);
  suspend;
end!
set term ; !


Кнопка "Автогрант" не выводит ничего, хотя ожидалось что-то вроде:
Код: plsql
1.
2.
grant execute on package TestPackage to procedure test$$$proc;
grant execute on package TestPackage to package TestPackage;


PS:
IBE 2021.9.1.1
FB: 3.0.8.33465
...
Рейтинг: 0 / 0
09.09.2021, 08:26
    #40096212
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
ABog

Кнопка "Автогрант" не выводит ничего, хотя ожидалось что-то вроде:
Код: plsql
1.
2.
grant execute on package TestPackage to procedure test$$$proc;
grant execute on package TestPackage to package TestPackage;




Грант процедуре на выполнение пакета у меня автогрант выдает.
Второй грант, по-моему, не нужен.
...
Рейтинг: 0 / 0
09.09.2021, 17:12
    #40096458
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
Грант процедуре на выполнение пакета у меня автогрант выдает.
Второй грант, по-моему, не нужен.
1. Кнопка имелась ввиду у пакета, не у процедуры
2. Нужен. Скриптом это сложно показать, но если интересует - сделаю
...
Рейтинг: 0 / 0
09.09.2021, 18:05
    #40096502
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBExpert,

автор Второй грант, по-моему, не нужен

Если не дать второй грант, нельзя будет выполнять внутренние процедуры/функции этого же пакета, если у пользователя, который установил соединение нет прав на пакет (например, при вызове пакета из другой процедуры)

Сейчас такие гранты выдаём вручную. Было бы удобно чтобы автоматически раздавались.
...
Рейтинг: 0 / 0
10.09.2021, 04:04
    #40096587
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
ABog
Грант процедуре на выполнение пакета у меня автогрант выдает.
Второй грант, по-моему, не нужен.

1. Кнопка имелась ввиду у пакета, не у процедуры

Тогда первому гранту неоткуда взяться, пакет ведь процедуру не использует.
Про второй грант понял, добавлю.
...
Рейтинг: 0 / 0
10.09.2021, 11:10
    #40096651
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBExpert
Тогда первому гранту неоткуда взяться, пакет ведь процедуру не использует

С одной стороны логика понятна.
С другой стороны в реальных условиях (когда всё уже сломалось), если пакет используют 100500 процедур - придётся самому в ручную искать зависимости по которым недорозданы права.
...
Рейтинг: 0 / 0
10.09.2021, 12:16
    #40096674
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
ABog

С другой стороны в реальных условиях (когда всё уже сломалось), если пакет используют 100500 процедур - придётся самому в ручную искать зависимости по которым недорозданы права.


Дануна... В контекстном меню DB Explorer есть соответствующий пункт для пакетной раздачи.
...
Рейтинг: 0 / 0
10.09.2021, 15:37
    #40096741
ABog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пакет. Неполный скрипт
IBExpert
Дануна... В контекстном меню DB Explorer есть соответствующий пункт для пакетной раздачи.

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


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