ВК
Size: a a a
ВК
ak
N
ы
В-
N
ak
ak
ы
ы
SD

const users = await getRepository(User)Блокироваться будет вся таблица User? Или только то, что вернётся после getMany?
.createQueryBuilder("user")
.setLock("pessimistic_write")
.getMany();

СП

const users = await getRepository(User)Блокироваться будет вся таблица User? Или только то, что вернётся после getMany?
.createQueryBuilder("user")
.setLock("pessimistic_write")
.getMany();
1. Read uncommited
2. Read committed - параллельный процесс может видеть только те данные, которые были зафиксированы. То есть внутри транзакции запрос одних и тех же полей может возвращать разные данные. По-умолчанию.
3. Repeatable read - один и тот же запрос обязан видеть одни и те же данные в рамках транзакции. Полезно для отчётов, где в одной транзакции множество SELECT.
4. Serializable - полная изоляция. Результат параллельного исполнения транзакций выполняется так, будто бы транзакции последовательны. Накладные расходы. Возможно падение транзакции, которые нужно отправлять повторно.
AE
СП

const users = await getRepository(User)Блокироваться будет вся таблица User? Или только то, что вернётся после getMany?
.createQueryBuilder("user")
.setLock("pessimistic_write")
.getMany();
sudo apt install build-essential, не помоглоAE
sudo apt install build-essential, не помоглоgcc version 4.9.2 (Debian 4.9.2-10+deb8u2)
AE
gcc version 4.9.2 (Debian 4.9.2-10+deb8u2)