|
|
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
tru55Если 9i, то есть еще пакет dbms_metadata, может покопаться с ним, типа Код: plaintext 1. 2. 3. PS Но, конечно, не в графическом виде Выдает метаданные только на весь пакет целиком, сам могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:05 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
CoasterИзобретаем велосипед?))))))))) Очертания уже похожи, только вот колеса пока треугольные))) Объясните тупому - ПОЧЕМУ?!!! НУ ПОЧЕМУ?! Вы не хотите стандартные средства использовать? Ну не пользуетесь вы VCS'ами, ну хотя бы взять навигатор или тоад или другую софтину различную и сделать compare . . . И что мне с этого cоmpare? Нафига мне знать что в пакете есть изменения с 300099 строки? Что я должен буду делать дальше с этой полезной информацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:06 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
KettlerДля парсинга обычно используют регулярные выражения. В 9ке OWA_PATTERN или можно Java classов подгрузить. Имхо без них никак :) Буду признателен за более подробный рассказ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:07 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
VoytИ что мне с этого cоmpare? Нафига мне знать что в пакете есть изменения с 300099 строки? Что я должен буду делать дальше с этой полезной информацией? Навигатор покажет,что изменилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:08 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
slywebmasterесть еще Oracle Change Management Pack для сравнения различных объектов на разных бд Только в нем к сожалению нет такой функции замечательной "показать в пакете PP измененные функции со вчершнего вечера", а факт того что изменен именно пакет для меня не несет никакой смысловой нагрузки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:09 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Voyt нет такого типа 'PACKAGE_BODY' Чуток ошибся Хм... Если ошиблись, тогда почему использовали оператор like? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:09 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar VoytИ что мне с этого cоmpare? Нафига мне знать что в пакете есть изменения с 300099 строки? Что я должен буду делать дальше с этой полезной информацией? Навигатор покажет,что изменилось. Только у меня в системе 200 пакетов и 10000 функций в них, а также патологически глубокая вложенность вызовов. Посему изучать глазами - легче и вправду систему перетестить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:11 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
PL99 val-demar Voyt нет такого типа 'PACKAGE_BODY' Чуток ошибся Хм... Если ошиблись, тогда почему использовали оператор like? А почему собственно говоря и не like ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:21 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar А почему собственно говоря и не like ? Да можно, конечно и like, только мою проблему это ну никак не решает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 15:24 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
2 Voyt Если решите сами писать, то не забывайте что программеры люди творческие, в какой из f1 поменял ? Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:04 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Stax.2 Voyt Если решите сами писать, то не забывайте что программеры люди творческие, в какой из f1 поменял ? Не наблюдаю проблемы определить f1 Наблюдаю проблему как получить текст f1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:07 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voyt Не наблюдаю проблемы определить f1 Наблюдаю проблему как получить текст f1 Проблема, определить где заканчивается текст искомой процедуры. Начало определить можно по имени и параметрам. Конец текста, не содержащий ни имени, ни комментария (то есть никакой связи с исходными данными)определить остается проблематично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:11 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Проблема, определить где заканчивается текст искомой процедуры. Вероятно там где начинается текст другой. Что делать со вложенными - вот это действительно вопрос, но мои разработчики их почему то не используют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:16 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voyt Вероятно там где начинается текст другой. Проблем бы тогда не было. А если она последняя в пакете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:27 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Voyt Вероятно там где начинается текст другой. Проблем бы тогда не было. А если она последняя в пакете ? Тогда за ней больше ничего нет. Меня бы это полностью устроило ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:38 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
в частном случае (в комментариях нет бегинов/эндов, функции не предопределяются вначале пакетов, энд всегда end; и т.п.) такое сработает можно еще с аналитическими функциями помутить Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:43 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
sataneyeffв частном случае (в комментариях нет бегинов/эндов, функции не предопределяются вначале пакетов, энд всегда end; и т.п.) такое сработает можно еще с аналитическими функциями помутить Согласен, а если название процедуры/функции стоит не в одной строке со словом PROCEDURE/FUNCTION? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 17:12 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Читаем Применение хранимых процедур Java в Oracle 8i Читаем доку по регулярным выражениям. Я бы сделал например так: 1. Удаляем все комментарии из package body 2. -//- литералы (то что в ' ' и в " ") 3. тогда возможны шаблоны "(procedure.+?end;)\s+procedure" "(procedure.+?end;)\s+function" "(function.+?end;)\s+procedure" "(function.+?end;)\s+function" "(procedure.+?end;)\s+end;" "(function.+?end;)\s+end;" и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 17:59 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
ИМХO придется писать конвейерную функцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:06 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
KettlerЧитаем Применение хранимых процедур Java в Oracle 8i Читаем доку по регулярным выражениям. Я бы сделал например так: 1. Удаляем все комментарии из package body 2. -//- литералы (то что в ' ' и в " ") 3. тогда возможны шаблоны "(procedure.+?end;)\s+procedure" "(procedure.+?end;)\s+function" "(function.+?end;)\s+procedure" "(function.+?end;)\s+function" "(procedure.+?end;)\s+end;" "(function.+?end;)\s+end;" и т.д. убираем "неудобные" end; Код: plaintext 1. 2. 3. 4. 5. Заменяем перевод строки (склеиваем end и ;) Убираем нехорошие function И тестируем, тестируем,тестируем,тестируем ... для версий напр 8 1 6 Код: plaintext 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. а конвеер все длиннеее, а тестировщики пьют кофе и балдеют Красиво жить не запретишь Оно Вам надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 19:07 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Stax.а конвеер все длиннеее, а тестировщики пьют кофе и балдеют Красиво жить не запретишь Оно Вам надо Что это было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 19:23 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Удалось решить задачу с парсером хринимки из пакета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 13:31 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Тимурр, ага, вот щяз прям автор не заходивший на форум лет 8 проснётся и прибежит тебе отвечать. зы. оно не надо было тогда. не надо и сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 13:45 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32953868&tid=1887199]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 516ms |

| 0 / 0 |
