powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Двойной update, bug?
25 сообщений из 61, страница 2 из 3
Двойной update, bug?
    #38575976
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonНамек на то, что пока первый апдейт не закончился, второй - не начинается.Ты приравнял момент выполнения триггера before update с началом собственно update.
А это далеко не так.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576047
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonТаки шо мэшаеть сделать то же самое для конфликта update-update? Или хотя бы признать проблему?


проблема только в консерватории проектировщика который до этого додумался.
По идее для update-update тоже надо выдавать ошибку, но не такую. Это примерно также как по стандарту merge при попадании под условие соединения более одной строки должен давать ошибку, но не даёт её сейчас. А вообще это почти никого не беспокоит, потому что так никто не делает.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576053
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о... это вон оказывается специально сделано судя по топику где автор хочет сайд эффекта
http://www.sql.ru/forum/737146/emuliciya-funkcii-s-side-effect?hl=
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576065
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисо... это вон оказывается специально сделано судя по топику где автор хочет сайд эффекта
http://www.sql.ru/forum/737146/emuliciya-funkcii-s-side-effect?hl= Там несколько другое, ибо ф-цию с сайд-эффектом он вызывает из select, а не из update
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576472
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonшановни друзи
Твою мову не розумію. На форуме пишем по-русски, кроме случаев, когда это действительно нужно. Прошу не злоупотреблять.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576732
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSerypizmonшановни друзи
Твою мову не розумію. На форуме пишем по-русски, кроме случаев, когда это действительно нужно. Прошу не злоупотреблять.

Просто люблю ее. Извините.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576760
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

Я думаю, что смогу выбить финансирование под решение этой проблемы.
Если интересно, пиши на почту.
И сообщи примерную сумму, сроки, войдет ли в ветку 2.5 и что это будет - exception или "нормальная" отработка update-ов.
Заранее - спасибо.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576824
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalovчто это будет - exception или "нормальная" отработка update-ов.
"Нормальной" отработки тут быть не может. Представь update field=field+func(), где func()
что-то делает. Проверка и перечитывание записи зациклятся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576864
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

автор"Нормальной" отработки тут быть не может. Представь update field=field+func(), где func()
что-то делает. Проверка и перечитывание записи зациклятся.
Если учитывать новый параметр конфига "OldSetClauseSemantics", то ничего не зациклится: инкрементируемое поле должно иметь old значение на момент первого update-а.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576869
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalov,

в fb3 занимались проблемой стабильного курсора. И исправили его для наиболее встречающихся случаев. Но!!! Всё это работает до того момента пока нет оператора suspend в ХП. Поэтому лучше не ждать исправления, а просто начать нормально писать свой код.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576871
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalovчто это будет - exception или "нормальная" отработка update-ов.


ИХМО. Правильно кидать exception в таких случаях, т.к. результат работы не одназначен
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576899
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalovинкрементируемое поле должно иметь old значение на момент первого
update-а.
Сейчас оно так и есть. Просто до кое-кого не доходят две вещи:
1) update обновляет все поля, а не только явно перечисленные.
2) Первый update как раз - внешний.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576918
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Dimitry Sibiryakov,

Тогда остается поднятие exception-а. Это лучше чем ничего.
Предложение в силе.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576919
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov1) update обновляет все поля, а не только явно перечисленные.

Это "by design", этого же явно нигде не написано? Или я плохо искал?
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576946
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonЭто "by design", этого же явно нигде не написано?
Это самоочевидность: нельзя записать на диск половину записи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576954
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто самоочевидность


Убедил :)
Тогда exception - действительно лучший выход.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576969
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exception это более правильно. В общем случае подзапросы в которых есть ХП c DML могут выполняться в любом порядке, как того захочется оптимизатору. А потому результат может быть различным в разных ситуациях. Но! Будет много недовольных, т.к. некоторые могли заложиться на эту фичу. Лично автору это зачем? Что нельзя сразу разделить селективные ХП и ХП модифицирующие данные. И принять за правило что смешивать модификацию данных и извлечение нельзя.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38576985
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть мы все прогосовали по поводу работы, которая не нами будет делаться и не нами будет оплачиваться?
Мы молодцы.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577091
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Я как пользователь СУБД рассчитываю на однозначное поведение сервера, либо он скушал запрос и сделал что ему сказали, либо обругался, что так делать нельзя.
В моем случае, что так делать нельзя, я знал не от сервера, а пришел сюда и узнал его от разработчиков СУБД.

Теперь представим ситуацию, что есть пользователи нашего продукта, которые тоже пишут код, но уже не подконтрольный нам.
Как это ни странно, они тоже рассчитывают на однозначное поведение нашего продукта.

Но куда им идти в противном случае? Тоже на форум, чтобы узнать тайные правила?
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577098
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalov,

в MSSQL запрещены функции с побочными эффектами. Этого хочешь?
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577103
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

В Oracle, кстати тоже. Но это не принято кем-то за правило - тайно.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577109
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalov,

да я в целом поддерживаю. Но это приведёт к потере совместимости для приложений которые заложились на эту фичу
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577174
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalovНо это не принято кем-то за правило - тайно.
Какое правило? В чём тайна? Последовательность действий при update никто ни от кого не
скрывает:
1) Получение старых значений
2) Вычисление новых значений (включая те, что на основе старых и равны им)
3) Запуск before-триггеров
4) Сохранение новых значений
5) Запуск after-триггеров

Какой из пунктов последовательности для тебя сюрприз?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577182
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Ну чего дерьмо в ступе толочь? Вот сюрпиз: (включая те, что на основе старых и равны им)
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577190
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonВот сюрпиз: (включая те, что на основе старых и равны им)
Да? Человек никогда не пользовался старыми значениями в выражениях после set и не обращал
внимание, что в триггерах доступны все поля в контексте old?.. Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 61, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Двойной update, bug?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]