トップ «前の日記(■2011-05-20) 最新 次の日記(■2011-05-30)» 編集

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|07|10|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2011-05-24

* [Perl] 最近のDBIx::Skinnyのprofilerでtxn_*系のログをとるB!

 DBIx::Skinnyは環境変数SKINNY_PROFILESKINNY_TRACEを有効にすることで発行されるSQL文のログをとれることはご承知の通り。ところが最近はトランザクション管理をDBIx::TransactionManagerに任せるようになってこの部分(txn_begin → BEGIN WORK、txn_commit → COMMIT WORK とtxn_roallback → ROLLBACK WORK)は記録がとれないです。DBIx::TransactionManagerがtxn_*したときにhookルーチンを呼び出す機能があれば解決するでしょうが、汎用的なモジュールであることや、そもそもtxn_*のログを取りたいという需要がほとんどないであろうことを考えると、自分でなんとかしろという感じです。なので継ぎ接ぎ的なモジュールでしのぐことに。

 package Your::DB::Schema;
 
 use DBIx::Skinny connect_info => ...;
 use DBIx::Skinny::ProfilableTransaction;
 1;

まあ、DBIx::QueryLogとかDBIの機能使え、ってな話ではありますが。

[]