|
|
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
DDL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Двойной update: Код: sql 1. 2. 3. Запрос: Код: sql 1. Результат: idf1f21value from functionold f2 Как же так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:16:07 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Забыл указать: Server Version: WI-V2.5.2.26540 Firebird 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:18:33 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovКак же так?А как ты хотел ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:20:48 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, а вот нефиг в селективных процедурах update делать, если это конечно не GTT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:23:36 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvlad, idf1f21value from function value updated by function Чтобы сохранились результаты 2-х последовательных update независимых полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:25:53 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovЧтобы сохранились результаты 2-х последовательных updateА где тут два последовательных update ? Далее - запись или обновляется вся, или не обновляется (тоже вся). Нет никаких "update независимых полей". PS Последовательные операции - это такие операции, у которых не пересекаются моменты начала и окончания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:32:43 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, автора вот нефиг в селективных процедурах update делать, если это конечно не GTT Нет, не GTT и транзакция пишущая. А почему нельзя? Например процедура, что-то изменила и сообщила об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:34:46 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovНапример процедура, что-то изменила и сообщила об этом. Для этого процедуру не обязательно делать селективной. Ты ещё не на такие баги напорешься если будешь так делать. В курсе про не стабильность курсора? Если хочешь в каком-то поле зафиксировать тот факт что таблица была изменена это можно сделать с помощью триггеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:42:45 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
[quot hvlad]rashid.abzalovА где тут два последовательных update ? да хоть бы и непоследовательных. типа update (в процедуре) прошел, ошибок никто не получил, а результата-то его -ап!, и нету. "Нехорошо, Шурик" (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:43:22 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvlad, авторА где тут два последовательных update ? Ну, хорошо, не последовательных, а вложенных. авторДалее - запись или обновляется вся, или не обновляется (тоже вся). Нет никаких "update независимых полей". То, что сейчас это работает так, это понятно? Но правильно ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 16:46:31 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovТо, что сейчас это работает так, это понятно? Но правильно ли это?Я с радостью приму ссылку на стандарт, где описано это поведение. Сам искать не буду - нет ни времени, ни желания. Функции с побочными эффектами - это бардак. В любом ЯП. Обычно в первый год обучения (практического, а не теоритического) это проходит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 17:52:13 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, не надо меня провоцировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 17:53:02 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvladpizmon, не надо меня провоцировать Я пошутил, не обижайся. по сути - все понятно, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 17:55:25 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, для закрепления материала советую подумать над результатом немного модифицированной процедуры Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 18:48:45 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисpizmon, для закрепления материала советую подумать над результатом немного модифицированной процедуры Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. Тебя-то можно провоцировать? Не сбежишь? Тогда есть три варианта - delete в процедуре удаляет одну запись, update - no rows affected. Второй вариант - exception при update (во внешнем контуре). Третий вариант - exception в процедуре, типа попытки удалить залоченную запись. Теперь ты о чем-нибудь подумай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 19:14:58 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, даже думать не собираюсь. Просто привёл абсурдность таких действий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 23:34:21 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, не угадал результьтат null null null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 23:47:14 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, это для Fb3 для Fb2.5 The cursor identified in the UPDATE or DELETE statement is not positioned on a row. no current record for fetch operation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 23:51:03 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисСимонов Денис, для Fb2.5 The cursor identified in the UPDATE or DELETE statement is not positioned on a row. no current record for fetch operation. Таки шо мэшаеть сделать то же самое для конфликта update-update? Или хотя бы признать проблему? Модератор: Давайте не будем заниматься наездами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 01:31:35 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Модератор: удалено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 02:40:39 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovА почему нельзя?Если не сделать fetch all резалтсета, то результаты могут быть самыми неожиданными. Изменения в таблице лучше фиксировать триггерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 08:54:12 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Чорт, всё проспал! Надеюсь, под модераториалом скрывается та самая ссылка на стандарт, а не выступление по национальному вопросу. Давайте, шановни друзи, вернемся к исходному вопросу. Про триггера я действительно чуть было не забыл. А они говорят, что updatы таки действительно последовательные, зря мы эту позицию так легко сдали. Можно слегонца модифицировать исходный DML: Код: 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. И получить Код: sql 1. 2. 3. 4. 5. Намек на то, что пока первый апдейт не закончился, второй - не начинается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 11:02:08 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvladФункции с побочными эффектами - это бардак. В любом ЯП. Всё есть яд, дружище, и всё есть лекарство - однако же в зависимости от дозы. Мне вот кажется, что "прогоченный" оператор - это больший бардак, чем весь side-effect в мире, вместе взятый. Так что провоцировать надо, иначе не достучаться. Мир? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 11:12:08 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, если тебе что-то кажется, а тебе говорят, что это не так, то это есть повод или самому разобраться - почему тебе так говорят, или спросить - а как же там оно на самом деле, или тупо троллить оппонента. Ты пошёл последним путём - твой выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 13:21:38 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
2модератор - не перегибай с удалениями, ибо будет нечего удалять вскоре. 2all - я всего лишь спросил, не пошутил ли pizmon опять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 13:22:57 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonНамек на то, что пока первый апдейт не закончился, второй - не начинается.Ты приравнял момент выполнения триггера before update с началом собственно update. А это далеко не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 13:26:15 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonТаки шо мэшаеть сделать то же самое для конфликта update-update? Или хотя бы признать проблему? проблема только в консерватории проектировщика который до этого додумался. По идее для update-update тоже надо выдавать ошибку, но не такую. Это примерно также как по стандарту merge при попадании под условие соединения более одной строки должен давать ошибку, но не даёт её сейчас. А вообще это почти никого не беспокоит, потому что так никто не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 15:53:35 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
о... это вон оказывается специально сделано судя по топику где автор хочет сайд эффекта http://www.sql.ru/forum/737146/emuliciya-funkcii-s-side-effect?hl= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 16:19:37 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисо... это вон оказывается специально сделано судя по топику где автор хочет сайд эффекта http://www.sql.ru/forum/737146/emuliciya-funkcii-s-side-effect?hl= Там несколько другое, ибо ф-цию с сайд-эффектом он вызывает из select, а не из update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 16:40:36 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonшановни друзи Твою мову не розумію. На форуме пишем по-русски, кроме случаев, когда это действительно нужно. Прошу не злоупотреблять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 02:11:56 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
WildSerypizmonшановни друзи Твою мову не розумію. На форуме пишем по-русски, кроме случаев, когда это действительно нужно. Прошу не злоупотреблять. Просто люблю ее. Извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 12:56:09 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvlad, Я думаю, что смогу выбить финансирование под решение этой проблемы. Если интересно, пиши на почту. И сообщи примерную сумму, сроки, войдет ли в ветку 2.5 и что это будет - exception или "нормальная" отработка update-ов. Заранее - спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 13:12:21 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovчто это будет - exception или "нормальная" отработка update-ов. "Нормальной" отработки тут быть не может. Представь update field=field+func(), где func() что-то делает. Проверка и перечитывание записи зациклятся. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 13:54:58 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, автор"Нормальной" отработки тут быть не может. Представь update field=field+func(), где func() что-то делает. Проверка и перечитывание записи зациклятся. Если учитывать новый параметр конфига "OldSetClauseSemantics", то ничего не зациклится: инкрементируемое поле должно иметь old значение на момент первого update-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 14:17:43 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, в fb3 занимались проблемой стабильного курсора. И исправили его для наиболее встречающихся случаев. Но!!! Всё это работает до того момента пока нет оператора suspend в ХП. Поэтому лучше не ждать исправления, а просто начать нормально писать свой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 14:21:39 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovчто это будет - exception или "нормальная" отработка update-ов. ИХМО. Правильно кидать exception в таких случаях, т.к. результат работы не одназначен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 14:23:35 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovинкрементируемое поле должно иметь old значение на момент первого update-а. Сейчас оно так и есть. Просто до кое-кого не доходят две вещи: 1) update обновляет все поля, а не только явно перечисленные. 2) Первый update как раз - внешний. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 14:50:10 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
hvlad, Dimitry Sibiryakov, Тогда остается поднятие exception-а. Это лучше чем ничего. Предложение в силе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:03:13 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov1) update обновляет все поля, а не только явно перечисленные. Это "by design", этого же явно нигде не написано? Или я плохо искал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:04:59 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonЭто "by design", этого же явно нигде не написано? Это самоочевидность: нельзя записать на диск половину записи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:25:13 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭто самоочевидность Убедил :) Тогда exception - действительно лучший выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:31:11 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Exception это более правильно. В общем случае подзапросы в которых есть ХП c DML могут выполняться в любом порядке, как того захочется оптимизатору. А потому результат может быть различным в разных ситуациях. Но! Будет много недовольных, т.к. некоторые могли заложиться на эту фичу. Лично автору это зачем? Что нельзя сразу разделить селективные ХП и ХП модифицирующие данные. И принять за правило что смешивать модификацию данных и извлечение нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:37:47 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
То есть мы все прогосовали по поводу работы, которая не нами будет делаться и не нами будет оплачиваться? Мы молодцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 15:49:45 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Я как пользователь СУБД рассчитываю на однозначное поведение сервера, либо он скушал запрос и сделал что ему сказали, либо обругался, что так делать нельзя. В моем случае, что так делать нельзя, я знал не от сервера, а пришел сюда и узнал его от разработчиков СУБД. Теперь представим ситуацию, что есть пользователи нашего продукта, которые тоже пишут код, но уже не подконтрольный нам. Как это ни странно, они тоже рассчитывают на однозначное поведение нашего продукта. Но куда им идти в противном случае? Тоже на форум, чтобы узнать тайные правила? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 17:29:37 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, в MSSQL запрещены функции с побочными эффектами. Этого хочешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 17:35:03 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, В Oracle, кстати тоже. Но это не принято кем-то за правило - тайно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 17:39:42 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, да я в целом поддерживаю. Но это приведёт к потере совместимости для приложений которые заложились на эту фичу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 17:44:57 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalovНо это не принято кем-то за правило - тайно. Какое правило? В чём тайна? Последовательность действий при update никто ни от кого не скрывает: 1) Получение старых значений 2) Вычисление новых значений (включая те, что на основе старых и равны им) 3) Запуск before-триггеров 4) Сохранение новых значений 5) Запуск after-триггеров Какой из пунктов последовательности для тебя сюрприз? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 18:51:11 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ну чего дерьмо в ступе толочь? Вот сюрпиз: (включая те, что на основе старых и равны им) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:00:32 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonВот сюрпиз: (включая те, что на основе старых и равны им) Да? Человек никогда не пользовался старыми значениями в выражениях после set и не обращал внимание, что в триггерах доступны все поля в контексте old?.. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:09:17 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Все сообщения про тайные правила направлены Симонову Денису в ответ на его предложение: Симонов ДенисИ принять за правило что смешивать модификацию данных и извлечение нельзя Зачем вводить собственные правила, когда сервер сам бы мог пресечь неверное, на его взгляд, поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:11:41 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНю-ню... А какая связь? И проблема-то не в части "читать", а в части "вычислять новые значения на основе старых, ... которые ... равны им". Нарена их вычислять, казалось бы? "Вычисление новых значений" и контекст "old" - вообще мало связанные вещи, да и хрен пока со всеми триггерами - речь идет об эквивалентности update t set f1 = ... и update t set f1=..., f2=f2, f3=f3.... Эта эквивалентность во-первых, ниоткуда не следует, во-вторых, не неизбежна. То, что FB работает в данный момент именно так - мы поняли с помощью топикстартера, твоей и всех участников. Спасибо. Что же дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:17:26 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonНарена их вычислять, казалось бы? А откуда ещё новым значениям полей браться-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:34:47 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, сколько сервер не учи все виды гавнокода он пресечь не сможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 10:01:41 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov1) Получение старых значений 2) Вычисление новых значений (включая те, что на основе старых и равны им) А ты точно не усложняешь? Мне кажется, никакого "включая те..." не происходит. У нас есть считанная старая запись, мы меняем в ней что меняется, и при этом никуда старые значения других полей не деваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 10:06:40 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисrashid.abzalov, сколько сервер не учи все виды гавнокода он пресечь не сможет Не хотелось бы тебя расстраивать, но это как раз одна из главных причин разаработки стандарта SQL - дать однозначное поведение в тех случаях, когда оно имеет смысл, и детектировать ошибку во всех остальных случаях. Ты подходишь к СУБД как к библиотеке - "так, быстрая сортировка уже есть, можно самомму не программировать - а правильно переложить это на сервер. Надежное транзакционно-устойчивое хранение уже есть - можно самому не писать, главное - правильно использовать "библиотеку", то бишь СУБД", и так далее. Но такой подход к делу - не единственно возможный. И, да, задача сервера - детектировать неоднозначные запросы и ругаться на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 10:52:10 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, это всё пустые рассуждения. По существу согласен, но есть вопрос совместимости. Да и задача не столь важная. Куда важнее улучшать оптимизатор, производительность IO, безопасность. А детектирование гавнокода можно оставить на потом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:01:13 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Это не пустые рассуждения. Это мои рассуждения. Не хами дяде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:10:06 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmon, ещё по поводу гавнокода. Вот взять к примеру Оракл. Там всячески пытаются огородить программиста. Мутации ввели. Мне достался проект который я сейчас поддерживаю. Так вот предыдущий программер там такого понаписал, чтобы обойти мутации. Он запихивал в построчном триггере ключ в переменную пакета, а затем в триггере на статмент использовал её для дальнейших манипуляций. И всё бы хорошо пока вставляется/модифицируется одна запись. Но как только их несколько получается полная чушь. И вот тут вопрос каким образом сервер защитил программера от этой ошибки? Помогла ли ему фича с мутацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:13:18 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
pizmonСимонов Денис, Это не пустые рассуждения. Это мои рассуждения. Не хами дяде. не в коем случае не хотел нахамить. Рассуждения пустыми считаю потому, что сильно сомневаюсь что по их результатам разработчики побегут изменять поведения сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:24:04 |
|
||
|
Двойной update, bug?
|
|||
|---|---|---|---|
|
#18+
WildSeryА ты точно не усложняешь? Мне кажется, никакого "включая те..." не происходит. У нас есть считанная старая запись, мы меняем в ней что меняется, и при этом никуда старые значения других полей не деваются. У нас есть считанная старая запись. Мы копируем её в новую. По-моему, этот процесс подпадает под "вычисление", пусть даже EVL не вызывается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:55:57 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563834]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 568ms |

| 0 / 0 |
