DBD::SQLiteとCPANPLUSとSQL logic errorの件

先日公開されたDBD::SQLite 1.27ですが、アップデートするとCPANPLUSなどのアプリが下記のエラーを吐くようになる、という報告が出てきています。

[ERROR] DBI error: SQL logic error or missing database cannot start a transaction within a transaction

これは正確には8月にdevリリースした1.26_03で加えた修正によるもので、エラーメッセージにも書いてあるように、要するに過去の不安定なトランザクションまわりの処理をなんとかしようとして、->begin_workでトランザクション開始を宣言しているにもかかわらずBEGINを自前で発行するなどということをしていると出てくるものです。基本的にはCPANPLUSを含むアプリ側の論理バグなので各アプリの対応待ちですが、どうしても急場しのぎが必要な方はそのパグが残っているDBD::SQLite 1.25にダウングレードすればエラーは消えるということも覚えておくと役に立つかもしれません。