[Groonga-commit] groonga/groonga at 86fa638 [master] dump: reduce allocated memory

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Jul 14 15:57:39 JST 2017


Kouhei Sutou	2017-07-14 15:57:39 +0900 (Fri, 14 Jul 2017)

  New Revision: 86fa638d132681f792c6d121efeed94fd9c7ccdf
  https://github.com/groonga/groonga/commit/86fa638d132681f792c6d121efeed94fd9c7ccdf

  Message:
    dump: reduce allocated memory

  Modified files:
    lib/proc/proc_dump.c

  Modified: lib/proc/proc_dump.c (+8 -8)
===================================================================
--- lib/proc/proc_dump.c    2017-07-14 15:54:56 +0900 (1d29fa5)
+++ lib/proc/proc_dump.c    2017-07-14 15:57:39 +0900 (a2345c3)
@@ -615,14 +615,15 @@ dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table)
 
   if (table->header.type == GRN_TABLE_HASH_KEY && dumper->is_sort_hash_table) {
     grn_obj *sorted;
-    grn_table_sort_key *sort_keys;
-    uint32_t n_sort_keys;
+    grn_table_sort_key sort_keys[1];
+    uint32_t n_sort_keys = 1;
     grn_bool is_first_record = GRN_TRUE;
 
-    sort_keys = grn_table_sort_key_from_str(ctx,
-                                            "_key", strlen("_key"),
-                                            table,
-                                            &n_sort_keys);
+    sort_keys[0].key = grn_obj_column(ctx, table,
+                                      GRN_COLUMN_NAME_KEY,
+                                      GRN_COLUMN_NAME_KEY_LEN);
+    sort_keys[0].flags = GRN_TABLE_SORT_ASC;
+    sort_keys[0].offset = 0;
     sorted = grn_table_create(ctx,
                               NULL, 0, NULL,
                               GRN_TABLE_NO_KEY,
@@ -637,7 +638,6 @@ dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table)
                                    NULL, 0, NULL, 0,
                                    0, -1,
                                    0);
-
     while (grn_table_cursor_next(ctx, cursor) != GRN_ID_NIL) {
       void *value_raw;
       grn_id id;
@@ -653,7 +653,7 @@ dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table)
       dump_record(ctx, dumper, table, id, &columns, n_columns);
     }
     GRN_TEXT_PUTS(ctx, dumper->output, "\n]\n");
-    grn_table_sort_key_close(ctx, sort_keys, n_sort_keys);
+    grn_obj_unlink(ctx, sort_keys[0].key);
   } else {
     grn_obj delete_commands;
     grn_id old_id = GRN_ID_NIL;
-------------- next part --------------
HTML����������������������������...
Télécharger 



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