|
rollback TO <SAVEPOINT> *не* отменит DML в ES/EDS with COMMON transaction. Это правильно ?
|
|||
---|---|---|---|
#18+
hi all. Вот скриптик: Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
Если его запустить, то получим такой STDOUT: Код: 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.
В доке сказано (раздел EXECUTE STATEMENT, страница 362):WITH {AUTONOMOUS | COMMON} TRANSACTION . . . Если оператор должен работать в отдельном соединении, то используется уже запущенная в этом соединении транзакция (если таковая транзакция имеется). В противном случае стартует новая транзакция с параметрами текущей транзакции. Любые новые транзакции, запущенные в режиме "COMMON", подтверждаются или откатываются вместе с текущей транзакцией .Тут ничего не сказано про откат к промежуточной точке сохранения. Что в этом случае должно быть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 22:21 |
|
rollback TO <SAVEPOINT> *не* отменит DML в ES/EDS with COMMON transaction. Это правильно ?
|
|||
---|---|---|---|
#18+
Таблоид, 1. разве suspend не разрывает savepoint? 2. сомневаюсь, что savepoint распространяется на EDS 3. тебя не удивляется, что after ES/EDS возвращает ID=1 и EB_TRN = 198? Я это говорю потому, что вот это предложение вероятно содержит ошибку Если оператор должен работать в отдельном соединении, то используется уже запущенная в этом соединении транзакция (если таковая транзакция имеется). Скорее всего "Если оператор не должен..." Дальше вроде бы всё верно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 08:48 |
|
rollback TO <SAVEPOINT> *не* отменит DML в ES/EDS with COMMON transaction. Это правильно ?
|
|||
---|---|---|---|
#18+
Таблоид, достаточно включить голову и подумать, что такое сейвпойнт, в рамках чего он существует и как создается. И тогда мысли об автоматической репликации сейвпойнтов в EDS отпадут сами собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 10:08 |
|
rollback TO <SAVEPOINT> *не* отменит DML в ES/EDS with COMMON transaction. Это правильно ?
|
|||
---|---|---|---|
#18+
Таблоид, ID = 2 вставлено в другом коннекте - и это важно. Распределённые тр-ции в EDS пока что не поддерживаются, а распределённых сейвпойнтов нет в природе. Так что никакие сейвпойнты в коннекте А никак не влияют на конннект Б. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 10:10 |
|
|
start [/forum/topic.php?fid=40&msg=39078248&tid=1562587]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 393ms |
0 / 0 |