>別に勝手に追加したわけじゃなくて、>>477は普通の正常系の話。
>複数人が別々のデータを同時に登録するなら、それは成功してしかるべき。
そもそもトランザクションは常に失敗の可能性があるってことすら理解してないのか。
>>469はそんなもの問題として挙げてないし、これが実際に問題となるかどうかはもう少し
具体的にアクセス規模や性能要件なんかを出して議論するものだ。
>serializableの要件を満たすことが目的ではないし、普通に実装すればuser2はブロックしないし
>失敗もしない。
>エラーにするんじゃなくて、エラーが発生するんだけど。
>>478に書いた「実装」ってのはDBMSの実装のことな。
SERIALIZABLEの要件を満たすのもエラーを出すのもDBMS側の仕事。
極端な話、
>user1: select count(*) from t where a=3; -> データがないことを確認できる
安直なDBMならここでtにテーブル排他ロックをかけるかもしれない。それでも規格準拠だ。
それを踏まえてもういちど>>478を読み返してみな。
>というか、クライアントを二つ立ち上げて、>>477を実査にやってみれば、俺が言ってることを納得できると思う。
>>478と同じことを書くけど、おまえさんはSQL標準で規定されたトランザクションの仕様と
個々のDBMSの実装の区別がついていない。
データベースプログラミング全般スレ
■ このスレッドは過去ログ倉庫に格納されています
481デフォルトの名無しさん
2016/08/30(火) 22:41:53.12ID:d4TkCE35■ このスレッドは過去ログ倉庫に格納されています
