|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Иммем DDL Код: 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
При попытке удаления Код: sql 1.
получаю The cursor identified in the UPDATE or DELETE statement is not positioned on a row. no current record for fetch operation. At trigger 'CHECK_1'. в Firebird 2.5.2 это работало! Это баг fb 3.0 или баг был в fb 2.5 и это не должно работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 08:30 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Frees, почему parent_id smallint, а id - integer? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:15 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, случайность, не доглядел, проверил с integer проблема таже ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:23 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Проблема, насколько я понимаю, только с self-referenced FK. Возникла из-за введения стабильного курсора и особенностей реализации каскадных трггеров (мягко говоря, не очень стандартной). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:34 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
hvladПроблема, насколько я понимаю, только с self-referenced FK. Странно, у меня деревья шлепаются с корня и до бесконечности (преувеличиваю, но по факту ограничений на вложения нет) без проблем. Или у меня руки кривые и что-то сделал не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:40 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, и ты каскадное удаление на них используешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:42 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, чтоб повторить, записи в дереве по каскаду должны удалятся и причем и корень и ветка ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:44 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов Дениси ты каскадное удаление на них используешь? Код: 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:45 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Freesчтоб повторить, записи в дереве по каскаду должны удалятся и причем и корень и ветка В дереве один корень и он удаляется без проблем захватив с собой всю структуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:46 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
у тебя другая структура, в твоем примере, удялять не из OBJECT а из OBJECTTYPE надо и cascade на удалении из OBJECTTYPE нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:49 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman Код: sql 1.
И где тут дерево? Первичный ключ указывает сам на себя... Как так? Похоже скопировал что-то не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:50 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Freesу тебя другая структура Ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:50 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов ДенисИ где тут дерево? То же не проснулся? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:51 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов ДенисКак так? О... Забавно, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:52 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
hvladПроблема, насколько я понимаю, только с self-referenced FK. Возникла из-за введения стабильного курсора и особенностей реализации каскадных трггеров (мягко говоря, не очень стандартной). Это баг или фича? как лучше исправить, удалить self-referenced FK ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:54 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, мне действительно интересно. Если скрипт правильный, то как это вообще может работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:54 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Frees, убрать каскад на self-referenced FK. Сам FK тут не виноват ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:55 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman Код: sql 1.
Тут нет каскадного удаления. Я ещё не исследовал подробно что там и как сломалось, поэтому могу быть где-то не совсем точен. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:57 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов ДенисFrees, убрать каскад на self-referenced FK. Сам FK тут не виноват А если каскад по self-referenced FK тоже нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:59 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
FreeshvladПроблема, насколько я понимаю, только с self-referenced FK. Возникла из-за введения стабильного курсора и особенностей реализации каскадных трггеров (мягко говоря, не очень стандартной). Это баг или фича? как лучше исправить, удалить self-referenced FK ?Формально - баг. Как обойти - пока не вникал. Повторю - я ещё не исследовал проблему подробно, так что не верьте мне на слово :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:59 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов ДенисЕсли скрипт правильный, то как это вообще может работать? Потому что wadmanу меня руки кривые Кривые очень профессионально. Дерево выбирается с корня, а корнем считается тот, у кого родитель null. Соответственно для пользователя все выглядит красиво, а в базе остается куча хвостов... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 10:00 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, судя по всему должно быть так? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 10:03 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Симонов Дениссудя по всему должно быть так? Верно. Поправил и все равно нормально удаляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 10:09 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
wadman, у него случай другой. Каскады конфликтуют кто будет запись удалять. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 10:17 |
|
Firebird 3.0 сломалось каскадное удаление
|
|||
---|---|---|---|
#18+
Freesу тебя другая структура, в твоем примере, удялять не из OBJECT а из OBJECTTYPE надо и cascade на удалении из OBJECTTYPE нужен Сделал так: Код: 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.
Все равно удаляется нормально при удалении из objecttype. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:12 |
|
|
start [/forum/topic.php?fid=40&msg=39283643&tid=1562035]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 174ms |
0 / 0 |