Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.10.2002, 10:06
|
|||
---|---|---|---|
Блокировки и таймаут? |
|||
#18+
Привет, солнцеподобные корифеи! Oracle 7.3 + клиент на Дельфи/БДЕ Может кто вразумит, как сделать примерно следующее: юзер А забирает запись на редактирование. В это же время юзер Б ее же желает удалить. И допустить такого нельзя, нужно сразу дать отбой на удаление. Я пользую для блокировки SELECT ...FOR UPDATE NOWAIT. При запросе на удаление клиент зависает в ожидании разлочки записи, и по факту тут же убивает наработанное другим бедолагой. Никакого тюнинга на тему timeout я не нахожу. Как быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.10.2002, 10:51
|
|||
---|---|---|---|
|
|||
Блокировки и таймаут? |
|||
#18+
По-моему. в твоем случае обе сессии должны перед изменением записи попытаться залочить ее. Т.е. сессия, пытающая удалить запись, перед delete тоже должна сказать select ... for update nowait, и если кто-то эту запись уже держит, получит ORA-00054: resource busy and acquire with NOWAIT specified. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&tablet=1&tid=1992925]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 143ms |
0 / 0 |