[groonga-dev,00226] Re: grn_expr_snip()とAND

Back to archive index

morit****@razil***** morit****@razil*****
2009年 10月 1日 (木) 10:01:53 JST


森です。

ご指摘ありがとうございます!

とりあえず修正しました。(もう少しよく調べますが)

よろしくおねがいします。

>>> Kouhei Sutou さんは書きました:
> 須藤です。
> 
> grn_expr_snip()するgrn_exprがANDを含んでいるとunmatched
> parenthesisとエラーを吐いちゃうみたいです。
> 
> 例えば、こんな風にテストを変更して
> 
> diff --git a/test/unit/core/test-expr.c b/test/unit/core/test-expr.c
> index cb741fd..cd30dbb 100644
> --- a/test/unit/core/test-expr.c
> +++ b/test/unit/core/test-expr.c
> @@ -1172,7 +1172,7 @@ test_expr_snip(void)
>    GRN_EXPR_CREATE_FOR_QUERY(&context, docs, expr, v);
>    cut_assert_not_null(expr);
>  
> -  PARSE(expr, "search OR engine OR column", 1);
> +  PARSE(expr, "search engine column", 1);
>  
>    {
>      grn_snip *snip;
> 
> 実行すると、
> 
>   % test/unit/run-test.sh -n /expr_snip/
> 
> こんな風になって、
> 
>   F
> 
>   1) Failure: test_expr_snip
>   expected: <snip> is not NULL
>   test/unit/core/test-expr.c:1202: test_expr_snip(): cut_assert_not_null(snip, )
> 
>   Finished in 0.111184 seconds (total: 0.031137 seconds)
> 
>   1 test(s), 27 assertion(s), 1 failure(s), 0 error(s), 0 pending(s), 0 omission(s), 0 notification(s)
>   0% passed
> 
> /var/log/groonga/groonga.logに
> 
>   2009-09-30 20:50:57.559826|n| grn_init
>   2009-09-30 20:50:57.656092|e| unmatched parenthesis
>   2009-09-30 20:50:57.656487|e|
>   /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0 [0x7f6e6d1c2e65] <=
>   /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0 [0x7f6e6d1c3b1d] <=
>   /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0(grn_expr_snip+0xb6) [0x7f6e6d1d01bb] <=
>   test/unit/core/.libs/test-expr.so(test_expr_snip+0x358) [0x7f6e6870756d] <=
>   /usr/lib/libcutter.so.0 [0x7f6e6f26731d] <=
>   /usr/lib/libcutter.so.0 [0x7f6e6f269d48] <=
>   /usr/lib/libcutter.so.0(cut_test_case_run_with_filter+0x62) [0x7f6e6f269dc2] <=
>   /usr/lib/libcutter.so.0 [0x7f6e6f26a7d9] <=
>   /usr/lib/libcutter.so.0 [0x7f6e6f26ac08] <=
>   /usr/lib/libcutter.so.0(cut_test_suite_run_with_filter+0x70) [0x7f6e6f26aeb0] <=
>   /usr/lib/libcutter.so.0 [0x7f6e6f2657d0] <=
>   /usr/lib/libcutter.so.0(cut_runner_run+0x38) [0x7f6e6f263d28] <=
>   /usr/lib/libcutter.so.0(cut_run_context_start+0x42) [0x7f6e6f260a82] <=
>   /usr/lib/libcutter.so.0(cut_start_run_context+0x14b) [0x7f6e6f265b9b] <=
>   /usr/lib/libcutter.so.0(cut_run+0x2c) [0x7f6e6f265d3c] <=
>   /usr/bin/cutter [0x40072f]
>   2009-09-30 20:50:57.668563|n| grn_fin (1)
> 
> とでます。
> 
> エラーになるとしても「unmatched parenthesis」ではないメッセー
> ジの方がよいかと思います。
> 
> -- 
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード (http://www.clear-code.com/)
> 
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> 
--
morita




groonga-dev メーリングリストの案内
Back to archive index