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