Kouhei Sutou
null+****@clear*****
Sat Apr 4 22:29:14 JST 2015
Kouhei Sutou 2015-04-04 22:29:14 +0900 (Sat, 04 Apr 2015) New Revision: b2aeffbf9951d370846f872bb3a999b4f6a91824 https://github.com/groonga/groonga/commit/b2aeffbf9951d370846f872bb3a999b4f6a91824 Message: dump: add --dump_records option You can disable dumping records by "--dump_records no". Added files: test/command/suite/dump/record/dump_records_no.expected test/command/suite/dump/record/dump_records_no.test Modified files: lib/proc.c Modified: lib/proc.c (+14 -8) =================================================================== --- lib/proc.c 2015-04-04 22:25:00 +0900 (a69dba8) +++ lib/proc.c 2015-04-04 22:29:14 +0900 (723a4a7) @@ -3437,13 +3437,16 @@ proc_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) grn_obj *tables = VAR(0); grn_obj *dump_plugins_raw = VAR(1); grn_obj *dump_schema_raw = VAR(2); + grn_obj *dump_records_raw = VAR(3); grn_bool is_dump_plugins; grn_bool is_dump_schema; + grn_bool is_dump_records; grn_ctx_set_output_type(ctx, GRN_CONTENT_GROONGA_COMMAND_LIST); is_dump_plugins = bool_option_value(dump_plugins_raw, GRN_TRUE); is_dump_schema = bool_option_value(dump_schema_raw, GRN_TRUE); + is_dump_records = bool_option_value(dump_records_raw, GRN_TRUE); if (is_dump_plugins) { dump_plugins(ctx, outbuf); @@ -3451,13 +3454,15 @@ proc_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) if (is_dump_schema) { dump_schema(ctx, outbuf); } - /* To update index columns correctly, we first create the whole schema, then - 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, outbuf, tables); - } else { - dump_all_records(ctx, outbuf); + if (is_dump_records) { + /* To update index columns correctly, we first create the whole schema, then + 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, outbuf, tables); + } else { + dump_all_records(ctx, outbuf); + } } dump_indexes(ctx, outbuf); @@ -6812,7 +6817,8 @@ grn_db_init_builtin_query(grn_ctx *ctx) DEF_VAR(vars[0], "tables"); DEF_VAR(vars[1], "dump_plugins"); DEF_VAR(vars[2], "dump_schema"); - DEF_COMMAND("dump", proc_dump, 3, vars); + DEF_VAR(vars[3], "dump_records"); + DEF_COMMAND("dump", proc_dump, 4, vars); /* Deprecated. Use "plugin_register" instead. */ DEF_VAR(vars[0], "path"); Added: test/command/suite/dump/record/dump_records_no.expected (+24 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/dump/record/dump_records_no.expected 2015-04-04 22:29:14 +0900 (f717ae4) @@ -0,0 +1,24 @@ +plugin_register token_filters/stop_word +[[0,0.0,0.0],true] +table_create Users TABLE_HASH_KEY ShortText +[[0,0.0,0.0],true] +column_create Users name COLUMN_SCALAR ShortText +[[0,0.0,0.0],true] +table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto +[[0,0.0,0.0],true] +column_create Terms users_name_index COLUMN_INDEX|WITH_POSITION Users name +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice", "name": "Alice"} +] +[[0,0.0,0.0],1] +dump --dump_records no +plugin_register token_filters/stop_word + +table_create Users TABLE_HASH_KEY ShortText +column_create Users name COLUMN_SCALAR ShortText + +table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto + +column_create Terms users_name_index COLUMN_INDEX|WITH_POSITION Users name Added: test/command/suite/dump/record/dump_records_no.test (+16 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/dump/record/dump_records_no.test 2015-04-04 22:29:14 +0900 (9f5257b) @@ -0,0 +1,16 @@ +plugin_register token_filters/stop_word + +table_create Users TABLE_HASH_KEY ShortText +column_create Users name COLUMN_SCALAR ShortText + +table_create Terms TABLE_PAT_KEY ShortText \ + --default_tokenizer TokenBigram \ + --normalizer NormalizerAuto +column_create Terms users_name_index COLUMN_INDEX|WITH_POSITION Users name + +load --table Users +[ +{"_key": "alice", "name": "Alice"} +] + +dump --dump_records no -------------- next part -------------- HTML����������������������������...Download