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 \"$\"");
}