powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
25 сообщений из 110, страница 4 из 5
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539595
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

что скажешь насчёт

Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры
А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него
процедуру А и всё, база сломана, она уже не может пересоздаться из скрипта или (если от
хранения BLR таки откажутся) вообще загрузиться. Кому-то такой геморрой нужен?..
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539598
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНе, ДЕ намекает, что ресурсы ограничены и в шляпе
запасных нет. Ну нет, так нет, это дело хозяйское...
нет, ДЕ просто взрывается сарказмом когда видит фразу "выпроси у ДЕ" :-)
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539601
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> достать схемы из волшебной шляпы можно будет
dimitr> только осле того, как в оную шляпу что-то положат

Так положить-то можно - достаточно направить энергию
Кальтенбруннера в нужное русло. Ну и Алекса в помощь
для секурности и поддержки штанов. Время только... :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539613
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисчто скажешь насчёт

Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры
А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него
процедуру А и всё, база сломана, она уже не может пересоздаться из скрипта или (если от
хранения BLR таки откажутся) вообще загрузиться. Кому-то такой геморрой нужен?..

добавили в пакет процедуру А - все работает как работало (т.к. в BLR) сидит вызов глобальной А. Пересоздали из скрипта - все ОК, но в BLR будет прописан вызов уже пакетной процедуры А. Неприятно, но подобное уже обсуждалось - с одноименными UDF/SDF. Почему "база сломана" - моя не понимай.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539617
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

ну со сломана ДС перемудрил конечно. Просто есть побочный эффект, который можно и не сразу заметить. Выдача предупреждения была бы полезна.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539621
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> Почему "база сломана" - моя не понимай.

Если сигнатура отличается - таки сломается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539624
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры
А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него
процедуру А иЛибо сигнатура пакетной А совместима с глобальной - и тогда пакет спокойно скомпилируется.
Либо сигнатура пакетной А другая - и тогда пакет не скомпилируется.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539677
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЛибо сигнатура пакетной А другая - и тогда пакет не скомпилируется.
Вот именно. И валидный ранее скрипт "вдруг" начнёт выдавать ошибку в месте, которое сто
лет никто не трогал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539813
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladЛибо сигнатура пакетной А другая - и тогда пакет не скомпилируется.
Вот именно. И валидный ранее скрипт "вдруг" начнёт выдавать ошибку в месте, которое сто
лет никто не трогал.Какой скрипт ??? С новым пакетом ?
И где тут "база сломана" ?
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539824
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladИ где тут "база сломана" ?
Так вы уже передумали избавляться от хранения BLR?.. Если нет - то и база.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38539828
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

продолжай говорить сам с собой
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557507
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то захотелось ещё пофлудить про пакеты...
Симонов ДенисПакеты очень удобная фича для группировки процедур и функция
выполняющих действия над одним бизнес объектом. Например счёт.
Группировка процедур это, конечно, хорошо, но процедуры сами по себе не слишком полезны:
они работают с таблицами. И стало быть ещё лучше было бы группировать и таблицы. А таблицы
не группируются в пакеты, они группируются в схемы. Но ведь и процедуры тоже группируются
в схемы. Отсюда возникает логичный вывод: если сделать схемы, пакеты становятся пятым
колесом. Т.е. они просто такая затычка пока нет схем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557511
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

это, пожалуй, не самое каноническое применение схем :-) Я бы так делать не стал.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557515
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Схем (нескольких) может не быть.
2. Внутри схемы может быть несколько пакетов.

P.S. Делать схему "для группировки" - это пять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557521
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovтаблицы не группируются в пакеты, они группируются в схемы. Но ведь и процедуры тоже группируются в схемы.Только самое главное - не создавать непременно db-user'a под каждую схему (как в орацле делается).
То есть, вот из этого определения:5CD2-02-Foundation-2006-01.pdf, page 575
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 Format 
<schema definition> ::=
CREATE SCHEMA < schema name clause >
    [ <schema character set or path> ]
    [ <schema element>... ]
<schema character set or path> ::=
<schema character set specification>
| <schema path specification>
| <schema character set specification> <schema path specification>
| <schema path specification> <schema character set specification>
< schema name clause > ::=
 <schema name> 
| AUTHORIZATION <schema authorization identifier>
| <schema name> AUTHORIZATION <schema authorization identifier>
<schema authorization identifier> ::=
<authorization identifier>
- хотелось бы иметь возможность сбацать схему простым вводом:
Код: sql
1.
create schema inventory;

- без указания AUTHORIZATION и без предварительного создания db-user'а с именем 'inventory'.

PS. А вообще, обсуждать это смысла немного: всё равно Кальтенбруннер не будет делать сиё в трёшке. А то след. версии ФБ (4?) - еще ой как далеко.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557529
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

пакеты это не просто группировка ХП. Считай их аналогом модулей в Pascal - unit. Поскольку есть интерфейсная часть (заголовок) и реализация (тело), то можно часть реализации сделать приватной. Т.е. сделать часть процедур/функций невидимых вне пакета. Кроме того, права назначаются на весь пакет в целом, т.е. на всё сразу. В этом есть и минусы конечно, т.к. если нужно будет разграничить доступ на отдельные процедуры пакета, то придётся делать это на уровне PSQL дополнительно.

Ну и если процедуру не имеют смысла без таблиц (хотя это не всегда так), то PSQL функции вполне могут иметь смысл. Правда пока насколько я понял внутри пакета нельзя объявлять внешние ХП/функции (а жаль).
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557531
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

полностью согласен. Меня задолбало в Оракле когда я в TOAD копаюсь отыскивать реально схему среди сотен юзеров.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557569
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

по поводу схем. Моё ИХМО схемы - это уже больше похоже на БД почти полностью логически независимую. Одна схема в другую должна обращаться довольно редко, хотя и это гораздо проще чем EXECUTE STATEMENT ON EXTERNAL... FK между таблицами разных схем - это уже верх изврата.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557612
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrэто, пожалуй, не самое каноническое применение схем :-)
А у схем есть какое-то применение кроме группировки объектов БД?.. Вот
тут ,
например, это называется в качестве единственного плюса от их использования (включая
выдачу прав на всю схему разом, чем они не отличаются от вышеописанных пакетов).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557678
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

есть большая разница между группировкой сильносвязанных и слабосвязанных (или даже абсолютно независимых) объектов. IMHO, схемы - исключительно для второго.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557682
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисМоё ИХМО схемы - это уже больше похоже на БД почти полностью логически независимую. Одна схема в другую должна обращаться довольно редко, хотя и это гораздо проще чем EXECUTE STATEMENT ON EXTERNAL... FK между таблицами разных схем - это уже верх изврата.
и я, и я, и я того же мнения (с) А зачастую не просто "похоже на БД", а реально логически разные БД объединены в одну физическую БД.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557692
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrА зачастую не просто "похоже на БД", а реально логически разные БД объединены в одну физическую БД.
С парой-тройкой общих справочников :)
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557702
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrесть большая разница между группировкой сильносвязанных и слабосвязанных (или
даже абсолютно независимых) объектов. IMHO, схемы - исключительно для второго.
А пакеты, стало быть, для первого. Тогда в них должны попадать и сильносвязанные с ними
таблицы, нет?..

Кстати: в чём измеряется сила связи объектов? Чтобы можно было посчитать и сказать: "у
этих двух объектов сила связи 100500, они сильно связанные, их нужно в один пакет, а у
этих - 100499, они связаны так себе, их в пакет не нужно, достаточно схемы".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557715
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeС парой-тройкой общих справочников :)
или без них :-)

Dimitry Sibiryakovв чём измеряется сила связи объектов?
здравым смыслом и/или внешними факторами. Если у тебя система не самодостаточна без мааааленькой схемы с объектами расчета себестоимости (прикрученной проволокой к штатной бухгалтерии) - это одно, а если ты слил две независимые БД в одну и написал служебную процедуру по перекачке данных из одной схемы в другую - это совсем другое.
...
Рейтинг: 0 / 0
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
    #38557718
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovв чём измеряется сила связи объектов?
PS: Я не прикалываюсь, а действительно пытаюсь определить стоит мне куда-то прикручивать
пакеты или в своём первом посте я был прав.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 110, страница 4 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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