Kouhei Sutou
null+****@clear*****
Thu Jun 22 16:46:08 JST 2017
Kouhei Sutou 2017-06-22 16:46:08 +0900 (Thu, 22 Jun 2017) New Revision: 5f6114a3c71621894b3babf11bd2467b73b9cbcb https://github.com/groonga/groonga/commit/5f6114a3c71621894b3babf11bd2467b73b9cbcb Message: mrb: add Table#truncate and Column#truncate Modified files: lib/mrb/mrb_column.c lib/mrb/mrb_table.c Modified: lib/mrb/mrb_column.c (+15 -0) =================================================================== --- lib/mrb/mrb_column.c 2017-06-22 16:09:03 +0900 (57c72cf) +++ lib/mrb/mrb_column.c 2017-06-22 16:46:08 +0900 (268558d) @@ -124,6 +124,18 @@ mrb_grn_column_get_table(mrb_state *mrb, mrb_value self) return grn_mrb_value_from_grn_obj(mrb, table); } +static mrb_value +mrb_grn_column_truncate(mrb_state *mrb, mrb_value self) +{ + grn_ctx *ctx = (grn_ctx *)mrb->ud; + grn_obj *column; + + column = DATA_PTR(self); + grn_column_truncate(ctx, column); + grn_mrb_ctx_check(mrb); + return mrb_nil_value(); +} + void grn_mrb_column_init(grn_ctx *ctx) { @@ -154,5 +166,8 @@ grn_mrb_column_init(grn_ctx *ctx) mrb_define_method(mrb, klass, "table", mrb_grn_column_get_table, MRB_ARGS_NONE()); + + mrb_define_method(mrb, klass, "truncate", + mrb_grn_column_truncate, MRB_ARGS_NONE()); } #endif Modified: lib/mrb/mrb_table.c (+15 -0) =================================================================== --- lib/mrb/mrb_table.c 2017-06-22 16:09:03 +0900 (f7bfb6f) +++ lib/mrb/mrb_table.c 2017-06-22 16:46:08 +0900 (baf110a) @@ -376,6 +376,18 @@ mrb_grn_table_delete(mrb_state *mrb, mrb_value self) } static mrb_value +mrb_grn_table_truncate(mrb_state *mrb, mrb_value self) +{ + grn_ctx *ctx = (grn_ctx *)mrb->ud; + grn_obj *table; + + table = DATA_PTR(self); + grn_table_truncate(ctx, table); + grn_mrb_ctx_check(mrb); + return mrb_nil_value(); +} + +static mrb_value mrb_grn_table_apply_expression(mrb_state *mrb, mrb_value self) { grn_ctx *ctx = (grn_ctx *)mrb->ud; @@ -470,6 +482,9 @@ grn_mrb_table_init(grn_ctx *ctx) mrb_define_method(mrb, klass, "delete", mrb_grn_table_delete, MRB_ARGS_REQ(1)); + mrb_define_method(mrb, klass, "truncate", + mrb_grn_table_truncate, MRB_ARGS_NONE()); + mrb_define_method(mrb, klass, "apply_expression", mrb_grn_table_apply_expression, MRB_ARGS_REQ(2)); mrb_define_method(mrb, klass, "apply_window_function_raw", -------------- next part -------------- HTML����������������������������...Download