おそらくはそれさえも平凡な日々

DBIx::Sunny 0.9991をリリースしました

https://metacpan.org/release/SONGMU/DBIx-Sunny-0.9991

みんなだいすき、安全安心のkazeburo wareであるところのDBIx::Sunnyですが、この度、バージョン0.9991をリリースしました。pull requestを送りまくっていたら、コラボを頂いたといういつもの流れです。

最近の大きな更新は以下の通りです。

  • Named placeholderのサポート
  • pb_enable_utf8 のサポート
  • DBIx::Classの内部dbhとしてDBIx::Sunnyを利用したときのテストの追加

特にNamed placeholderはアツくて、以下のようにクエリ発行系のメソッドの第2引数にhashrefを渡すと利用できます。便利。

$dbh->select_all('SELECT * FROM users WHERE id IN (:ids) AND status = :status', {
    ids    => [1,2,3],
    status => 'active',
});
#SQL: 'SELECT * FROM users WHERE id IN (?,?,?) AND status = ?'
#@BIND: (1, 2, 3, 'active')

内部的には、cho45氏作のSQL::NamedPlaceholderを利用しています。このモジュールは、はてなブログ内部でも開発当初から利用されていることもあり、長らく実績のあるモジュールなので安心してご利用いただけます。

最近大きめのリファクタリングを入れたので、一旦0.9991というバージョン番号で出してますが、しばらくおいて問題なさそうならバージョン1.0000を出そうと考えています。

より便利になった、DBIx::Sunnyをぜひご利用ください。

ちなみに、Perlでversion.pmを使わないでバージョン宣言をする場合、小数点以下は4桁にするのが良いんじゃないかと最近は考えています。ちなみにPlackもそうなってました。

それは、Perlのバージョン番号の変換ルールの仕様で、マイナーバージョンとパッチバージョンは小数点以下3桁ごとに区切られるからです。

つまり、0.9991は、v0.999.100と等価です。パッチバージョンをまともに3桁割り当てると、小数点以下6桁になって見づらくなってしまうので4桁にするのが穏当なのではないか。

ところで、version.pmを使わないでバージョン宣言をするのは、そのモジュールがPerl5.8系をサポート対象とする場合の話で、Perl5.8系を切り捨てて良いのであれば、素直に、version.pmを使ったほうが良いでしょう。

created at
last modified at

2018-07-30T01:47:23+0900

comments powered by Disqus