Kouhei Sutou
kou****@clear*****
2009年 11月 13日 (金) 14:34:35 JST
須藤です。 grn_obj_cast()が GRN_DB_INT8/GRN_DB_INT16/GRN_DB_UINT8/GRN_DB_UINT16に対応し ていないので、それらがキーのハッシュテーブルにデータをloadす ることができません。 GRN_DB_INT16の場合は以下のようにテストを実行できます。 % NO_CUTTER=yes test/unit/run-test.sh -n test_int16_key たぶん、こんな風になるとよいのだと思いますが、GRN_INT8_SET() などがないので、もう少しコードが必要そうです。 diff --git a/lib/db.c b/lib/db.c index 232c17a..4841928 100644 --- a/lib/db.c +++ b/lib/db.c @@ -3525,6 +3525,12 @@ grn_obj_cast(grn_ctx *ctx, grn_obj *src, grn_obj *dest, int addp) case GRN_DB_TEXT : case GRN_DB_LONG_TEXT : switch (dest->header.domain) { + case GRN_DB_INT8 : + TEXT2DEST(int8_t, grn_atoi, GRN_INT8_SET); + break; + case GRN_DB_INT16 : + TEXT2DEST(int16_t, grn_atoi, GRN_INT16_SET); + break; case GRN_DB_INT32 : TEXT2DEST(int32_t, grn_atoi, GRN_INT32_SET); break; -- -------------------------------------------------------- 各種ブラウザ向けツールバーやプラグインの開発を承ります。 また、ブラウザからICカードやカメラなどのハードウェアへ アクセスする機能の開発も承ります。 -------------------------------------------------------- 株式会社クリアコード 須藤功平 <kou****@clear*****> Tel: 03(6231)7270 URL: http://www.clear-code.com/ --------------------------------------------------------