powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Паралелльные изменения
6 сообщений из 31, страница 2 из 2
Паралелльные изменения
    #38378150
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyИспользуй везде снапшот и будет тебе счастье.

я не изолировался никогда по той причине что не было конфликтов
из всех параметров когда либо для транзакция я использовал такие параметры
T1.TRParams.Add('isc_tpb_wait');
T1.TRParams.Add('write');
T1.TPBMode := 0;//tpbDefault;
T1.TRParams.Add('read_committed');
T1.TRParams.Add('rec_version');

и не было других причин. Но т.к. появились долгие запросы которые приводят к появлению
Lock conflict on no wait transaction.
Deadlock.
Update conflicts with concurrent update.
Concurrent transaction number is 57492.

есть необходимость такая оператор запускает запрос и запрос должен либо выполниться, либо висеть пока не закончиться какой то мешающий ему выполнить работу
один из параметров я знаю это
T1.TRParams.Add('isc_tpb_wait');
какие остальные выставить именно для этой ситуации?
...
Рейтинг: 0 / 0
Паралелльные изменения
    #38378480
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтиккакие остальные выставить именно для этой ситуации?
Любые. Параметрами транзакции конфликт изменений не разрешить, надо логику БД переделывать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Паралелльные изменения
    #38379360
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик,

Код: pascal
1.
2.
3.
4.
5.
T1.TRParams.Add('isc_tpb_wait');
T1.TRParams.Add('write');
T1.TPBMode := 0;//tpbDefault;
T1.TRParams.Add('read_committed');
T1.TRParams.Add('rec_version');


если T1 это pFIBTransaction, то imho код бредовый, ибо после вызова T1.TPBMode:=0; все ранее заданные параметры транзакции должны сброситься. Т.е. тут надо или трусы надеть, или крестик снять.
Кроме того, зачем tpbDefault, если можно сразу написать tpbReadCommitted? Автор кода не читал про транзакции в FIBPlus, однозначно. Иначе неясен смысл вышеприведенной ахинеи.
...
Рейтинг: 0 / 0
Паралелльные изменения
    #38379363
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, часть претензий снимается, но код все равно кривой, ибо строка
T1.TPBMode := 0;//tpbDefault;
должна быть первой при задании своих параметров транзакции. А второй строкой должна быть
T1.TRParams.Clear;
...
Рейтинг: 0 / 0
Паралелльные изменения
    #38380207
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvок, часть претензий снимается, но код все равно кривой, ибо строка
T1.TPBMode := 0;//tpbDefault;
должна быть первой при задании своих параметров транзакции. А второй строкой должна быть
T1.TRParams.Clear;

СП. Т.к. в программе проблем не было транзакций не натыкано, а значит такого тупого кода с граблей тоже. Т.к. так глубоко не использовал и не думал Clear. Он действительно нужен.

Все остальное разрулил. Теперь одновременно если запускаю с двух машин конфликтов нет. :)
...
Рейтинг: 0 / 0
Паралелльные изменения
    #38380216
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕвгений Болтиккакие остальные выставить именно для этой ситуации?
Любые. Параметрами транзакции конфликт изменений не разрешить, надо логику БД переделывать.


Ничего не надо переделывать. Просто транзакцию нужную запустить и все. Естественно надо понимать какую в каком случае. Почитал и воткнул ту что мне надо в этом месте. ;)

Бузу респект за чтиво, хотя можно было бы как то попроще описать(мне было тяжело читать, но не все одинаково мыслят), но автор сам знает как надо. Я то же иногда пишу не все понимают. Хотя кто то с пол пинка понимает :)
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Паралелльные изменения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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