Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.06.2015, 22:30
|
|||
|---|---|---|---|
Влияние COMMIT / ROLLBACK / <empty line> при DDL-ошибках внутри execute block'ах на STDERR |
|||
|
#18+
hi all DDL-1 (сразу смотрим в нём на выделенные строки). ===== Код: 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. 1) когда после завершающего set term ;^ нет ни commit'a ни rollback'a (и неважно при этом, продолжается ли далее скрипт какой-нибудь DML-командой типа "select * from ..."): Код: plaintext 1. 2. 3. 4. 5. 6. Таким обр, тут нету сообщения про облом DROP INDEX'a. 2) когда после set term ;^ есть COMMIT - будет два сообщения, но оба - про облом drop TABLE, про индекс - опять ничего: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 3) когда после set term ;^ есть ROLLBACK... сообщений об обломах не будет вообще(!). ######################################################################################## DDL-2 (также сразу смотрим в нём на выделенные строки). ===== Отличается от первого только изменённым порядком того, что хотим дропнуть: раньше хотели сначала индекс, затем - таблицу; теперь - наоборот: Код: 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. Здесь "картина маслом" следующая: 1) когда после set term ;^ нет ни commit'a ни rollback'a, сообщения будет два, и оба объекта (таблица и индекс) будут в них упомянуты. Но порядок будет "перепутанным": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2) когда после set term ;^ есть COMMIT, вылезет три сообщения(!), первое про индекс, остальные - про таблицу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 3) когда после set term ;^ есть ROLLBACK, вылезет только одно сообщение, про индекс. Про таблицу - ни слова: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.06.2015, 22:48
|
|||
|---|---|---|---|
Влияние COMMIT / ROLLBACK / <empty line> при DDL-ошибках внутри execute block'ах на STDERR |
|||
|
#18+
PS. Проверено на: WI-V2.5.5.26879 WI-T3.0.0.31855 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2015, 00:12
|
|||
|---|---|---|---|
Влияние COMMIT / ROLLBACK / <empty line> при DDL-ошибках внутри execute block'ах на STDERR |
|||
|
#18+
Сейчас всё расписывать не буду, в двух словах - всё ок, как и должно быть. Если ты вспомнишь, что бОльшая часть DDL выполняется по коммиту, то и сам всё поймёшь. Наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&mobile=1&tid=1562800]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 570ms |

| 0 / 0 |
