|
|
|
Функция length
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopЧего менять-то? Ну падение убрать, ненароком, я про агрегат оконный. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 17:37 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopОчевидно что rownum не должно срабатывать до аналитики. Он вообще от другого запроса. :) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 17:41 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, ORA-03113 по прежнему отлично ловится, по крайней мере, на 12.1.0.2 на "аналитическом" collect (с сортировкой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 17:41 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, И элемент в коллекции, видать тоже 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 17:44 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopОчевидно что rownum не должно срабатывать до аналитики.Fixed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2016, 17:44 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousElicпропущено... Тебе не надоело бессмысленно спорить? Не бессмысленно. Я в ходе дискуссии я полностью определился в своем отношении к обсуждаемому явлению (autonomous declare). До ссылки на нотку это был забавный недокументированный побочный эффект с непонятным будущим, после ссылки на нотку я склонился к версии о баге в документации.Да нет никакого бага Картинка вполне доходчиво все показывает: В сессии в текущий момент активной может быть только одна транзакция (V$SESSION.TADDR). Родительская транзакция замораживается по достижении (на картинке) слова BEGIN. На мой взгляд вполне естественно сделать вывод, что все что до этого выполняется в родительской транзакции. Ну а приводимая уже цитата When you enter the executable section of an autonomous transaction, the main transaction suspendsс расшифровкой понятия "executable section" окончательно расставляет все по местам. Считаю, что большего документация и разжевывать не должна. Хотя, конечно, можно "упереться рогом" и требовать дословного указания на все мелочи. PS. Для меня это выглядело с самого начала вполне естественно. Скорее всего, по аналогии с обработчиком ошибок (ошибки в DECLARE обрабатываются обработчиком родительского блока) andrey_anonymousВсем спасибо за участие, особенно Elicу и Владимиру Любомудрову за любезно предоставленные ссылки и квалифицированное оппонирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 03:00 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровPS. Для меня это выглядело с самого начала вполне естественно. Скорее всего, по аналогии с обработчиком ошибок (ошибки в DECLARE обрабатываются обработчиком родительского блока)Настало время задуматься, а какая транзакция может быть в EXCEPTION? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 07:53 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
This function returns the local (to instance) unique identifier for the current transaction. It returns null if there is no current transaction. почему m<- в null? 15 rollback; закрыл "мастер" транзакцию procedure a откатает изменнения и в "мастер" транзакции Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 16:21 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
stax..почему m<- в null? 15 rollback; закрыл "мастер" транзакцию procedure a откатает изменнения и в "мастер" транзакцииСтанислав, ты то ли не владеешь знаками препинания, то ли разговариваешь сам с собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 17:00 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Elicstax..почему m<- в null? 15 rollback; закрыл "мастер" транзакцию procedure a откатает изменнения и в "мастер" транзакцииСтанислав, ты то ли не владеешь знаками препинания, то ли разговариваешь сам с собой. и то и другое так луче/понятней? [quot stax..]почему m<- в null? 15 rollback; закрыл "мастер" транзакцию . procedure a откатает изменнения и в "мастер" транзакции . ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2016, 17:52 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Elic......Настало время задуматься Да уж, зажигательный вариант истории, про то, почему никогда не пиши when others ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 00:20 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobyElic......Настало время задуматься Да уж, зажигательный вариант истории, про то, почему никогда не пиши when others Т.е. - ошибки программиста должны обнаруживать себя наиболее очевидным способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 00:23 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
ElicВячеслав ЛюбомудровPS. Для меня это выглядело с самого начала вполне естественно. Скорее всего, по аналогии с обработчиком ошибок (ошибки в DECLARE обрабатываются обработчиком родительского блока)Настало время задуматься, а какая транзакция может быть в EXCEPTION? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. С другой стороны, почему ошибка обрабатывается в обработчике автономной процедуры? Таки, наверное, контекст транзакции уже восстановлен, а обработчик исключительных ситуаций еще нет И вот еще прикол Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 05:51 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТаки ORA-6519 особый случай. Она должна обработаться в контексте родительской транзакции, поскольку выполнение автономной процедуры закончено. Более того перехватить ошибку и исправить положение уже и нельзя. Забавно то, как раз не это. То, что блок exception на процедуру обрабатывается по выходу из нее с ошибкой это нормальное поведение. Как впрочем не лишено логики и обработка его, как если из нее не вышли. Вот то, что в зависимости от ситуации может быть то, а может быть другое, просто потому, что так проще, вот это забавно. более того оптимизатор еще и отдает exception не тому блоку Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 13:06 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobyникогда не пиши when others then null end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 13:51 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
AmKadboobyникогда не пиши when others then null end; в данном случае свет гасит не команда Null - ты хоть весь бэктрейс туда запихни, оно вообще не обязано быть замеченным, что где-то в извилинах массового процесса по дороге свет погас. свет гасит именно сам when others ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 13:59 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobyAmKadпропущено... в данном случае свет гасит не команда Null - ты хоть весь бэктрейс туда запихни, оно вообще не обязано быть замеченным, что где-то в извилинах массового процесса по дороге свет погас. свет гасит именно сам when others ну, что-то сорта Код: plsql 1. 2. 3. вполне допустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 14:16 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobyну, что-то сорта Код: plsql 1. 2. 3. Ну так ведь еще можно сделать и что-нибудь более осмысленное, например залоггировать ошибку и ее "окружение". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 14:53 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobyну, что-то сорта Код: plsql 1. 2. 3. вполне допустимо. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:17 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровElicпропущено... Настало время задуматься, а какая транзакция может быть в EXCEPTION? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. С другой стороны, почему ошибка обрабатывается в обработчике автономной процедуры? Таки, наверное, контекст транзакции уже восстановлен, а обработчик исключительных ситуаций еще нет И вот еще прикол Код: 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. для меня неочевидным есть то что в блоке exception (часть автономной процедуры) мы уже находимся в контексте основной транзакции ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:31 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
-2-boobyну, что-то сорта Код: plsql 1. 2. 3. вполне допустимо. Код: plsql 1. не страшно comm и так 0 а от то что закоммитет основную транзакцию, ето уже посерьезнее ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:37 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
stax.., вот вот. а если читать описание к ORA-6519, потом перечитывать и на досуге вдумываться, то ведь, там же все написано. Здесь самое не очевидное, что написанному, оказывается, в данном случае, следует верить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:38 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
boobystax.., вот вот. а если читать описание к ORA-6519, потом перечитывать и на досуге вдумываться, то ведь, там же все написано. Здесь самое не очевидное, что написанному, оказывается, в данном случае, следует верить. 06519, 00000, "active autonomous transaction detected and rolled back" // *Cause: Before returning from an autonomous PL/SQL block, all autonomous // transactions started within the block must be completed (either // committed or rolled back). If not, the active autonomous // transaction is implicitly rolled back and this error is raised. // *Action: Ensure that before returning from an autonomous PL/SQL block, // any active autonomous transactions are explicitly committed // or rolled back. //----------------------------------------------------------------------- откаталось и что, где сдесь что вернулись в контекст мастер транзакции? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:47 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
stax..откаталось и что, где сдесь что вернулись в контекст мастер транзакции?А куда ещё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 16:14 |
|
||
|
Функция length
|
|||
|---|---|---|---|
|
#18+
stax..// transaction is implicitly rolled back and this error is raised. ... откаталось и что, где сдесь что вернулись в контекст мастер транзакции? Откатились - значит транзакции нет. Вообще блок exception по сути своей переходной. Из процедуры уже вышли, а к вызывающему еще не вернулись. Вот где написано, что в моем варианте перехватит блок b. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39357392&tid=1886876]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 545ms |

| 0 / 0 |
