Новые сообщения [новые: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&mobile=1&tid=1992925]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 9ms |
total: | 136ms |
0 / 0 |