null+****@clear*****
null+****@clear*****
2010年 7月 22日 (木) 17:01:18 JST
Nobuyoshi Nakada 2010-07-22 08:01:18 +0000 (Thu, 22 Jul 2010) New Revision: ce75142187d7effc9171e044c6b460e5654ae813 Log: use flag names for data and column dump. #352 Modified files: lib/proc.c test/unit/core/test-dump.c Modified: lib/proc.c (+10 -2) =================================================================== --- lib/proc.c 2010-07-22 07:51:20 +0000 (eb222a3) +++ lib/proc.c 2010-07-22 08:01:18 +0000 (6959f1c) @@ -1359,6 +1359,7 @@ dump_column(grn_ctx *ctx, grn_obj *outbuf , grn_obj *table, grn_obj *column) { grn_obj *type; grn_obj_flags default_flags = GRN_OBJ_PERSISTENT; + grn_obj buf; type = grn_ctx_at(ctx, ((grn_db_obj *)column)->range); if (!type) { @@ -1374,7 +1375,10 @@ dump_column(grn_ctx *ctx, grn_obj *outbuf , grn_obj *table, grn_obj *column) if (type->header.type == GRN_TYPE) { default_flags |= type->header.flags; } - grn_text_itoa(ctx, outbuf, column->header.flags & ~default_flags); + GRN_TEXT_INIT(&buf, 0); + grn_column_create_flags_to_text(ctx, &buf, column->header.flags & ~default_flags); + GRN_TEXT_PUT(ctx, outbuf, GRN_TEXT_VALUE(&buf), GRN_TEXT_LEN(&buf)); + GRN_OBJ_FIN(ctx, &buf); GRN_TEXT_PUTC(ctx, outbuf, ' '); dump_obj_name(ctx, outbuf, type); if (column->header.flags & GRN_OBJ_COLUMN_INDEX) { @@ -1673,6 +1677,7 @@ dump_table(grn_ctx *ctx, grn_obj *outbuf, grn_obj *table, grn_obj *domain = NULL, *range = NULL; grn_obj_flags default_flags = GRN_OBJ_PERSISTENT; grn_obj *default_tokenizer; + grn_obj buf; switch (table->header.type) { case GRN_TABLE_HASH_KEY: @@ -1689,7 +1694,10 @@ dump_table(grn_ctx *ctx, grn_obj *outbuf, grn_obj *table, GRN_TEXT_PUTS(ctx, outbuf, "table_create "); dump_obj_name(ctx, outbuf, table); GRN_TEXT_PUTC(ctx, outbuf, ' '); - grn_text_itoa(ctx, outbuf, table->header.flags & ~default_flags); + GRN_TEXT_INIT(&buf, 0); + grn_table_create_flags_to_text(ctx, &buf, table->header.flags & ~default_flags); + GRN_TEXT_PUT(ctx, outbuf, GRN_TEXT_VALUE(&buf), GRN_TEXT_LEN(&buf)); + GRN_OBJ_FIN(ctx, &buf); if (domain) { GRN_TEXT_PUTC(ctx, outbuf, ' '); dump_obj_name(ctx, outbuf, domain); Modified: test/unit/core/test-dump.c (+16 -16) =================================================================== --- test/unit/core/test-dump.c 2010-07-22 07:51:20 +0000 (6d96a55) +++ test/unit/core/test-dump.c 2010-07-22 08:01:18 +0000 (356afa1) @@ -222,25 +222,25 @@ static void data_hash_table_create(void) { ADD_DATA("hash", - "table_create Blog 0 ShortText\n", + "table_create Blog TABLE_HASH_KEY ShortText\n", "Blog", GRN_OBJ_TABLE_HASH_KEY, "ShortText", NULL); ADD_DATA("hash - without key", - "table_create Blog 0\n", + "table_create Blog TABLE_HASH_KEY\n", "Blog", GRN_OBJ_TABLE_HASH_KEY, NULL, NULL); ADD_DATA("hash - key normalize", - "table_create Blog 128 ShortText\n", + "table_create Blog TABLE_HASH_KEY|KEY_NORMALIZE ShortText\n", "Blog", GRN_OBJ_TABLE_HASH_KEY | GRN_OBJ_KEY_NORMALIZE, "ShortText", NULL); ADD_DATA("hash - key normalize - value", - "table_create Blog 128 ShortText Int32\n", + "table_create Blog TABLE_HASH_KEY|KEY_NORMALIZE ShortText Int32\n", "Blog", GRN_OBJ_TABLE_HASH_KEY | GRN_OBJ_KEY_NORMALIZE, "ShortText", @@ -251,7 +251,7 @@ static void data_patricia_trie_create(void) { ADD_DATA("patricia trie", - "table_create Blog 1 ShortText\n", + "table_create Blog TABLE_PAT_KEY ShortText\n", "Blog", GRN_OBJ_TABLE_PAT_KEY, "ShortText", @@ -262,13 +262,13 @@ static void data_array_create(void) { ADD_DATA("array", - "table_create Blog 3\n", + "table_create Blog TABLE_NO_KEY\n", "Blog", GRN_OBJ_TABLE_NO_KEY, NULL, NULL); ADD_DATA("array with value", - "table_create Blog 3 --value_type Int32\n", + "table_create Blog TABLE_NO_KEY --value_type Int32\n", "Blog", GRN_OBJ_TABLE_NO_KEY, NULL, @@ -279,7 +279,7 @@ static void data_view_create(void) { ADD_DATA("view", - "table_create Blog 4\n", + "table_create Blog TABLE_VIEW\n", "Blog", GRN_OBJ_TABLE_VIEW, NULL, @@ -320,14 +320,14 @@ void data_column_create(void) { ADD_DATA("scalar", - "column_create Blog body 0 Text\n", + "column_create Blog body COLUMN_SCALAR|COMPRESS_NONE Text\n", "Blog", "body", GRN_OBJ_COLUMN_SCALAR, "Text", NULL); ADD_DATA("vector", - "column_create Blog body 1 Text\n", + "column_create Blog body COLUMN_VECTOR|COMPRESS_NONE Text\n", "Blog", "body", GRN_OBJ_COLUMN_VECTOR, @@ -347,7 +347,7 @@ test_column_create(gconstpointer data) gcut_data_get_string(data, "type_name"), gcut_data_get_string(data, "source")); expected = gcut_data_get_string(data, "expected"); - grn_test_assert_dump(cut_take_printf("table_create Blog 0\n%s", expected)); + grn_test_assert_dump(cut_take_printf("table_create Blog TABLE_HASH_KEY\n%s", expected)); } #define ADD_DATA(label, expected, type_name, element_type, \ @@ -452,8 +452,8 @@ test_uvector_column(gconstpointer data) GRN_BULK_HEAD(&elements[2]), GRN_BULK_VSIZE(&elements[2])); grn_obj_set_value(context, column, id, &uvector, GRN_OBJ_SET); - expected = cut_take_printf("table_create Table 3\n" - "column_create Table Column 1 %s\n" + expected = cut_take_printf("table_create Table TABLE_NO_KEY\n" + "column_create Table Column COLUMN_VECTOR|COMPRESS_NONE %s\n" "load --table Table\n" "[\n" "[\"_id\",\"Column\"],\n" @@ -499,8 +499,8 @@ test_vector_column(gconstpointer data) GRN_TEXT_LEN(&elements[2]), 0, type_id); grn_obj_set_value(context, column, id, &vector, GRN_OBJ_SET); - expected = cut_take_printf("table_create Table 3\n" - "column_create Table Column 1 %s\n" + expected = cut_take_printf("table_create Table TABLE_NO_KEY\n" + "column_create Table Column COLUMN_VECTOR|COMPRESS_NONE %s\n" "load --table Table\n" "[\n" "[\"_id\",\"Column\"],\n" @@ -532,7 +532,7 @@ test_unsequantial_records_in_table_with_keys(void) grn_table_delete_by_id(context, table, 3); grn_table_delete_by_id(context, table, 6); - grn_test_assert_dump("table_create Weekdays 0 ShortText\n" + grn_test_assert_dump("table_create Weekdays TABLE_HASH_KEY ShortText\n" "load --table Weekdays\n" "[\n" "[\"_key\"],\n"