TokyoTyrantのRDBQRYで否定条件を試す

試すというか、やり方がわからなかったんで、調べたメモ。

合致条件の真偽を反転させるには、各演算子と `TDBQCNEGATE' のビット和を用います(コマンドラインでは "~" を接頭させます)。
http://fallabs.com/tokyocabinet/spex-ja.html

って書いてあるけど、どうやってやるのかわからな(ry

addcondで、$qry->QCNEGATEを指定すればいいのはわかったんですが、どうやってやるのかわからな(ry

で、調べたり、色々やった結果、「|」で繋げばいいらしい。

use TokyoTyrant;
my $rdb = TokyoTyrant::RDBTBL->new();
$rdb->open("localhost", 1978) or die "open error: ".$rdb->errmsg($rdb->ecode);
my $qry = TokyoTyrant::RDBQRY->new($rdb);
# nameにhogeを含む
$qry->addcond( 'name' , $qry->QCSTRINC, 'hoge');
# nameにfooを含まない
$qry->addcond( 'name' , $qry->QCSTRINC | $qry->QCNEGATE, 'foo');
my $res = $qry->search();

そのうち、もう少しサンプルをまとめておきたいなぁ。

ちなみに、TokyoTyrantの略称はTTなんですかね?

Template::Toolkitが、TT2なんで、微妙に間違えません?w