[Groonga-commit] groonga/groonga at 1c24a6c [master] delete: log N deleted and N error records

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index