|
|
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr, что скажешь насчёт Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него процедуру А и всё, база сломана, она уже не может пересоздаться из скрипта или (если от хранения BLR таки откажутся) вообще загрузиться. Кому-то такой геморрой нужен?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:59:52 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНе, ДЕ намекает, что ресурсы ограничены и в шляпе запасных нет. Ну нет, так нет, это дело хозяйское... нет, ДЕ просто взрывается сарказмом когда видит фразу "выпроси у ДЕ" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:00:24 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr> достать схемы из волшебной шляпы можно будет dimitr> только осле того, как в оную шляпу что-то положат Так положить-то можно - достаточно направить энергию Кальтенбруннера в нужное русло. Ну и Алекса в помощь для секурности и поддержки штанов. Время только... :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:03:46 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денисчто скажешь насчёт Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него процедуру А и всё, база сломана, она уже не может пересоздаться из скрипта или (если от хранения BLR таки откажутся) вообще загрузиться. Кому-то такой геморрой нужен?.. добавили в пакет процедуру А - все работает как работало (т.к. в BLR) сидит вызов глобальной А. Пересоздали из скрипта - все ОК, но в BLR будет прописан вызов уже пакетной процедуры А. Неприятно, но подобное уже обсуждалось - с одноименными UDF/SDF. Почему "база сломана" - моя не понимай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:17:30 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr, ну со сломана ДС перемудрил конечно. Просто есть побочный эффект, который можно и не сразу заметить. Выдача предупреждения была бы полезна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:20:31 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr> Почему "база сломана" - моя не понимай. Если сигнатура отличается - таки сломается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:24:01 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПрикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него процедуру А иЛибо сигнатура пакетной А совместима с глобальной - и тогда пакет спокойно скомпилируется. Либо сигнатура пакетной А другая - и тогда пакет не скомпилируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 19:26:17 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
hvladЛибо сигнатура пакетной А другая - и тогда пакет не скомпилируется. Вот именно. И валидный ранее скрипт "вдруг" начнёт выдавать ошибку в месте, которое сто лет никто не трогал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 20:33:10 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovhvladЛибо сигнатура пакетной А другая - и тогда пакет не скомпилируется. Вот именно. И валидный ранее скрипт "вдруг" начнёт выдавать ошибку в месте, которое сто лет никто не трогал.Какой скрипт ??? С новым пакетом ? И где тут "база сломана" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 00:17:23 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
hvladИ где тут "база сломана" ? Так вы уже передумали избавляться от хранения BLR?.. Если нет - то и база. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 00:34:17 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, продолжай говорить сам с собой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 00:42:30 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Что-то захотелось ещё пофлудить про пакеты... Симонов ДенисПакеты очень удобная фича для группировки процедур и функция выполняющих действия над одним бизнес объектом. Например счёт. Группировка процедур это, конечно, хорошо, но процедуры сами по себе не слишком полезны: они работают с таблицами. И стало быть ещё лучше было бы группировать и таблицы. А таблицы не группируются в пакеты, они группируются в схемы. Но ведь и процедуры тоже группируются в схемы. Отсюда возникает логичный вывод: если сделать схемы, пакеты становятся пятым колесом. Т.е. они просто такая затычка пока нет схем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 17:54:39 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, это, пожалуй, не самое каноническое применение схем :-) Я бы так делать не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:00:43 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
1. Схем (нескольких) может не быть. 2. Внутри схемы может быть несколько пакетов. P.S. Делать схему "для группировки" - это пять. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:03:05 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
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. Код: sql 1. - без указания AUTHORIZATION и без предварительного создания db-user'а с именем 'inventory'. PS. А вообще, обсуждать это смысла немного: всё равно Кальтенбруннер не будет делать сиё в трёшке. А то след. версии ФБ (4?) - еще ой как далеко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:07:58 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, пакеты это не просто группировка ХП. Считай их аналогом модулей в Pascal - unit. Поскольку есть интерфейсная часть (заголовок) и реализация (тело), то можно часть реализации сделать приватной. Т.е. сделать часть процедур/функций невидимых вне пакета. Кроме того, права назначаются на весь пакет в целом, т.е. на всё сразу. В этом есть и минусы конечно, т.к. если нужно будет разграничить доступ на отдельные процедуры пакета, то придётся делать это на уровне PSQL дополнительно. Ну и если процедуру не имеют смысла без таблиц (хотя это не всегда так), то PSQL функции вполне могут иметь смысл. Правда пока насколько я понял внутри пакета нельзя объявлять внешние ХП/функции (а жаль). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:11:49 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Таблоид, полностью согласен. Меня задолбало в Оракле когда я в TOAD копаюсь отыскивать реально схему среди сотен юзеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:13:52 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, по поводу схем. Моё ИХМО схемы - это уже больше похоже на БД почти полностью логически независимую. Одна схема в другую должна обращаться довольно редко, хотя и это гораздо проще чем EXECUTE STATEMENT ON EXTERNAL... FK между таблицами разных схем - это уже верх изврата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:39:27 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitrэто, пожалуй, не самое каноническое применение схем :-) А у схем есть какое-то применение кроме группировки объектов БД?.. Вот тут , например, это называется в качестве единственного плюса от их использования (включая выдачу прав на всю схему разом, чем они не отличаются от вышеописанных пакетов). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 19:12:33 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, есть большая разница между группировкой сильносвязанных и слабосвязанных (или даже абсолютно независимых) объектов. IMHO, схемы - исключительно для второго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:11:44 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисМоё ИХМО схемы - это уже больше похоже на БД почти полностью логически независимую. Одна схема в другую должна обращаться довольно редко, хотя и это гораздо проще чем EXECUTE STATEMENT ON EXTERNAL... FK между таблицами разных схем - это уже верх изврата. и я, и я, и я того же мнения (с) А зачастую не просто "похоже на БД", а реально логически разные БД объединены в одну физическую БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:14:04 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitrА зачастую не просто "похоже на БД", а реально логически разные БД объединены в одну физическую БД. С парой-тройкой общих справочников :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:19:29 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitrесть большая разница между группировкой сильносвязанных и слабосвязанных (или даже абсолютно независимых) объектов. IMHO, схемы - исключительно для второго. А пакеты, стало быть, для первого. Тогда в них должны попадать и сильносвязанные с ними таблицы, нет?.. Кстати: в чём измеряется сила связи объектов? Чтобы можно было посчитать и сказать: "у этих двух объектов сила связи 100500, они сильно связанные, их нужно в один пакет, а у этих - 100499, они связаны так себе, их в пакет не нужно, достаточно схемы". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:25:53 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
NickDeeС парой-тройкой общих справочников :) или без них :-) Dimitry Sibiryakovв чём измеряется сила связи объектов? здравым смыслом и/или внешними факторами. Если у тебя система не самодостаточна без мааааленькой схемы с объектами расчета себестоимости (прикрученной проволокой к штатной бухгалтерии) - это одно, а если ты слил две независимые БД в одну и написал служебную процедуру по перекачке данных из одной схемы в другую - это совсем другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:33:59 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovв чём измеряется сила связи объектов? PS: Я не прикалываюсь, а действительно пытаюсь определить стоит мне куда-то прикручивать пакеты или в своём первом посте я был прав. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:34:38 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38539677&tid=1563898]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
191ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 536ms |

| 0 / 0 |
