|
|
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Задал вопрос в fbdevel, но решил продублировать сюда. Может кто какие мысли выскажет по этому поводу. CREATE OR ALTER PROCEDURE PROC1 Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. select * from pkg1.proc2; Как внутри процедуры PKG1.proc2 вызвать proc1 из глобального пространства имён? Может быть какое-нибудь ключевое слово ввести или синонимы процедур. Типа вот такого. USE PROC1 AS GLOB_PROC1 в заголовке пакета. А дальше внутри PKG1.proc2 вызывать PROC1 как GLOB_PROC1. Что думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2014, 17:21:04 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисЧто думаете? Да забей. Пакеты на данный момент - просто маркетинговая чушь, Адриано их сделал "чтоб были", не особо задумываясь над применением. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2014, 20:15:38 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСимонов ДенисЧто думаете? Да забей. Пакеты на данный момент - просто маркетинговая чушь, Адриано их сделал "чтоб были", не особо задумываясь над применением. Я бы так не сказал. Пакеты очень удобная фича для группировки процедур и функция выполняющих действия над одним бизнес объектом. Например счёт. То что в них сейчас нет переменных пакета как в оракле ещё не означает, что их нельзя применять. Для репликатора конечно пакеты ничего нового не приносят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2014, 23:01:11 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Завести пространство имен GLOBAL? Т.е. ко всему, что не в пакете, можно адресоваться через GLOBAL.xxxx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:18:23 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
паскаль. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. и как мне, горемыке, обратиться к глобалу изнутри процедуры? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:27:59 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, UnitName.I не катит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:29:32 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, DarkMaster! You wrote on 27 января 2014 г. 13:32:00: DarkMaster> UnitName.I не катит? ты его видишь? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:32:48 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, А проверить - вот скрин из D6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:39:29 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Т.е. я к тому, что или имя пакета, или если его нет - GLOBAL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:40:31 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
DarkMaster, как обойти проблему я знаю. Но это тогда вообще все ХП и процедуры надо из глобального пространства убирать и вносить в отдельный пакет. Не уверен что это правильно. Ещё правильней на данный момент не создавать одноимённых процедур и функций в пакете и глобвльном пространстве. Например все глобальным процедурам давать префикс SP_. Вот с функциями сложней. Префикс к ним криво выглядит. Адриано сказал, что когда будут схемы можно через идентификатор схемы будет обратиться. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:40:42 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
DarkMasterМимопроходящий, Т.е. я к тому, что или имя пакета, или если его нет - GLOBAL. Блин, ну вы поняли: - нет имени пакета - обращаемся к чему-то внутри пакета - есть имя пакета - обращаемся к другому пакету - есть GLOBAL - зовем то, что не входит в пакеты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:42:07 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, DarkMaster! You wrote on 27 января 2014 г. 13:42:08: DarkMaster> А проверить Дмитрий, ты ж взрослый мужик. Шо ж ты ерунду городишь. ыщо раз смотри мой пример. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:43:56 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Ну почему сразу вносить в отдельный пакет? Тут скорее что-то вроде алиаса получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:45:17 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
DarkMaster, про алиасы я сразу сказал USE PROCEDURE PROC1 AS GLOB_PROC1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:47:18 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Гм.. Ну видимо я чего-то непонимаю: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:51:28 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, А я про то, USE .. bla-bla.. можно заменить на GLOBAL.xxx. И не давать создавать пакет с таким именем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:53:48 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
DarkMaster, Симонов ДенисАдриано сказал, что когда будут схемы можно через идентификатор схемы будет обратиться. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:56:51 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, DarkMaster! You wrote on 27 января 2014 г. 14:20:12: DarkMaster> Гм.. Ну видимо я чего-то непонимаю: не понимаешь. специально для тебя: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. сохрани как dpr и запусти на выполнение. где у тебя (у меня) тут требуемое имя модуля для подстановки? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:23:55 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийсохрани как dpr и запусти на выполнение. где у тебя (у меня) тут требуемое имя модуля для подстановки? а у dpr что, нету имени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:28:43 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Tactical Nuclear Penguin! You wrote on 27 января 2014 г. 14:33:57: Tactical Nuclear Penguin> а у dpr что, нету имени? ты код компилировал? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:34:46 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисАдриано сказал, что когда будут схемы можно через идентификатор схемы будет обратиться. :-) На что ты же и ответил, что тогда будет ещё больший геморрой с пакетами, имеющими то же имя что и схема. И опять выползет та же синтаксическая проблема с вызовом процедур без префиксов: вызывать её из пакета, текущей схемы или откуда-то ещё. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:35:06 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Tactical Nuclear Penguin! You wrote on 27 января 2014 г. 14:33:57: Tactical Nuclear Penguin> а у dpr что, нету имени? ты код компилировал? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:35:46 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Tactical Nuclear Penguin! You wrote on 27 января 2014 г. 14:36:28: Tactical Nuclear Penguin> program Project1; уйди. совсем уйди. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:37:39 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, там можно выкрутиться. Например в PostgreSQL сделали схему по-умолчанию с именем public. И вообще вне схемы ничего не создаётся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:38:18 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денистам можно выкрутиться. Сейчас тоже можно выкрутиться, причём так, что проблем в будущем не возникнет: потребовать обращение к процедурам и функциям пакета всегда (даже внутри пакета) предварять его (пакета) именем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:00:20 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, ОК,я понял о чем ты... Тогда для иллюстрации могу привести на php. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:02:14 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСейчас тоже можно выкрутиться, причём так, что проблем в будущем не возникнет: потребовать обращение к процедурам и функциям пакета всегда (даже внутри пакета) предварять его (пакета) именем. неудобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:04:45 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
DarkMasterМимопроходящий, ОК,я понял о чем ты... Тогда для иллюстрации могу привести на php. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. php не самый стройный язык. И сделано в нём криво. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. [/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:08:33 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисАдриано сказал, что когда будут схемы можно через идентификатор схемы будет обратиться. :-)Адриано сказал, что пока не будет схем и их точной спеки он нихера не знает, как лучше и ничего делать не будет. :) Прямо сейчас - предложение ДЕ про "безымянный" префикс типа "::" лично мне нравится больше всего. Впрочем, я продолжение дискуссии не читал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:11:03 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, а её и не было. Я разве что сказал, что текущее поведение надо отразить в документации. Безымянный префикс - это хорошо, но не с данным синтаксисом. В PSQL :: нигде не используется для разрешения пространств имён. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:27:14 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Дениснеудобно Зато полностью решает проблему и не создаёт граблей на будущее. Прикинь: пакетная процедура вызывает глобальную процедуру А. Пока в пакете нет процедуры А, она может делать это без префикса. Но вот кто-то изменил пакет, добавив в него процедуру А и всё, база сломана, она уже не может пересоздаться из скрипта или (если от хранения BLR таки откажутся) вообще загрузиться. Кому-то такой геморрой нужен?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:33:49 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Dimitry Sibiryakov! You wrote on 27 января 2014 г. 15:35:47: Dimitry Sibiryakov> Кому-то такой геморрой нужен?.. профилактика геморроя, это не только "зашить жопу нитками". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:37:28 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, +1 ...или вывов этой процедуры приведет к порче данных, что еще хуже, ибо получим мусорник, и не факт, что сможем оперативно среагировать. Для баз, в которых около 1К процедур/триггеров, это актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:38:09 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, пакет создаётся и пересоздаётся целиком, поэтому глобальная процедура тут же пропадёт из области видения пакета. Но тут алгоритм вызывающей процедуры пакета может поломаться. Тут по хорошему предупреждение надо кидать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:38:29 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> а её и не было. Я разве что сказал, что Симонов Денис> текущее поведение надо отразить в документации. В RN что ли? Симонов Денис> Безымянный префикс - это хорошо, но не с данным синтаксисом. Симонов Денис> В PSQL :: нигде не используется для разрешения пространств имён. Если тебе шашечки - ну пусть будет точка ("."), а не двойное двоеточие - те же яйца, но в профиль. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:50:11 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисDimitry SibiryakovСейчас тоже можно выкрутиться, причём так, что проблем в будущем не возникнет: потребовать обращение к процедурам и функциям пакета всегда (даже внутри пакета) предварять его (пакета) именем. неудобноНо пишу же я перед именем поля алиас таблицы, привык уже, даже когда таблица одна. "Проще штраф заплатить, чем руку сбивать" (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:59:14 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, может так и лучше. Попробуйте теперь убедить в этом Адриано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:00:40 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky> Но пишу же я перед именем поля алиас таблицы, Ivan_Pisarevsky> привык уже, даже когда таблица одна. Ты пишешь - это твои проблемы, не все пишут. А привыкнуть к любой неудобности можно, да. Ты на Паскале/Си self/this тоже всегда пишешь? Нет? А почему? Тоже ведь привыкнуть можно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:04:35 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамА привыкнуть к любой неудобности можно, да.Неудобности не хотелось бы. Гаджимурадов РустамТы на Паскале/Си self/this тоже всегда пишешь? Нет? А почему?Не пишу. В паскале явно прописана область видимости переменных и прочего, это еще в школе проходят. Хотя иной раз специально пишу явно имя_модуля.имя_функции, когда в пределах страницы кода идет пачка вызовов из кучи мест, вроде как читаемей выглядит. Тут похоже разночтение какое-то возникло, может просто доку надо поподробней да почитать повнимательней (мне). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:14:10 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
может быть лучше как раз наоборот глобальные процедуры вызывать только с префиксом или явно декларировать, что они доступны в пакете. Тогда таких коллизий тоже удастся избежать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:15:16 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
у оракела нет процедур ВНЕ схем. почему у нас они должны быть? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:18:17 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, потому что у нас пока нет схем. И до FB4 теперь наверное не предвидятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:23:13 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 27 января 2014 г. 16:24:22: Симонов Дениспотому что у нас пока нет схем. И до FB4 теперь наверное не предвидятся. тогда забить и забыть. нафиг плодить сЦущности сверх необходимого. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:26:09 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, FB3 уже на носу (почти перешёл в Бета стадию). Хотелось бы избежать проблем хотя бы в том функционале, который реализовали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:29:36 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 27 января 2014 г. 16:31:24: Симонов Денис> Хотелось бы избежать проблем 1. тебя заставляют юзать пакаджи? 2. тебя заставляют в пакаджах использовать неуникальные идентификаторы? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:33:32 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, > тебя заставляют юзать пакаджи? хотелось бы. Это очень удобно и сильно упорядочит код. > тебя заставляют в пакаджах использовать неуникальные идентификаторы? конечно никто не заставляет, но есть такая штука как человеческий фактор. ДС достаточно хорошо описал проблему которая может возникнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:42:57 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 27 января 2014 г. 16:43:52: Симонов Денис> хотелось бы. Это очень удобно и сильно упорядочит код. ерунда это всё. маркетинг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:45:31 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Для обращения к обьектам вне пакета логично всегда писать префикс в виде имени пакета или умолчательного имени пакета для глобальных процедур (global/public/ :: и т.п.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:45:32 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
МимопроходящийСимонов Денис> хотелось бы. Это очень удобно и сильно упорядочит код. ерунда это всё. маркетинг.не, не ерунда. Когда процедур много, и часть из них отвечают за определенный "сектор" бызнес-логики, то действительно хочется их куда-нить затолкать, в "отдельное место". А пока этого нет, приходится добавлять к ним дурацкие префиксы типа "srv_", "acnt_", "stock_" и прочее. В итоге, еще и меньше знаков (из драгоценных 31) остаются на информ. часть имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:54:12 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Таблоид, о! А ты чего думаешь по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:56:03 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
В именах таблиц/колонок драгоценные тридцать один знак расходуют, в том числе, и на префиксы/суффиксы. Придерживаться аналогичной стратегии для имён процедур - выглядит вполне логичным, раз уж полноценная реализация отложилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:57:58 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Таблоид! You wrote on 27 января 2014 г. 16:56:31: Таблоид> не, не ерунда. Когда процедур много... "изоляцией" занимается инструмент. (в данном случае - IBExpert) зы: сейчас процедур в базе порядка 2 тысяч. ззы: пакаджи были придуманы не для этого. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:59:44 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, пакадж - модуль (как в Pascal unit). Удобней располагать близкие по функционалу процедуры/функции в одном модуле, чем все процедуры/функции в глобальном пространстве. Единственное что мне кажется странным, так это то, что права на пакет даются только целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:05:24 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис ты чего думаешь по этому поводу?при обнаружении внутри пакета конструкции типа execute procedure some_proc первой должна искаться ХП в этом пакете. Если её нет, то standalone-процедура. Но компиляция пакета должна обязательно сопровождаться предупреждением о наличии совпадающих имён. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:11:40 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Ну так давайте придерживаться областей видимости, как в Паскале: - мы внутри пакета - все обращения к соседям (тем объектам, которые тоже в пакете) - без префикса. - мы внутри пакета - все обращения к другим пакетам - через префикс в виде имени пакета - мы внутри пакета - все обращения к глобальным обьектам - через обязательное указание умолчательного префикса - если мы в области глобальных обьектов - это фактически то же самое, как если бы мы были внутри предопределенного пакета (т.е. все глобальные обьеты по умолчанию должны создаваться внутри предопределенного пакета). Т.е. фактически требуется выделение дополнительного умолчательного префикса для обращения к глобальным обьектам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:14:17 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийзы: сейчас процедур в базе порядка 2 тысяч.дык у нас еще 3-4 года взад было 2400. И нагородили бы еще больше, если бы нас подло не остановило начальство своим решением о переводе на 1с Мимопроходящийззы: пакаджи были придуманы не для этого.в орацле почему-то думкают иначе: там на первом месте именно модульность указана http://docs.oracle.com/cd/B10500_01/appdev.920/a96624/09_packs.htm#401 Modularity Packages let you encapsulate logically related types, items, and subprograms in a named PL/SQL module.Дураки, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:16:39 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Hello, Таблоид! You wrote on 27 января 2014 г. 17:18:56: Таблоидв орацле почему-то думкают иначе: там на первом месте именно модульность указана Дураки, наверное. маркетологи. зы: у оракела ЯЗЫК изначально модульный. ззы: и может "существовать" даже в отрыве от сервера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:21:49 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Таблоид, Они не указывают, что это свойство самое важное, не придумывай, чего нет. Может, они "по нарастанию важности" перечислили. Ведь последнее, "better performance", явно не самое фуфловое из перечисленного, как думаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:23:37 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> И до FB4 теперь наверное не предвидятся. Версионность после тройки уже объявлена что ли? P.S. Выпроси у ДЕ схемы в 3.0.1 :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:23:56 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Разве схемы не потребуют изменения ODS, подсистемы прав и серьезного допиливания парсера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:28:37 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
И не только этого. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:35:10 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
WildSeryпоследнее, "better performance", явно не самое фуфловое из перечисленного, как думаешь?Не прочувствовали мы как-то его. Я именно про "later calls to related subprograms in the package require no disk I/O". Тормоза от *вызовов* standalone-процедур там - ничтожные. А вот если там внутри нет биндинга аргументов - оооо.... это песня просто будет :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:35:43 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, ну тогда в 3.0.1 никак ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:35:49 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> ну тогда в 3.0.1 никак Я бы не зарекался. P.S. Можно в 3.1, буде ему статься. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:38:25 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денисможет быть лучше как раз наоборот глобальные процедуры вызывать только с префиксом или явно декларировать, что они доступны в пакете. Синтаксическая несуразность получится. В обычной процедуре ты пишешь Код: sql 1. 2. В пакетной процедуре - наоборот: Код: sql 1. 2. Назачем усложнять правила, когда можно избежать любых проблем если принудить всегда писать по первому варианту?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:39:26 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, дык в пойнт релизах ODS так сильно не меняют. То что схем не будет в FB3 уже вроде говорилось. Кстати причём тут версионность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:41:43 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> Назачем Затем, что пишется в разных местах и по разным причинам. Ты в Delphi методы класса через Self вызываешь или таки по-человечески? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:43:10 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> То что схем не будет в FB3 уже вроде говорилось. FB3 - это FB 3.0.* или кто? > Кстати причём тут версионность? Ну я пока не знал, что после FB3 пойдёт FB4. Лично для меня это откровение. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:44:34 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Посмотрим что ДЕ и ВХ скажут по поводу глобальных процедур внутри пакетов. Когда я эту тему начинал, то даже как-то о таких проблемах и не задумывался. Сначала просто показалось нелогичным невозможность вызова одноимённой глобальной процедуры. А тут ещё оказывается и множество подводных камней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:45:35 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, а я этого и не говорил. Гаджимурадов РустамFB3 - это FB 3.0.* или кто? естественно. Вроде как в пойнт релизах могут быть только улучшения и исправления багов, но никак не новые фичи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 17:48:28 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамP.S. Выпроси у ДЕ схемы в 3.0.1 :) Моя шляпа глубока и полна волшебства. В ней носовые платки, кролики и девчёнки выпивающие Black Label, и ещё в ней есть дым-машины, пена-машины и даже торч-машины, и всё равно, до дна шляпы далеко… Но в ней НЕТ ни грамма сухого льда СХЕМ! (с) :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:39:45 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr> Моя шляпа А вот это ты зря, зря. P.S. А фильм хороший, да. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:44:15 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr, я надеюсь это не официальная позиция, что их не будет никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:46:30 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Не, ДЕ намекает, что ресурсы ограничены и в шляпе запасных нет. Ну нет, так нет, это дело хозяйское... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:52:37 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, лично я к их дизайну или реализации не имею никакого отношения. И не знаю того, кто имеет. Как вариант - достать схемы из волшебной шляпы можно будет только после того, как в оную шляпу что-то положат. Возможны и другие варианты, но предсказывать будущее по таким слабым ориентирам я не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 18:57:01 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (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 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> Меня задолбало в Оракле когда я в TOAD копаюсь Симонов Денис> отыскивать реально схему среди сотен юзеров. Да ладно, на деле сотен схем не бывают. А к трем-четырем быстро привыкаешь и ориентируешься. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:48:51 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Ну, про сильную и слабую связность это он сильно задвинул, конечно. :) Схемы для разных целей могут использоваться - например, иметь почти одинаковые структуры для разного наполнения (а-ля белый и чёрный учёт) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 20:50:10 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitrздравым смыслом и/или внешними факторами. Если у тебя система не самодостаточна без мааааленькой схемы с объектами расчета себестоимости (прикрученной проволокой к штатной бухгалтерии) - это одно, а если ты слил две независимые БД в одну и написал служебную процедуру по перекачке данных из одной схемы в другую - это совсем другое. Тогда будем говорить предметно: вот есть у меня конфигурация репликации - несколько таблиц, где, собственно, хранятся данные и (предположим) набор ХП для её изменения, управления и т.п. Сейчас всё это барахло лежит в отдельной БД, но я хочу запихнуть его непосредственно в реплицируемую БД. Процедуры я, конечно, могу сложить в пакет, но без таблиц они не имеют смысла. А таблицы в пакет не положишь. И при этом они весьма слабо связаны с пользовательскими чтобы валяться между ними. Т.е. лично мне идеально подошла бы отдельная схема. Но тогда и всплывает вопрос "зачем пакеты, когда есть схемы". Что такого я могу сделать с пакетом, чего не получится со схемой?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 21:01:00 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамДа ладно, на деле сотен схем не бывают. А к трем-четырем быстро привыкаешь и ориентируешься. с десятком схем работал лично - жить можно, но больше уже пожалуй будет не очень комфортно Гаджимурадов РустамСхемы для разных целей могут использоваться - например, иметь почти одинаковые структуры для разного наполнения (а-ля белый и чёрный учёт) или development и production одной и той же базы. Могут для разного, конечно же. Вопрос нужно ли, поэтому см. выше про здравый смысл. Лично мне это видится через призму связанности, но спорить не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 21:01:20 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТогда будем говорить предметно: вот есть у меня конфигурация репликации - несколько таблиц, где, собственно, хранятся данные и (предположим) набор ХП для её изменения, управления и т.п. Сейчас всё это барахло лежит в отдельной БД, но я хочу запихнуть его непосредственно в реплицируемую БД. Процедуры я, конечно, могу сложить в пакет, но без таблиц они не имеют смысла. А таблицы в пакет не положишь. И при этом они весьма слабо связаны с пользовательскими чтобы валяться между ними. Т.е. лично мне идеально подошла бы отдельная схема. Но тогда и всплывает вопрос "зачем пакеты, когда есть схемы". Что такого я могу сделать с пакетом, чего не получится со схемой?.. ключевая фраза - "сейчас лежит в отдельной БД". Т.е. к базе юзера твои настройки репликации относятся чисто логически и база без них спокойно продолжит свое существование. Поэтому мой ответ - отдельная схема. Но можно зайти и с другой стороны - если у клиента несколько реплицируемых баз, то у тебя конфигурационных баз тоже несколько или все же одна? Если первое, то IMHO это скорее недостаток проектирования. Но если без этого никак, тогда придется включать объекты в юзерскую схему. Иначе опять же напрашивается отдельная схема. грубо говоря, представь две абсолютно разные базы, залитые как разные схемы в одну БД. Представь (в перспективе) отдельный бекап-рестор каждой схемы. Подумай, должна ли твоя конфигурация намертво "прилипать" к юзерской схеме при миграциях или дануегонах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 21:18:42 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
dimitr> больше уже пожалуй будет не очень комфортно Угу. > или development и production одной и той же базы Ну, это имхо плохое решение. Девелопмент на мой взгляд должен быть не только в отдельной БД, но и на отдельном сервере. Но запретить, конечно, нельзя. > Лично мне это видится через призму связанности, но спорить не буду. Да не спора ради, я о другом. Схемы - как и всё остальное - это лишь инструмент, а для чего его будет использовать - для связанности, удобства, безопасности или исходя из бизнес-логики - дело десятое. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 22:10:05 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамСимонов Денис> Меня задолбало в Оракле когда я в TOAD копаюсь Симонов Денис> отыскивать реально схему среди сотен юзеров. Да ладно, на деле сотен схем не бывают. А к трем-четырем быстро привыкаешь и ориентируешься. Сотен схем быть не должно, а вот сотни пользователей легко. Поскольку Оракл на каждого юзера городит по схеме, которые в большинстве своём пусты, то там появляется автоматически сотни схем. Вот я и говорю так делать схемы не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 22:44:04 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Может не в тему. Но схемы у Оракла слямзилило Це1 - у них ето переключение интерфейса пользователя: -бухгалтерия, торговля и т.д.( я про УПП). Очень похоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 22:44:38 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> Сотен схем быть не должно, а вот сотни пользователей легко Легко-то легко, хотя польза и практический смысл этого сомниетелен. Тем не менее схемы не совсем то же самое, что и пользователи, даже в Оракле (если не брать во внимание пустые схемы). Так что сотню именно схем (настоящих) увидеть вряд ли доведётся.. > Вот я и говорю так делать схемы не надо. Ну, "так". Конечно, не надо, даже если где-то так сделано. Кажется, у FB-шных схем даже концепта пока нет (или есть?). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 00:33:29 |
|
||
|
Вызов одноимённых процедур из глобального пространства внутри пакета (FB3)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, я ничего не знаю о планах реализации схем и их концепциях в FB. Мне больше нравиться реализация оных в PostreSQL, хотя знаком я с ним довольно поверхностно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 09:08:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563898]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
200ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
105ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 579ms |

| 0 / 0 |
