[Groonga-commit] groonga/groonga at 92f827a [master] dump: use dumper member instead of passing as a function argument

Zurück zum Archiv-Index

Kouhei Sutou null+****@clear*****
Fri Jul 14 15:38:23 JST 2017


Kouhei Sutou	2017-07-14 15:38:23 +0900 (Fri, 14 Jul 2017)

  New Revision: 92f827a1e5a8c1543f37ed02dbc7f8d2b275b541
  https://github.com/groonga/groonga/commit/92f827a1e5a8c1543f37ed02dbc7f8d2b275b541

  Message:
    dump: use dumper member instead of passing as a function argument

  Modified files:
    lib/proc/proc_dump.c

  Modified: lib/proc/proc_dump.c (+14 -13)
===================================================================
--- lib/proc/proc_dump.c    2017-07-14 15:33:37 +0900 (db6aab1)
+++ lib/proc/proc_dump.c    2017-07-14 15:38:23 +0900 (c7be974)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2 -*- */
 /*
-  Copyright(C) 2009-2016 Brazil
+  Copyright(C) 2009-2017 Brazil
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -30,6 +30,7 @@ typedef struct {
   grn_bool is_close_opened_object_mode;
   grn_bool have_reference_column;
   grn_bool have_index_column;
+  grn_bool is_sort_hash_table;
 } grn_dumper;
 
 static void
@@ -497,7 +498,7 @@ dump_records_internal(grn_ctx *ctx, grn_dumper *dumper,
   }
 }
 static void
-dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table, grn_bool is_sort_hash_table)
+dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table)
 {
   grn_id old_id = 0, id;
   grn_table_cursor *cursor;
@@ -613,7 +614,7 @@ dump_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *table, grn_bool is_sort_
 
   GRN_TEXT_INIT(&delete_commands, 0);
 
-  if (table->header.type == GRN_TABLE_HASH_KEY && is_sort_hash_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;
@@ -881,7 +882,7 @@ dump_schema(grn_ctx *ctx, grn_dumper *dumper)
 }
 
 static void
-dump_selected_tables_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *tables, grn_bool is_sort_hash_table)
+dump_selected_tables_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *tables)
 {
   const char *p, *e;
 
@@ -933,14 +934,14 @@ dump_selected_tables_records(grn_ctx *ctx, grn_dumper *dumper, grn_obj *tables,
     }
 
     if (grn_obj_is_table(ctx, table)) {
-      dump_records(ctx, dumper, table, is_sort_hash_table);
+      dump_records(ctx, dumper, table);
     }
     grn_obj_unlink(ctx, table);
   }
 }
 
 static void
-dump_all_records(grn_ctx *ctx, grn_dumper *dumper, grn_bool is_sort_hash_table)
+dump_all_records(grn_ctx *ctx, grn_dumper *dumper)
 {
   GRN_DB_EACH_BEGIN_BY_KEY(ctx, cursor, id) {
     void *name;
@@ -971,7 +972,7 @@ dump_all_records(grn_ctx *ctx, grn_dumper *dumper, grn_bool is_sort_hash_table)
     }
 
     if (grn_obj_is_table(ctx, table)) {
-      dump_records(ctx, dumper, table, is_sort_hash_table);
+      dump_records(ctx, dumper, table);
     }
 
   next_loop :
@@ -1041,7 +1042,6 @@ command_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
   grn_bool is_dump_records;
   grn_bool is_dump_indexes;
   grn_bool is_dump_configs;
-  grn_bool is_sort_hash_table;
 
   dumper.output = ctx->impl->output.buf;
   if (grn_thread_get_limit() == 1) {
@@ -1068,9 +1068,10 @@ command_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
   is_dump_configs = grn_plugin_proc_get_var_bool(ctx, user_data,
                                                  "dump_configs", -1,
                                                  GRN_TRUE);
-  is_sort_hash_table = grn_plugin_proc_get_var_bool(ctx, user_data,
-                                                 "sort_hash_table", -1,
-                                                 GRN_FALSE);
+  dumper.is_sort_hash_table =
+    grn_plugin_proc_get_var_bool(ctx, user_data,
+                                 "sort_hash_table", -1,
+                                 GRN_FALSE);
 
   grn_ctx_set_output_type(ctx, GRN_CONTENT_GROONGA_COMMAND_LIST);
 
@@ -1090,9 +1091,9 @@ command_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
        load non-derivative records, while skipping records of index columns. That
        way, Groonga will silently do the job of updating index columns for us. */
     if (GRN_TEXT_LEN(tables) > 0) {
-      dump_selected_tables_records(ctx, &dumper, tables, is_sort_hash_table);
+      dump_selected_tables_records(ctx, &dumper, tables);
     } else {
-      dump_all_records(ctx, &dumper, is_sort_hash_table);
+      dump_all_records(ctx, &dumper);
     }
   }
   if (is_dump_indexes) {
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index