powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Двойной update, bug?
11 сообщений из 61, страница 3 из 3
Двойной update, bug?
    #38577193
rashid.abzalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Все сообщения про тайные правила направлены Симонову Денису в ответ на его предложение: Симонов ДенисИ принять за правило что смешивать модификацию данных и извлечение нельзя
Зачем вводить собственные правила, когда сервер сам бы мог пресечь неверное, на его взгляд, поведение.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577199
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНю-ню...


А какая связь? И проблема-то не в части "читать", а в части "вычислять новые значения на основе старых, ... которые ... равны им". Нарена их вычислять, казалось бы? "Вычисление новых значений" и контекст "old" - вообще мало связанные вещи, да и хрен пока со всеми триггерами - речь идет об эквивалентности update t set f1 = ... и update t set f1=..., f2=f2, f3=f3....

Эта эквивалентность во-первых, ниоткуда не следует, во-вторых, не неизбежна.

То, что FB работает в данный момент именно так - мы поняли с помощью топикстартера, твоей и всех участников. Спасибо. Что же дальше?
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577217
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonНарена их вычислять, казалось бы?
А откуда ещё новым значениям полей браться-то?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577444
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalov,

сколько сервер не учи все виды гавнокода он пресечь не сможет
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577448
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov1) Получение старых значений
2) Вычисление новых значений (включая те, что на основе старых и равны им)
А ты точно не усложняешь?
Мне кажется, никакого "включая те..." не происходит.
У нас есть считанная старая запись, мы меняем в ней что меняется, и при этом никуда старые значения других полей не деваются.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577487
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrashid.abzalov,

сколько сервер не учи все виды гавнокода он пресечь не сможет

Не хотелось бы тебя расстраивать, но это как раз одна из главных причин разаработки стандарта SQL - дать однозначное поведение в тех случаях, когда оно имеет смысл, и детектировать ошибку во всех остальных случаях.

Ты подходишь к СУБД как к библиотеке - "так, быстрая сортировка уже есть, можно самомму не программировать - а правильно переложить это на сервер. Надежное транзакционно-устойчивое хранение уже есть - можно самому не писать, главное - правильно использовать "библиотеку", то бишь СУБД", и так далее. Но такой подход к делу - не единственно возможный.

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

это всё пустые рассуждения. По существу согласен, но есть вопрос совместимости. Да и задача не столь важная. Куда важнее улучшать оптимизатор, производительность IO, безопасность. А детектирование гавнокода можно оставить на потом.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577503
pizmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

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

ещё по поводу гавнокода. Вот взять к примеру Оракл. Там всячески пытаются огородить программиста. Мутации ввели. Мне достался проект который я сейчас поддерживаю. Так вот предыдущий программер там такого понаписал, чтобы обойти мутации. Он запихивал в построчном триггере ключ в переменную пакета, а затем в триггере на статмент использовал её для дальнейших манипуляций. И всё бы хорошо пока вставляется/модифицируется одна запись. Но как только их несколько получается полная чушь. И вот тут вопрос каким образом сервер защитил программера от этой ошибки? Помогла ли ему фича с мутацией?
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577521
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pizmonСимонов Денис,

Это не пустые рассуждения. Это мои рассуждения. Не хами дяде.

не в коем случае не хотел нахамить. Рассуждения пустыми считаю потому, что сильно сомневаюсь что по их результатам разработчики побегут изменять поведения сервера.
...
Рейтинг: 0 / 0
Двойной update, bug?
    #38577654
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryА ты точно не усложняешь?
Мне кажется, никакого "включая те..." не происходит.
У нас есть считанная старая запись, мы меняем в ней что меняется, и при этом никуда старые
значения других полей не деваются.

У нас есть считанная старая запись. Мы копируем её в новую. По-моему, этот процесс
подпадает под "вычисление", пусть даже EVL не вызывается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11 сообщений из 61, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Двойной update, bug?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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