null+****@clear*****
null+****@clear*****
2012年 2月 21日 (火) 14:59:31 JST
Daijiro MORI 2012-02-21 14:59:31 +0900 (Tue, 21 Feb 2012)
New Revision: fb6c6b528422fb5f90c632366cf3f0f2d24c98a6
Log:
grn_ii_buffer: use grn_ii_build() regardless of environment variables.
Modified files:
lib/db.c
Modified: lib/db.c (+25 -29)
===================================================================
--- lib/db.c 2012-02-21 13:37:42 +0900 (632731f)
+++ lib/db.c 2012-02-21 14:59:31 +0900 (0536e6c)
@@ -5725,41 +5725,37 @@ build_index(grn_ctx *ctx, grn_obj *obj)
if ((src = grn_ctx_at(ctx, *s))) {
if ((target = GRN_OBJ_TABLEP(src) ? src : grn_ctx_at(ctx, src->header.domain))) {
int i, ncol = DB_OBJ(obj)->source_size / sizeof(grn_id);
-#ifndef WIN32
- if (getenv("USE_OFFLINE_INDEXER") &&
- (!strcmp(getenv("USE_OFFLINE_INDEXER"), "yes"))) {
- grn_ii_build(ctx, (grn_ii *)obj);
- } else
-#endif /* WIN32 */
- {
- if ((col = GRN_MALLOC(ncol * sizeof(grn_obj *)))) {
- for (cp = col, i = ncol; i; s++, cp++, i--) {
- if (!(*cp = grn_ctx_at(ctx, *s))) {
- ERR(GRN_INVALID_ARGUMENT, "source invalid, n=%d",i);
- GRN_FREE(col);
- return;
- }
+#ifdef WIN32
+ if ((col = GRN_MALLOC(ncol * sizeof(grn_obj *)))) {
+ for (cp = col, i = ncol; i; s++, cp++, i--) {
+ if (!(*cp = grn_ctx_at(ctx, *s))) {
+ ERR(GRN_INVALID_ARGUMENT, "source invalid, n=%d",i);
+ GRN_FREE(col);
+ return;
}
- if ((tc = grn_table_cursor_open(ctx, target, NULL, 0, NULL, 0,
- 0, -1, GRN_CURSOR_BY_ID))) {
- GRN_TEXT_INIT(&rv, 0);
- while ((id = grn_table_cursor_next_inline(ctx, tc)) != GRN_ID_NIL) {
- for (cp = col, i = ncol; i; i--, cp++) {
- GRN_BULK_REWIND(&rv);
- if (GRN_OBJ_TABLEP(*cp)) {
- grn_table_get_key2(ctx, *cp, id, &rv);
- } else {
- grn_obj_get_value(ctx, *cp, id, &rv);
- }
- call_hook_for_build(ctx, *cp, id, &rv, 0);
+ }
+ if ((tc = grn_table_cursor_open(ctx, target, NULL, 0, NULL, 0,
+ 0, -1, GRN_CURSOR_BY_ID))) {
+ GRN_TEXT_INIT(&rv, 0);
+ while ((id = grn_table_cursor_next_inline(ctx, tc)) != GRN_ID_NIL) {
+ for (cp = col, i = ncol; i; i--, cp++) {
+ GRN_BULK_REWIND(&rv);
+ if (GRN_OBJ_TABLEP(*cp)) {
+ grn_table_get_key2(ctx, *cp, id, &rv);
+ } else {
+ grn_obj_get_value(ctx, *cp, id, &rv);
}
+ call_hook_for_build(ctx, *cp, id, &rv, 0);
}
- GRN_OBJ_FIN(ctx, &rv);
- grn_table_cursor_close(ctx, tc);
}
- GRN_FREE(col);
+ GRN_OBJ_FIN(ctx, &rv);
+ grn_table_cursor_close(ctx, tc);
}
+ GRN_FREE(col);
}
+#else /* WIN32 */
+ grn_ii_build(ctx, (grn_ii *)obj);
+#endif /* WIN32 */
} else {
ERR(GRN_INVALID_ARGUMENT, "invalid target");
}