![]() |
#1 |
Участник
|
Можно ли при блокировке записей не ждать
Можно ли при блокировке записей не ждать другую трансакцию. т.е. каким образом узнать что запись заблокирована для обновления?
__________________
Все люди равны, но некоторые равнее... |
|
![]() |
#2 |
Модератор
|
table.selectlocked(true);
С Уважением, Георгий |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от George Nordic
table.selectlocked(true);
С Уважением, Георгий
__________________
Все люди равны, но некоторые равнее... |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от korvin
мне не надо ждать!!! Мне надо прервать select если выбираемая запись заблокирована.
|
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от ALES
Очень интересно, что это за задачка такая для транзакционной системы, расскажите подробнее
на их основе посчитать числа, вставить новые строки в эту же таблицу. Проблема в том что бы перезапустить транзакцию для того чтобы она увидела результаты вставки первой транзакции заблокировавшей записи. Надеюсь у вас не празное любопытство? Если можете помогите. Приветствую любые решения: на уровне Аксапты, сервера базы и т.д. У меня Аксапта 3.0 на Оракле 10
__________________
Все люди равны, но некоторые равнее... |
|
![]() |
#6 |
Участник
|
Кажется нашёл. Надо queryTimeout(1) или если через Connection
то писать FOR UPDATE NOWAIT (для Оракла)
__________________
Все люди равны, но некоторые равнее... |
|
![]() |
#7 |
Участник
|
А в одной транзакции все сделать нельзя? Наверное нет, раз вопрос возник.
Как я это понял, нужен эксклюзивный доступ к данным. Посмотрите как складские журналы аксапта "блокирует" и прикрутите что-то подобное. |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от korvin
Кажется нашёл. Надо queryTimeout(1) или если через Connection
то писать FOR UPDATE NOWAIT (для Оракла) ![]()
__________________
Все люди равны, но некоторые равнее... |
|
![]() |
#9 |
Модератор
|
Цитата:
Сообщение от korvin
Не работает, всё равно одна транзакция ждёт завершения первой заблокировавшей записи, а мне не надо ждать!!! Мне надо прервать select если выбираемая запись заблокирована.
Кстати, а не зависит ли это от уровня кэширования таблицы... Хм.. надо проверить. Георгий |
|
![]() |
#10 |
Участник
|
Цитата:
Сообщение от George Nordic
тогда try..catch.
Кстати, а не зависит ли это от уровня кэширования таблицы... Хм.. надо проверить. Георгий
__________________
Все люди равны, но некоторые равнее... |
|
|
|