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

Hash PRIMARY KEY | owner_id | expires_in при уровне изоляции serializable,

если две параллельные транзакции добавят запись с одинаковым hash, что-то может пойти не так?

извините за глупый вопрос, я хочу быть уверен

14 ответов

20 просмотров

А как они добавят параллельно при таком уровне изоляции?

megahomyak- Автор вопроса

ну, я понимаю, что одна транзакция должна подождать другую при операции над одной таблицей при serializable, но я, возможно, неправильно понял доку, и что-то плохое всё-таки может произойти

megahomyak
ну, я понимаю, что одна транзакция должна подождат...

При любом уровне изоляции там будет ожидание (блокировка) и впоследствии фейл всех кто не первый

Да. (Что-то всегда можэт пойти не так, хе-хе).

megahomyak
ну, я понимаю, что одна транзакция должна подождат...

Нет, доку вы поняли, видимо, очень неправильно.

Виктор Ткаченко
При любом уровне изоляции там будет ожидание (блок...

Тожэ нет (такое будет только при unique на совпадающем поле).

Виктор Ткаченко
У топикстартера PK на hash

Не видел такого в последние несколько часов.

Виктор Ткаченко
!

А! О! Не заметил.

megahomyak
ну, я понимаю, что одна транзакция должна подождат...

Да, одна транзакцыя подождёт другую. Втррая либо свалится, либо, если там был ON CONFLICT — возможно (но не всегда) выполнит что там было в ON CONFLICT.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта