[perl][cpan][雑談]DBD::mysqlPPの話(その2)

http://d.hatena.ne.jp/tsucchi1022/20111022/1319262791 の続きみたいな話。

メンテを引き継いでからは、基本的にプレースホルダーまわりのバグフィックスを中心にやっていました。つーか分かるところが今のところその辺くらいしか無かったから。

まずもとあった SQL インジェクションのバグを潰しました。あとは LIMIT かけた際に不必要にクォートしてしまう不具合があって、それを直したりしました。ただ、基本的にはクォートするかどうかは、数値か文字列かで判定するべきなのですが、現在はやっつけな感じの実装になっています。

ドライバ(Net::MySQL)側に結構クリティカルな不具合があって、(どういう基準かはよく分からないのだけど)難しいステートメントを投げるとハングしてしまうことがあります。これは MySQL通信プロトコルを理解しないとどうにもならないので、手をつけられずにいるのですが、これを直さないと DBD::mysql からテストを持ってくるとか夢のまた夢な話になってしまうので、なんとかせないかんなー、とは思っています。

あとは、僕が E::MM を全然分かって無いのが良くないのですが、MANIFEST がうまく作れてなかったり、META.yml が更新されてなかったりして、結構無駄に悩んだりしたので、Module::Install ベースに移行したいな、と考えていて、手元には変更したブランチもあったりします。やっぱり xt 使いたいんだよねー。

プレースホルダーまわりは、テストコードも整備したし、そのための仕組みも作れたので、他の部分も少しずつ取り組んでいきたいなー、とは思っています。