powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Пакет. Неполный скрипт
13 сообщений из 13, страница 1 из 1
Пакет. Неполный скрипт
    #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
Пакет. Неполный скрипт
    #40093959
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил.
...
Рейтинг: 0 / 0
Пакет. Неполный скрипт
    #40093995
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

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

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


Да.
...
Рейтинг: 0 / 0
Пакет. Неполный скрипт
    #40094703
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,
IBE 2021.9.1.1
Всё работает теперь, и коменты в скрипте, и в codecompletition
Спасибо!
...
Рейтинг: 0 / 0
Пакет. Неполный скрипт
    #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
Пакет. Неполный скрипт
    #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
Пакет. Неполный скрипт
    #40096458
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Грант процедуре на выполнение пакета у меня автогрант выдает.
Второй грант, по-моему, не нужен.
1. Кнопка имелась ввиду у пакета, не у процедуры
2. Нужен. Скриптом это сложно показать, но если интересует - сделаю
...
Рейтинг: 0 / 0
Пакет. Неполный скрипт
    #40096502
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

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

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

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

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

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

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

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


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

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


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