タグ TRANSACTION
人気順 5 users 50 users 100 users 500 users 1000 users本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道
前提 前提ですが。 transaction=Consistency/Isolationを担保する仕組みの話とする。 一般にtransactionが持つべき属性はACIDと言われる。C/Iに比べて、A/Dが“わかりやすい”のでAtomic/Durableの属性の方が人口に膾炙しているが、現在のtransactionではA/Dネタはあまり話題にならない。A/Dネタはローカルだけで見るので... 続きを読む
create_or_find_byでcreateもfind_byも失敗させる - かみぽわーる
Active Recordの話です。 create_or_find_byの実装はcreateしてみてユニーク制約に引っかかったらfind_byしてみるなので、ふつうに考えるとfind_byは成功しそうに見えます。 def create_or_find_by(attributes, &block) transaction(requires_new: true) { create(attributes, &block) } rescue ActiveRecord::RecordNot... 続きを読む
DBIx::TransactionManager の目的と、その使用法について - tokuhirom's blog.
おはようございます。DBI では当たり前のように $dbh->do('BEGIN') と $dbh->do('COMMIT') をつかえばトランザクションがつかえるわけですが、なぜ DBIx::TransactionManager のようなものが必要になったのでしょうか。それは勿論、DBI で直接 transaction をとりあつかうと問題が発生するケースが存在するからです。一番おおきいのは、ト... 続きを読む
Welcome back to the TRANSACTION! - 急がば回れ、選ぶなら近道
最近、トランザクションの再勉強を始めていて、先日クラウド温泉でも発表させてもらった手前、ちょうどいいので一回まとめておく。はじめに断っておくと自分は別にDBやTXの専門家ではない。なので以下の内容の正確性については保証しない。内容については自分で勉強してくださいね。 1.「なんでまたTXなのか」 まずもって何故にTXなのか?というお話から始めます。もう枯れてんじゃないか?今頃RDBMSでもないだろ... 続きを読む