|
|
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Уважаемые специалисты, как можно решить такую проблему : Несколько разработчиков редактируют один пакет.Они делают свои похожие копии пакетов. pkg --> pkg1, pkg2, pkg3 ... Можно ли на уровне сессии определить синоним или какой-то мультиплексор ? что-то типа : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Заранее спасибо за советы. База Oracle 11g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 14:39 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Если разработчики сидят под собственными схемами, то проще каждому из них создать себе синоним в своей схеме на свою версию пакета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 14:43 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ryчто-то типа :After logon Trigger: Код: plsql 1. 2. 3. 4. 5. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 14:55 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, Думаю, что про синонимы ТС в курсе. Подозреваю, что его волнует другое. Пакет, который правят несколько разрабов, используется в других пакетах. Как им подставить в боевые пакеты ссылки на свои тестовые вместо того боевого, который они правят. Так, Дмитрий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 21:42 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
EBR или клонируй схемы. Все равно гипотетический синоним покрывает только очень узкий сценарий, когда api неизменно. А что тогда менять, форматирование и комментарии? mRdUKEAfter logon Triggerтупо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 00:09 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ry, CREATE EDITION каждому и пусть веселятся. Слияние того, что каждый сам себе налабал, в очередную версию, да еще чтоб совместимо меж собой было - отдельный вопрос и процесс. А в целом - работа нескольких разрабов над одной програмной единицей - признак криво поставленного процесса разработки, результатом которого будут не пакеты/процедуры/функции, а набор писем дяди Фёдора из Простоквашино... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 07:48 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Edition based, А ты злой. ТС, не вздумай пользоваться, пока не осознаешь, чем это грозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 10:22 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Я придумал такой несколько спорный способ : Автоматически сгенерировать пакет-мультиплексор. В этом пакете каждая функция имеет заглушки. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 13:30 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
oragrafEdition based, А ты злой. ТС, не вздумай пользоваться, пока не осознаешь, чем это грозит. Наши админы говорят, что уже пробовали такое включить на одном из серверов. Правда выключить оказалось почти невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 13:58 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ry, И я для просто посмотреть это дело запускал на 11.0.2. На какие конкретно ограничения натолкнулся уже не вспомню. Но вывод был такой - покамест штука бесполезная хоть и забавная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 20:24 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ry, Dima RyЯ придумал такой несколько спорный способ : Для этой задачи и этой версии я бы развернул облако - DBaaS Cloud и любую подходящую provisioning scheme: Schema-as-a-service, DBaaS (например, если БД большая, могли бы использовать Thin Provisioning). Подробное описание процесса доступно в документации OEM Cloud Administration Guide, 18 Enabling the DBaaS Cloud Программисты будут сами запрашивать новую схему/БД, используя OEM Self-Service Portal, или можете написать свое приложение, использующее имеющееся REST API, например, на Apex в два клика, как аналогичное приложение на OTN, где PDB-as-a-service автоматизировали. На версиях поновее, я бы внедрил Application Containers . Краткое демо: Код: 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. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. Здесь, соответственно, дальше простор для автоматизации. Программисты бранчуются, творят, коммитят в git. Release-manager собирает это хозяйство, через CI какой-нибудь запихивает в Application Root, программисты вызывают синхронизацию в App PDB, или принудительно их синхронизировать, чтобы каждый получил свежую версию поделки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 04:56 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ry, Пришла мысль -- а ведь хорошо было бы, если бы можно было к одной спецификации пакета иметь несколько package body. В ООП есть такая идея, что ты сначала описываешь интерфейс (по нашему спецификацию пакета), потом оперируешь только с ним и не паришся какая реализация (тело пакета). Ораклу такое сделать очень просто. create package pkg .... create package body pkg_body1 for pkg... create package body pkg_body2 for pkg... create package body pkg_body3 for pkg... в программе пишешь begin use pkg with pkg_body1; pkg.function1; pkg.function2; use pkg with pkg_body2; pkg.function1; pkg.function2; use pkg with pkg_body3; pkg.function1; pkg.function2; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 11:09 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima RyПришла мысль -- а ведь хорошо было бы, если бы можно было к одной спецификации пакета иметь несколько package body.Бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 11:23 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima RyВ ООП есть такая идеяТам эта идея нужна для использования объекта в методе третьего класса и имплементить можно множество интерфейсов. Поэтому: create package body pkg_body1 for pkgA, pkgB, ... Только пользоваться в оракле этим никто, кроме маргиналов-экскрементаторов, не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 12:47 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
-2-Dima RyВ ООП есть такая идеяТам эта идея нужна для использования объекта в методе третьего класса и имплементить можно множество интерфейсов. Поэтому: create package body pkg_body1 for pkgA, pkgB, ... Только пользоваться в оракле этим никто, кроме маргиналов-экскрементаторов, не будет. Вы не поняли аналогию с ооп --- я имел в виду чистые интерфейсы. Доволно удобная вещь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 12:02 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ry, один мой знакомый часто использовал фразу "ООП головного мозга". Это он про Вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 12:09 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima Ryя имел в виду чистые интерфейсыТо, что ты описал - это полиморфизм, в оралке реализованный с помощью объектных типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 12:29 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
merchDima Ry, один мой знакомый часто использовал фразу "ООП головного мозга". Это он про Вас? Не, я как раз против ООП во всей его красе. Мне как раз стиль plsql без примочек нравится больше. Но абстрактные интерфейсы - штука полезная. Не обязательно это должно быть связано с объектами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 14:46 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
-2-Dima Ryя имел в виду чистые интерфейсыТо, что ты описал - это полиморфизм, в оралке реализованный с помощью объектных типов. Не совсем, я против объектов. Я их уже накушался, наблюдается устойчивая отрыжка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 14:47 |
|
||
|
условный динамический синоним
|
|||
|---|---|---|---|
|
#18+
Dima RyЯ их уже накушалсяНазови три причины, почему "create type" отрыжистей "create package" относительно твоего "use pkg with body1 ...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=121&tid=1884252]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 349ms |

| 0 / 0 |
