楽観はいた webでひきまわしの刑
2014/02/11
■
db
楽観排他
雑記
設計
排他
楽観排他制御です。
もう《後勝ち(あとがち)》でいいじゃんと思ったりしないでもない瞬間はありますが、排他大事ですね。お金の値とか、いろいろ大事な数字を厳密、そう、厳密、厳格(幻覚)にあつかわなければならないから。
じゃっ実際問題、排他にひっかかった場合、「入力したデータどうするんだよー」というのがあります。この辺、「あきらめて」最初から入力してくださいというのが現実なのかしら....
実現方法の案です。
更新時間を画面間でひきまわします。hiddenで引き回すぐらいでいいと思う。
ここで、更新時間(Timestamp型)を、画面でもたせるときに、タイムスタンプをいったん数値にしてもたせるのがいいかなと。
これだとテストは大変じゃないブラウザをふたつ立ち上げてやればOK
が、SELECT ... FOR UPDATE使って、そのあとにUPDATEやってる場合、デバッガ使って、止めてとか、単体テストできちんとテストしとかないと、もうあとの工程でテストする機会がなくなると思われるので、テストきちんとしとかないとね。
参考
: