172 похожих чатов

Ребят, разбираюсь с транзакциями и уровнями изоляции в PostgeSQL и

следующие строки из документации, как по мне, противоречат друг другу.
` Repeatable Read Isolation Level
The Repeatable Read isolation level ... never sees either uncommitted data or changes committed during transaction execution by concurrent transactions
UPDATE, DELETE ... commands behave the same as SELECT in terms of searching for target rows: they will only find target rows that were committed as of the transaction start time. However, such a target row might have already been updated (or deleted or locked) by another concurrent transaction by the time it is found.
`
Вот не понятно, вроде как при этом уровне изоляции внутри транзакции не видны изменения произведенные другими транзакциями, и в тоже время в следующем абзаце написано, что UPDATE, DELETE ... квери могут получить модифицированные данные.
Помогите плз, как это понимать? Спасибо.

8 ответов

13 просмотров

> и в тоже время в следующем абзаце написано, что UPDATE, DELETE ... квери могут получить модифицированные данные. Нет, не написано же. Написано только то, что при выборке запрос на них "наткнётся". Что будет потом, написано дальше, насколько я помню.

Gleb- Автор вопроса
Yaroslav Schekin
> и в тоже время в следующем абзаце написано, что ...

я и не говорю что будет в результате работы транзакции, я говорю что транзакция получит модифицированные данные (после селекта выбранные данные окажутся модифицированными). Вот и вопрос, почему так? Ведь написано, что на этом уровне изоляции транзакция не должна видеть изменения произведенные другими транзакиями.

Gleb
я и не говорю что будет в результате работы транза...

Нет, не получит (опять-таки, там этого не написано). И Вы бы знали это, если бы попробовали тривиальные тесты, кстати. ;) Т.е. если хотите подробно разбираться — лучше создать тестовые таблицы, открыть две сессии и пробовать всё, что смущает.

Gleb- Автор вопроса
Yaroslav Schekin
Нет, не получит (опять-таки, там этого не написано...

Спасибо, обязательно сделаю это, но все же, если вы говорите что не получит, то как понимать это абзац? UPDATE, DELETE ... commands behave the same as SELECT in terms of searching for target rows: they will only find target rows that were committed as of the transaction start time. However, such a target row might have already been updated (or deleted or locked) by another concurrent transaction by the time it is found.

Gleb
Спасибо, обязательно сделаю это, но все же, если в...

Тем не менее, такая запись может быть уже модифицирована (или удалена, или заблокирована) другой конкурентной (параллельно выполняющейся) транзакцией к тому моменту, когда [эта запись] будет найдена.

Gleb- Автор вопроса
Gleb
ну да) что я сказал не так?)

То, что нигде тут не написано, что данная транзакция её увидит. Описывается неизбежная реальность — транзакции происходят, [такие] изменения случаются. Почему Вы не читаете текст дальше, а "застряли" на этом предложении?

Gleb- Автор вопроса
Yaroslav Schekin
То, что нигде тут не написано, что данная транзакц...

все, врубился, спасибо. Действительно чето меня залогало=)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта