null+****@clear*****
null+****@clear*****
2010年 9月 22日 (水) 14:06:59 JST
Kouhei Sutou 2010-09-22 05:06:59 +0000 (Wed, 22 Sep 2010)
New Revision: fb14f29cd8a3b0d0383a8580dd28c6e2386ef6ab
Log:
format key value in 'check' command.
Modified files:
lib/ii.c
Modified: lib/ii.c (+7 -1)
===================================================================
--- lib/ii.c 2010-09-21 03:09:04 +0000 (5bb1251)
+++ lib/ii.c 2010-09-22 05:06:59 +0000 (579fac8)
@@ -2948,6 +2948,7 @@ grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
uint16_t n;
int nterms_void = 0;
int size_in_buffer = 0;
+ grn_obj buf;
if (ii->header->binfo[seg] == NOT_ASSIGNED) {
GRN_OUTPUT_BOOL(GRN_FALSE);
return;
@@ -2979,6 +2980,7 @@ grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
GRN_OUTPUT_CSTR("buffer term");
GRN_OUTPUT_ARRAY_OPEN("TERMS", sb->header.nterms);
+ GRN_OBJ_INIT(&buf, GRN_BULK, 0, ii->lexicon->header.domain);
for (bt = sb->terms, n = sb->header.nterms; n; n--, bt++) {
grn_id tid, tid_;
char key[GRN_TABLE_MAX_KEY_SIZE];
@@ -2998,7 +3000,8 @@ grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
tid = (bt->tid & GRN_ID_MAX);
key_size = grn_table_get_key(ctx, ii->lexicon, tid, key, GRN_TABLE_MAX_KEY_SIZE);
tid_ = grn_table_get(ctx, ii->lexicon, key, key_size);
- GRN_OUTPUT_STR(key, key_size);
+ GRN_TEXT_SET(ctx, &buf, key, key_size);
+ GRN_OUTPUT_OBJ(&buf, NULL);
GRN_OUTPUT_INT64(bt->tid);
GRN_OUTPUT_INT64(tid_);
nextb = bt->pos_in_buffer;
@@ -3018,6 +3021,7 @@ grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
GRN_B_DEC(nchunks, scp);
if (!(cinfo = GRN_MALLOCN(chunk_info, nchunks + 1))) {
datavec_fin(ctx, rdv);
+ GRN_OBJ_FIN(ctx, &buf);
return;
}
for (i = 0; i < nchunks; i++) {
@@ -3050,6 +3054,8 @@ grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
GRN_OUTPUT_ARRAY_CLOSE();
if (cinfo) { GRN_FREE(cinfo); }
}
+ GRN_OBJ_FIN(ctx, &buf);
+
GRN_OUTPUT_ARRAY_CLOSE();
GRN_OUTPUT_CSTR("buffer free");
GRN_OUTPUT_INT64(sb->header.buffer_free);