null+****@clear*****
null+****@clear*****
2012年 2月 3日 (金) 11:43:41 JST
Kouhei Sutou 2012-02-03 11:43:41 +0900 (Fri, 03 Feb 2012) New Revision: 82b5f89586595f9e4b8d44443c681d2a447e8a48 Log: [delete] add more information on syntax error. Modified files: lib/proc.c test/unit/core/test-command-delete.c Modified: lib/proc.c (+8 -0) =================================================================== --- lib/proc.c 2012-02-03 11:38:06 +0900 (d8c20a2) +++ lib/proc.c 2012-02-03 11:43:41 +0900 (b896eb9) @@ -1845,7 +1845,15 @@ proc_delete(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) NULL, GRN_OP_MATCH, GRN_OP_AND, GRN_EXPR_SYNTAX_SCRIPT); if (ctx->rc) { + char original_error_message[GRN_CTX_MSGSIZE]; + strcpy(original_error_message, ctx->errbuf); rc = ctx->rc; + ERR(rc, + "[table][record][delete] failed to parse filter: " + "table: <%.*s>, filter: <%.*s>, detail: <%s>", + GRN_TEXT_LEN(table_name), GRN_TEXT_VALUE(table_name), + GRN_TEXT_LEN(filter), GRN_TEXT_VALUE(filter), + original_error_message); } else { grn_obj *records; Modified: test/unit/core/test-command-delete.c (+2 -1) =================================================================== --- test/unit/core/test-command-delete.c 2012-02-03 11:38:06 +0900 (9f8fe20) +++ test/unit/core/test-command-delete.c 2012-02-03 11:43:41 +0900 (d6c0fef) @@ -400,6 +400,7 @@ test_invalid_filter(void) grn_test_assert_send_command_error( context, GRN_SYNTAX_ERROR, - "Syntax error! ($)", + "[table][record][delete] failed to parse filter: " + "table: <Users>, filter: <$>, detail: <Syntax error! ($)>", "delete Users --filter \"$\""); }