null+****@clear*****
null+****@clear*****
2010年 7月 8日 (木) 23:23:11 JST
Daijiro MORI 2010-07-08 14:23:11 +0000 (Thu, 08 Jul 2010)
New Revision: d8d926a1f7132a0f0df1e576778024c806ec4187
Log:
output number of results to query.log
Modified files:
lib/expr.c
lib/proc.c
Modified: lib/expr.c (+3 -3)
===================================================================
--- lib/expr.c 2010-07-08 10:03:09 +0000 (d4b5a78)
+++ lib/expr.c 2010-07-08 14:23:11 +0000 (5a36889)
@@ -3755,13 +3755,13 @@ grn_view_select(grn_ctx *ctx, grn_obj *table, grn_obj *expr,
return res;
}
-#define LAP(msg) {\
+#define LAP(msg,num) {\
uint64_t et;\
grn_timeval tv;\
grn_timeval_now(ctx, &tv);\
et = (tv.tv_sec - ctx->impl->tv.tv_sec) * GRN_TIME_USEC_PER_SEC\
+ (tv.tv_usec - ctx->impl->tv.tv_usec);\
- GRN_LOG(ctx, GRN_LOG_NONE, "%08x|:%012llu %s", (intptr_t)ctx, et, msg);\
+ GRN_LOG(ctx, GRN_LOG_NONE, "%08x|:%012llu %s(%d)", (intptr_t)ctx, et, msg, num);\
}
grn_rc grn_geo_search(grn_ctx *ctx, grn_obj *obj, grn_obj **args, int nargs,
@@ -4001,7 +4001,7 @@ grn_table_select(grn_ctx *ctx, grn_obj *table, grn_obj *expr,
}
}
SI_FREE(si);
- LAP("filter");
+ LAP("filter", grn_table_size(ctx, res));
}
GRN_OBJ_FIN(ctx, &res_stack);
GRN_FREE(sis);
Modified: lib/proc.c (+9 -9)
===================================================================
--- lib/proc.c 2010-07-08 10:03:09 +0000 (c8d7e13)
+++ lib/proc.c 2010-07-08 14:23:11 +0000 (4e9ebec)
@@ -43,13 +43,13 @@ const char *grn_admin_html_path = NULL;
#define DEFAULT_DRILLDOWN_LIMIT 10
#define DEFAULT_DRILLDOWN_OUTPUT_COLUMNS "_key _nsubrecs"
-#define LAP(msg) {\
+#define LAP(msg,num) {\
uint64_t et;\
grn_timeval tv;\
grn_timeval_now(ctx, &tv);\
et = (tv.tv_sec - ctx->impl->tv.tv_sec) * GRN_TIME_USEC_PER_SEC\
+ (tv.tv_usec - ctx->impl->tv.tv_usec);\
- GRN_LOG(ctx, GRN_LOG_NONE, "%08x|:%012llu %s", (intptr_t)ctx, et, msg);\
+ GRN_LOG(ctx, GRN_LOG_NONE, "%08x|:%012llu %s(%d)", (intptr_t)ctx, et, msg, num);\
}
grn_rc
@@ -110,7 +110,7 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
if ((cache = grn_cache_fetch(ctx, cache_key, cache_key_size))) {
GRN_TEXT_PUT(ctx, outbuf, GRN_TEXT_VALUE(cache), GRN_TEXT_LEN(cache));
grn_cache_unref(cache_key, cache_key_size);
- LAP("cache");
+ LAP("cache", GRN_TEXT_LEN(cache));
return ctx->rc;
}
}
@@ -165,7 +165,8 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
} else {
res = table_;
}
- LAP("select");
+ nhits = res ? grn_table_size(ctx, res) : 0;
+ LAP("select", nhits);
GRN_OUTPUT_ARRAY_OPEN("RESULT", -1);
if (res) {
if (scorer && scorer_len) {
@@ -185,9 +186,8 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
}
grn_obj_unlink(ctx, scorer_);
}
- LAP("score");
+ LAP("score", nhits);
}
- nhits = grn_table_size(ctx, res);
grn_normalize_offset_and_limit(ctx, nhits, &offset, &limit);
ERRCLR(ctx);
@@ -197,7 +197,7 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
GRN_OBJ_TABLE_NO_KEY, NULL, res))) {
if ((keys = grn_table_sort_key_from_str(ctx, sortby, sortby_len, res, &nkeys))) {
grn_table_sort(ctx, res, offset, limit, sorted, keys, nkeys);
- LAP("sort");
+ LAP("sort", limit);
GRN_OBJ_FORMAT_INIT(&format, nhits, 0, limit, offset);
format.flags =
GRN_OBJ_FORMAT_WITH_COLUMN_NAMES|
@@ -218,7 +218,7 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
GRN_OUTPUT_OBJ(res, &format);
GRN_OBJ_FORMAT_FIN(ctx, &format);
}
- LAP("output");
+ LAP("output", limit);
if (!ctx->rc && drilldown_len) {
uint32_t i, ngkeys;
grn_table_sort_key *gkeys;
@@ -274,7 +274,7 @@ grn_select(grn_ctx *ctx, const char *table, unsigned table_len,
}
grn_obj_unlink(ctx, g.table);
}
- LAP("drilldown");
+ LAP("drilldown", nhits);
}
grn_table_sort_key_close(ctx, gkeys, ngkeys);
}