Kouhei Sutou
null+****@clear*****
Fri Feb 20 12:00:27 JST 2015
Kouhei Sutou 2015-02-20 12:00:27 +0900 (Fri, 20 Feb 2015) New Revision: 3cacb43f02af93befbf56a68685c5e47b7959dc0 https://github.com/groonga/groonga/commit/3cacb43f02af93befbf56a68685c5e47b7959dc0 Message: mrb: use table size as fallback I think that mrb_funcall() should return value in rescue clause when the exception is handled in rescue clause. Modified files: lib/mrb/mrb_expr.c Modified: lib/mrb/mrb_expr.c (+5 -1) =================================================================== --- lib/mrb/mrb_expr.c 2015-02-20 11:42:32 +0900 (5e2f27c) +++ lib/mrb/mrb_expr.c 2015-02-20 12:00:27 +0900 (6ece6db) @@ -861,7 +861,11 @@ grn_mrb_expr_estimate_size(grn_ctx *ctx, grn_obj *expr, grn_obj *table) mrb_expression = grn_mrb_value_from_grn_obj(mrb, expr); mrb_table = grn_mrb_value_from_grn_obj(mrb, table); mrb_size = mrb_funcall(mrb, mrb_expression, "estimate_size", 1, mrb_table); - size = mrb_fixnum(mrb_size); + if (mrb->exc) { + size = grn_table_size(ctx, table); + } else { + size = mrb_fixnum(mrb_size); + } mrb_gc_arena_restore(mrb, arena_index); -------------- next part -------------- HTML����������������������������... Download