[Groonga-commit] groonga/groonga [master] [delete] add more information on syntax error.

Back to archive index

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




Groonga-commit メーリングリストの案内
Back to archive index