Shipped DBD::PassThrough 0.02
DBD::PassThrough という module を shipped です。
DBIx::* なモジュールの中には $dbh を引数としてうけとらないものが多いのですが、これを無理矢理うけとれるようにするという画期的なモジュールです。
my $dbh = DBI->connect('dbi:PassThrough:', '', '', {
pass_through_source => $orig_dbh,
});
という風に、$orig_dbh をわたすと、$dbh への操作がすべて $orig_dbh にデリゲートされます。
この機構により、DBIx::Handler のような、$dbh をうけとってくれない DBIx::* モジュールを利用する場合にも、無理矢理ねじこむことが可能となります。
使用例は以下のとおり。
my $handler = DBIx::Handler->new(
'dbi:PassThrough:', '', '', {
pass_through_source => $orig_dbh
}
);
まあ、むりやりねじこみたいとき専用なんで、テストとかそういう用途がメインです。はい。
Published: 2012-12-10(Mon) 05:30