Kouhei Sutou
null+****@clear*****
Wed Dec 6 14:06:32 JST 2017
Kouhei Sutou 2017-12-06 14:06:32 +0900 (Wed, 06 Dec 2017) New Revision: 1c24a6c0eb7a412f121b039f00a9dc882acfb837 https://github.com/groonga/groonga/commit/1c24a6c0eb7a412f121b039f00a9dc882acfb837 Message: delete: log N deleted and N error records Added files: test/command/suite/delete/filter/query_log.expected test/command/suite/delete/filter/query_log.test test/command/suite/delete/id/query_log.expected test/command/suite/delete/id/query_log.test test/command/suite/delete/key/query_log.expected test/command/suite/delete/key/query_log.test Modified files: lib/proc.c Modified: lib/proc.c (+23 -0) =================================================================== --- lib/proc.c 2017-12-07 11:10:56 +0900 (d92a5f16e) +++ lib/proc.c 2017-12-06 14:06:32 +0900 (4290eafd2) @@ -574,6 +574,8 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) grn_obj *id = VAR(2); grn_obj *filter = VAR(3); grn_obj *table = NULL; + uint32_t n_deleted = 0; + uint32_t n_errors = 0; if (GRN_TEXT_LEN(table_name) == 0) { rc = GRN_INVALID_ARGUMENT; @@ -598,6 +600,11 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) rc = ctx->rc; } else { rc = grn_table_delete(ctx, table, GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key)); + if (rc == GRN_SUCCESS) { + n_deleted++; + } else { + n_errors++; + } if (key == &casted_key) { GRN_OBJ_FIN(ctx, &casted_key); } @@ -607,6 +614,11 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) grn_id parsed_id = grn_atoui(GRN_TEXT_VALUE(id), GRN_BULK_CURR(id), &end); if (end == GRN_BULK_CURR(id)) { rc = grn_table_delete_by_id(ctx, table, parsed_id); + if (rc == GRN_SUCCESS) { + n_deleted++; + } else { + n_errors++; + } } else { rc = GRN_INVALID_ARGUMENT; ERR(rc, @@ -651,6 +663,11 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) id = *(grn_id *)key; sub_rc = grn_table_delete_by_id(ctx, table, id); + if (sub_rc == GRN_SUCCESS) { + n_deleted++; + } else { + n_errors++; + } if (rc == GRN_SUCCESS) { rc = sub_rc; } @@ -668,6 +685,12 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) } exit : + GRN_QUERY_LOG(ctx, GRN_QUERY_LOG_SIZE, + ":", "delete(%u)", + n_deleted); + GRN_QUERY_LOG(ctx, GRN_QUERY_LOG_SIZE, + ":", "error(%u)", + n_errors); if (table) { grn_obj_unlink(ctx, table); } Added: test/command/suite/delete/filter/query_log.expected (+16 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/filter/query_log.expected 2017-12-06 14:06:32 +0900 (1276d8777) @@ -0,0 +1,16 @@ +table_create Users TABLE_PAT_KEY ShortText +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] +[[0,0.0,0.0],3] +delete --table Users --filter '_key @^ "b"' +[[0,0.0,0.0],true] +#>delete --filter "_key @^ \"b\"" --table "Users" +#:000000000000000 filter(2) +#:000000000000000 delete(2) +#:000000000000000 error(0) +#<000000000000000 rc=0 Added: test/command/suite/delete/filter/query_log.test (+12 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/filter/query_log.test 2017-12-06 14:06:32 +0900 (59f1fd489) @@ -0,0 +1,12 @@ +table_create Users TABLE_PAT_KEY ShortText + +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] + +#@collect-query-log true +delete --table Users --filter '_key @^ "b"' +#@collect-query-log false Added: test/command/suite/delete/id/query_log.expected (+15 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/id/query_log.expected 2017-12-06 14:06:32 +0900 (e8c884758) @@ -0,0 +1,15 @@ +table_create Users TABLE_PAT_KEY ShortText +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] +[[0,0.0,0.0],3] +delete --table Users --id 2 +[[0,0.0,0.0],true] +#>delete --id "2" --table "Users" +#:000000000000000 delete(1) +#:000000000000000 error(0) +#<000000000000000 rc=0 Added: test/command/suite/delete/id/query_log.test (+12 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/id/query_log.test 2017-12-06 14:06:32 +0900 (c9f4d4835) @@ -0,0 +1,12 @@ +table_create Users TABLE_PAT_KEY ShortText + +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] + +#@collect-query-log true +delete --table Users --id 2 +#@collect-query-log false Added: test/command/suite/delete/key/query_log.expected (+15 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/key/query_log.expected 2017-12-06 14:06:32 +0900 (f00fd41ff) @@ -0,0 +1,15 @@ +table_create Users TABLE_PAT_KEY ShortText +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] +[[0,0.0,0.0],3] +delete --table Users --key 'bob' +[[0,0.0,0.0],true] +#>delete --key "bob" --table "Users" +#:000000000000000 delete(1) +#:000000000000000 error(0) +#<000000000000000 rc=0 Added: test/command/suite/delete/key/query_log.test (+12 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/delete/key/query_log.test 2017-12-06 14:06:32 +0900 (de0d61c14) @@ -0,0 +1,12 @@ +table_create Users TABLE_PAT_KEY ShortText + +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"} +] + +#@collect-query-log true +delete --table Users --key 'bob' +#@collect-query-log false -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20171206/6cf86b30/attachment-0001.htm