Я пытаюсь обновить несколько строк в таблице, которые соответствуют некоторым критериям (т.е. все строки, где some_col = "foo").Я хочу сделать это обновление как часть транзакции, в которой я получаю блокировку в режиме общего доступа для всех этих строк, обновляю строку за строкой и освобождаю общие блокировки.
В документации, которую я до сих пор читал, говорится о том, какзаблокировать отдельные строки в ActiveRecord.Но это сделает вещи неэффективными, так как мне сначала нужно будет выполнить какой-то запрос .where (...), выполнить итерацию по каждой строке и заблокировать ее (которая перезагружает строку из БД).Так что я получу две выборки в дБ на строку ...
Мне было интересно, как лучше заблокировать все строки, которые соответствуют определенным критериям в самом запросе .where (...).Это возможно?Если нет, то существуют ли более эффективные способы более эффективной блокировки определенного набора строк.Блокировка стола не вариант.
Спасибо!