|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Когда я меняю тело процедуры, то при ее компиляции, при наличии соответствующей настройки, перекомпилируются все зависимые от нее процедуры и триггеры. А вот когда я меняю тело функции, зависимые объекты не перекомпилируются. Аналогично при модификации пакетных процедур и функций Также при перекомпиляции обычных процедур не перекомпилируются зависимые от нее функции и пакеты С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 18:02 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Up? Хрен с ними с пакетами. Для обычных функций можно recompile сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 14:49 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
А оно в тройке и выше точно необходимо? Или чтобы было? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 15:13 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert А оно в тройке и выше точно необходимо? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 15:37 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ Я проверял ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 15:44 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Оказалось не все так плохо. Изменения не видятся, если редактировать объекты в IBExpert. Но до реконнекта. После реконнекта все работает. А такой скрипт Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 15:56 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ А такой скрипт подхватывает изменения сразу Так тут нет перекомпиляции зависимой функции sf_t1 после последнего изменения процедуры sp_test. И оно, ты говоришь, нормально работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 16:04 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert Так тут нет перекомпиляции зависимой функции sf_t1 после последнего изменения процедуры sp_test. И оно, ты говоришь, нормально работает. Я нарвался на такое поведение _Vasilisk_ Изменения не видятся, если редактировать объекты в IBExpert. Но до реконнекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 16:09 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Я у себя проверил - нормально все видится и без реконнекта. А ты как проверяешь? Ну, к перекомпиляции это в любом случае никакого отношения не имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 16:19 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert А ты как проверяешь? Код: sql 1.
вижу текущее значение из sp_test Модифицирую sp_test, возвращаюсь в SQL Editor, откатываю текущую транзакцию и выполняю запрос опять. Вижу старое значение из sp_test Делаю реконнект, выполняю запрос и вижу новое значение ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 16:47 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ Модифицирую sp_test, возвращаюсь в SQL Editor, откатываю текущую транзакцию и выполняю запрос опять. Вижу старое значение из sp_test Делаю реконнект, выполняю запрос и вижу новое значение А если просто закрыть SQL-редактор и открыть заново? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 11:25 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ Модифицирую sp_test, возвращаюсь в SQL Editor, откатываю текущую транзакцию и выполняю запрос опять. Вижу старое значение из sp_test Разница между вот этими действиями и твоим скриптом выше, который подхватывает изменения сразу, только в параметрах транзакций, наверное. Больше что-то ничего в голову не приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2020, 09:33 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert только в параметрах транзакций, ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 15:41 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
alekcvp А если просто закрыть SQL-редактор и открыть заново? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 15:47 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Ну, я не знаю, почему в одном случае изменения подхватываются сразу, а в другом - только после реконнекта. Это нужно у серверописателей спрашивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 16:58 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert Это нужно у серверописателей спрашивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 19:03 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ У тебя оно повторяется? Так... Попробовал еще раз, на тройке (а в прошлый раз на четверке пробовал, оказывается, и уже точно не помню, что именно). Итак: 1. Выполняем твой скрипт - видим 990. 2. После этого выполняем такой скрипт: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
И снова видим 990... 3. А если скрипт такой: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
то сразу видим 333. Т.е., перекомпиляция sf_t1 после изменения sp_test таки решает проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 04:22 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
А вот почему после выполнения твоего скрипта показывает 990, а не 50 - ХЗ. Перекомпиляции-то sp_test там нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 04:25 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert 2. После этого выполняем такой скрипт: Похоже на то, что при первом вызове sp_test она попадает в кеш и там уже сидит до дисконнекта. Вот Денис Симонов описывал здесь 22148821 такое поведение для UDR Симонов Денис Экземпляр процедуры создаётся в момент её загрузки в кэш метаданных Ну и тест, который это подтверждает Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:54 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_, wait транзакция может обновить/ивалидировать процедуру в кеше метаданных. Очевидно ты эту процедуру в другой закладке в запросике использовал 19140159 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:16 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_, ну ты молодец конечно, EXECUTE PROCEDURE сделал, а коммит нет. Естественно она торчит в кеше метаданных и её не может выкинуть даже wait транзакция ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:20 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
Симонов Денис wait транзакция может обновить/ивалидировать процедуру в кеше метаданных Симонов Денис Очевидно ты эту процедуру в другой закладке в запросике использовал Симонов Денис Естественно она торчит в кеше метаданных и её не может выкинуть даже wait транзакция Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:19 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_, естественно, читай комментарий ДЕ. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:44 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
_Vasilisk_ ]При этом коммит после перекомпиляции уже ни на что не влияет. Там коммитить нечего, все DDL по умолчанию коммитятся сразу после выполнения. В общем, я ничего не понял. Перекомпиляция таки нужна или достаточно просто wait в свойствах транзакции прописать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 17:51 |
|
Перекомпиляция зависимых процедур
|
|||
---|---|---|---|
#18+
IBExpert Перекомпиляция таки нужна IBExpert достаточно просто wait в свойствах транзакции прописать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 19:00 |
|
|
start [/forum/topic.php?fid=42&tid=1598628]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
21ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 165ms |
0 / 0 |