トップ «前の日記(■2004-12-26) 最新 次の日記(■2005-01-01)» 編集

どんぞこ日誌

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|

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


■2004-12-29

* [Perl] Class::DBI::Plugin::Iteratorの改造2B!

 Class::DBI::Plugin::Iteratorのcountは、SELECT 〜 FROMの部分を一律にSELECT count(*) FROM に書き換えるので、Music::CD->search(year => 2004, {order_by => 'artist'});のようにORDER BYを利用すると動作しません。また例えばset_sqlを通じてGROUP BYを利用する場合、期待通りには動かないはずです。そこでnextに続き、countも改造してみました。
  ORDER BY節は削除し、GROUP BY節は副問い合わせにします(ので、FROM節で副問い合わせのできないシステムではGROUP BYを入れるとcountできません)。
  あとイテレータの切り替え用にplugin_iterator_offというクラスメソッドも追加。また、next_cache_numをイテレータ側にもオブジェクトメソッドとして導入。これで大分使い勝手がよくなりました。 (v.0.3との差分

* [雑感] としB!

 今年も無事齢を重ねることができました。ありがとうございます。世界に感謝。

[]