|
|
|
Двойной 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 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38576760&tid=1563834]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
3ms |
| others: | 234ms |
| total: | 502ms |

| 0 / 0 |
