|
Модераторы: LSD |
|
polin11 |
|
||||||||
Шустрый Профиль Группа: Участник Сообщений: 122 Регистрация: 6.6.2015 Репутация: нет Всего: нет |
Использую СУБД PGSQL.
Нужно получить мин. значение CreateDate из таблицы документ
если минимальная дата < текущей в цикле вешается транзакция и пересчитывается поле CreateDate, достаю записи таким запросом:
Обновление записей
Насколько понимаю логику работы SELECT FOR UPDATE SKIP LOCKED при паралельных вызовах будут взяты не заблокированные записи. Как понимаю проблема будет возникать при получении мин. значение CreateDate,
заблокированные записи будут пропущены и актуальное значение не получить. Подскажите пож-ста можно как-то исправить эту проблему? |
||||||||
|
|||||||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
https://xyproblem.info/
Формулируйте задачу, а не свою попытку её решить. Выбранный путь скорее всего ошибочный. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 3 Всего: 537 |
SELECT FOR UPDATE блокирует конкретные записи. В приципе нет проблем написать:
И запрос заблокирует записи где CreateDate минимальная. Но проблема в том, что это не блокирует вставку в таблицу новых значение которые будут меньше минимальной даты. И в целом решение выглядит кривым, стоит описать задачу в целом. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |