Kouhei Sutou 2018-10-25 20:28:02 +0900 (Thu, 25 Oct 2018) Revision: 44ded5b3306a4494ae0a32454bb2decb2688be81 https://github.com/groonga/groonga/commit/44ded5b3306a4494ae0a32454bb2decb2688be81 Message: truncate: support table that has normalizer options Modified files: lib/db.c test/command/suite/truncate/table/normalizer_dat.expected test/command/suite/truncate/table/normalizer_dat.test test/command/suite/truncate/table/normalizer_hash.expected test/command/suite/truncate/table/normalizer_hash.test test/command/suite/truncate/table/normalizer_pat.expected test/command/suite/truncate/table/normalizer_pat.test Modified: lib/db.c (+7 -3) =================================================================== --- lib/db.c 2018-10-25 17:14:46 +0900 (ba3a760a1) +++ lib/db.c 2018-10-25 20:28:02 +0900 (323f81479) @@ -2339,7 +2339,7 @@ grn_table_truncate(grn_ctx *ctx, grn_obj *table) grn_hook *hooks; grn_hash *cols; grn_obj tokenizer; - grn_obj *normalizer; + grn_obj normalizer; grn_obj token_filters; if ((cols = grn_hash_create(ctx, NULL, sizeof(grn_id), 0, GRN_OBJ_TABLE_HASH_KEY|GRN_HASH_TINY))) { @@ -2355,7 +2355,8 @@ grn_table_truncate(grn_ctx *ctx, grn_obj *table) if (table->header.type != GRN_TABLE_NO_KEY) { GRN_TEXT_INIT(&tokenizer, 0); grn_table_get_default_tokenizer_string(ctx, table, &tokenizer); - grn_table_get_info(ctx, table, NULL, NULL, NULL, &normalizer, NULL); + GRN_TEXT_INIT(&normalizer, 0); + grn_table_get_normalizer_string(ctx, table, &normalizer); GRN_PTR_INIT(&token_filters, GRN_OBJ_VECTOR, GRN_ID_NIL); grn_obj_get_info(ctx, table, GRN_INFO_TOKEN_FILTERS, &token_filters); } @@ -2396,7 +2397,10 @@ grn_table_truncate(grn_ctx *ctx, grn_obj *table) grn_obj_set_info(ctx, table, GRN_INFO_DEFAULT_TOKENIZER, &tokenizer); } GRN_OBJ_FIN(ctx, &tokenizer); - grn_obj_set_info(ctx, table, GRN_INFO_NORMALIZER, normalizer); + if (GRN_TEXT_LEN(&normalizer) > 0) { + grn_obj_set_info(ctx, table, GRN_INFO_NORMALIZER, &normalizer); + } + GRN_OBJ_FIN(ctx, &normalizer); grn_obj_set_info(ctx, table, GRN_INFO_TOKEN_FILTERS, &token_filters); GRN_OBJ_FIN(ctx, &token_filters); } Modified: test/command/suite/truncate/table/normalizer_dat.expected (+3 -3) =================================================================== --- test/command/suite/truncate/table/normalizer_dat.expected 2018-10-25 17:14:46 +0900 (ed4c35fe5) +++ test/command/suite/truncate/table/normalizer_dat.expected 2018-10-25 20:28:02 +0900 (2a27213eb) @@ -1,8 +1,8 @@ -table_create Tags TABLE_DAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_DAT_KEY ShortText --normalizer 'NormalizerNFKC100("unify_kana", true)' [[0,0.0,0.0],true] dump -table_create Tags TABLE_DAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_DAT_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" truncate Tags [[0,0.0,0.0],true] dump -table_create Tags TABLE_DAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_DAT_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" Modified: test/command/suite/truncate/table/normalizer_dat.test (+2 -1) =================================================================== --- test/command/suite/truncate/table/normalizer_dat.test 2018-10-25 17:14:46 +0900 (a52784aca) +++ test/command/suite/truncate/table/normalizer_dat.test 2018-10-25 20:28:02 +0900 (477a2ad50) @@ -1,4 +1,5 @@ -table_create Tags TABLE_DAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_DAT_KEY ShortText \ + --normalizer 'NormalizerNFKC100("unify_kana", true)' dump truncate Tags Modified: test/command/suite/truncate/table/normalizer_hash.expected (+3 -3) =================================================================== --- test/command/suite/truncate/table/normalizer_hash.expected 2018-10-25 17:14:46 +0900 (01434ac84) +++ test/command/suite/truncate/table/normalizer_hash.expected 2018-10-25 20:28:02 +0900 (926aba2b4) @@ -1,8 +1,8 @@ -table_create Tags TABLE_HASH_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_HASH_KEY ShortText --normalizer 'NormalizerNFKC100("unify_kana", true)' [[0,0.0,0.0],true] dump -table_create Tags TABLE_HASH_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_HASH_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" truncate Tags [[0,0.0,0.0],true] dump -table_create Tags TABLE_HASH_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_HASH_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" Modified: test/command/suite/truncate/table/normalizer_hash.test (+2 -1) =================================================================== --- test/command/suite/truncate/table/normalizer_hash.test 2018-10-25 17:14:46 +0900 (086f84517) +++ test/command/suite/truncate/table/normalizer_hash.test 2018-10-25 20:28:02 +0900 (7ed0dfe36) @@ -1,4 +1,5 @@ -table_create Tags TABLE_HASH_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_HASH_KEY ShortText \ + --normalizer 'NormalizerNFKC100("unify_kana", true)' dump truncate Tags Modified: test/command/suite/truncate/table/normalizer_pat.expected (+3 -3) =================================================================== --- test/command/suite/truncate/table/normalizer_pat.expected 2018-10-25 17:14:46 +0900 (c0d46c882) +++ test/command/suite/truncate/table/normalizer_pat.expected 2018-10-25 20:28:02 +0900 (2757269ac) @@ -1,8 +1,8 @@ -table_create Tags TABLE_PAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_PAT_KEY ShortText --normalizer 'NormalizerNFKC100("unify_kana", true)' [[0,0.0,0.0],true] dump -table_create Tags TABLE_PAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_PAT_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" truncate Tags [[0,0.0,0.0],true] dump -table_create Tags TABLE_PAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_PAT_KEY ShortText --normalizer "NormalizerNFKC100(\"unify_kana\", true)" Modified: test/command/suite/truncate/table/normalizer_pat.test (+2 -1) =================================================================== --- test/command/suite/truncate/table/normalizer_pat.test 2018-10-25 17:14:46 +0900 (cb0d3b5bc) +++ test/command/suite/truncate/table/normalizer_pat.test 2018-10-25 20:28:02 +0900 (e6a2e8acf) @@ -1,4 +1,5 @@ -table_create Tags TABLE_PAT_KEY ShortText --normalizer NormalizerNFKC51 +table_create Tags TABLE_PAT_KEY ShortText \ + --normalizer 'NormalizerNFKC100("unify_kana", true)' dump truncate Tags -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20181025/64cc6caa/attachment-0001.html>