|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Fedor 'Cruger' Tersin 2:5020/400 31 May 2001 16:01:59 To : Tolik Tentser Subject : Re: Informix ? -------------------------------------------------------------------------------- Hail. Thu May 31 2001 13:13, Tolik Tentser wrote to All: >> возникает дэтлок. Что в таком случае может сделать объект, занимающийся >> взаимодействием с сервером? TT> Повторит транзакцию, в которой был UPDATE А имеет ли смысл? Ведь изменение записи шло при определенных условиях. Раз транзакция откатилась, все условия придется проверять. >> Ведь нужно понять, запрос какого рода был, TT> Зачем - это как раз тот запрос, выполнение которого привело к deadlock Если это был одиночный запрос, то еще куда ни шло - остаются лишь т.н. пассивные блокировки - т.е. кто то успел с этой записью сделать до нас. Если же этот запрос лишь один в череде запросов в рамках одной транзакции - без шансов. >> можно ли его повторить, TT> Можно. А почему нельзя ? Как ты будешь повторять транзакцию целиком, а не один единственный запрос из нее? >> или нужно перечитать запись и дать обратно пользователю на >> редактирование. TT> Брррррр .... TT> Данные были успешно прочитаны в предыдущей транзакции, если бы там был TT> deadlock - оно бы отработалось там Эти данные могли изменить. Детлок как раз поэтому мог возникнуть. Что, накатывать сверху свои изменения, которые сотрут уже внедренные? TT> Уж не допускаешь ли ты интерактивную работу с пользователем при TT> незакрытой транзакции ? Даже и не мечтай. >> А может быть какой то алгоритм работал без транзакции... TT> Как ты себе представляшь запрос "без транзакции" ? Hе запрос, а алгоритм. Т.е. несколько последовательных, логически связанных запросов. Hо не в транзакционных скобках. TT> А зря. Я вот написал - и нет никаких проблем с deadlock`ами. Примерно TT> раз-два в час они случаются, но все отрабатывается автоматом и никого не TT> напрягает. Hикуда за пределы базового класса запроса они не выходят. 1. Есть ли у тебя полноценные транзакции, т.е. группа связанных запросов с клиента в транзакционных скобках? Что ты делаешь в этом случае? 2. Что ты делаешь, если детлок случился из-за изменения тех же данных кем то другим? Fedor. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/166797adf2d3e.html, оценка из 5, голосов 10
|