プログラマーから
「perlでDBIを使っているが、AutoCommitを外しているのに、勝手にcommitされる。何故でしょう?」
と相談を受けた。
ソースを見てみると、deleteして、ある条件の場合にはcommitせずにdisconnectしているソース。いろいろ細かい処理は施しているが、動作としては、そんなもんだ。
明示的にrollbackするとどうなる? ということで試したところ、予想通りcommitせずに終了した。
そういわれてperldocでDBIを読むと、確かに、disconnectはDBシステムによって、commitされるかrollbackされるか一定でないと書かれていた。
今後のソースには明確にcommitするかrollbackするか明示するようにプログラムガイドラインを変更した。
「perlでDBIを使っているが、AutoCommitを外しているのに、勝手にcommitされる。何故でしょう?」
と相談を受けた。
ソースを見てみると、deleteして、ある条件の場合にはcommitせずにdisconnectしているソース。いろいろ細かい処理は施しているが、動作としては、そんなもんだ。
明示的にrollbackするとどうなる? ということで試したところ、予想通りcommitせずに終了した。
そういわれてperldocでDBIを読むと、確かに、disconnectはDBシステムによって、commitされるかrollbackされるか一定でないと書かれていた。
今後のソースには明確にcommitするかrollbackするか明示するようにプログラムガイドラインを変更した。