null+****@clear*****
null+****@clear*****
2011年 5月 6日 (金) 12:36:15 JST
Kouhei Sutou 2011-05-06 03:36:15 +0000 (Fri, 06 May 2011)
New Revision: 6615f99b669927ac1382ded815bcb1e0c5766362
Log:
[suggest] add target object name into error messages.
Modified files:
plugins/suggest/suggest.c
Modified: plugins/suggest/suggest.c (+28 -22)
===================================================================
--- plugins/suggest/suggest.c 2011-05-06 02:36:28 +0000 (a2b8b13)
+++ plugins/suggest/suggest.c 2011-05-06 03:36:15 +0000 (9030764)
@@ -404,31 +404,37 @@ command_suggest(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_dat
int threshold = GRN_TEXT_LEN(VAR(8))
? grn_atoi(GRN_TEXT_VALUE(VAR(8)), GRN_BULK_CURR(VAR(8)), NULL)
: DEFAULT_THRESHOLD;
- if ((items = grn_ctx_get(ctx, TEXT_VALUE_LEN(VAR(1)))) &&
- (items_boost = grn_obj_column(ctx, items, CONST_STR_LEN("boost")))) {
- GRN_OUTPUT_MAP_OPEN("RESULT_SET", -1);
- if (types & COMPLETE) {
- if ((col = grn_obj_column(ctx, items, TEXT_VALUE_LEN(VAR(2))))) {
- GRN_OUTPUT_CSTR("complete");
- complete(ctx, items, items_boost, col, VAR(3), VAR(4),
- VAR(5), offset, limit, threshold);
- } else {
- ERR(GRN_INVALID_ARGUMENT, "invalid column.");
+ if ((items = grn_ctx_get(ctx, TEXT_VALUE_LEN(VAR(1))))) {
+ if ((items_boost = grn_obj_column(ctx, items, CONST_STR_LEN("boost")))) {
+ GRN_OUTPUT_MAP_OPEN("RESULT_SET", -1);
+ if (types & COMPLETE) {
+ if ((col = grn_obj_column(ctx, items, TEXT_VALUE_LEN(VAR(2))))) {
+ GRN_OUTPUT_CSTR("complete");
+ complete(ctx, items, items_boost, col, VAR(3), VAR(4),
+ VAR(5), offset, limit, threshold);
+ } else {
+ ERR(GRN_INVALID_ARGUMENT, "invalid column.");
+ }
}
+ if (types & CORRECT) {
+ GRN_OUTPUT_CSTR("correct");
+ correct(ctx, items, items_boost, VAR(3), VAR(4),
+ VAR(5), offset, limit, threshold);
+ }
+ if (types & SUGGEST) {
+ GRN_OUTPUT_CSTR("suggest");
+ suggest(ctx, items, items_boost, VAR(3), VAR(4),
+ VAR(5), offset, limit, threshold);
+ }
+ GRN_OUTPUT_MAP_CLOSE();
+ } else {
+ ERR(GRN_INVALID_ARGUMENT, "nonexistent column: <%.*s.boost>",
+ GRN_TEXT_LEN(VAR(1)), GRN_TEXT_VALUE(VAR(1)));
}
- if (types & CORRECT) {
- GRN_OUTPUT_CSTR("correct");
- correct(ctx, items, items_boost, VAR(3), VAR(4),
- VAR(5), offset, limit, threshold);
- }
- if (types & SUGGEST) {
- GRN_OUTPUT_CSTR("suggest");
- suggest(ctx, items, items_boost, VAR(3), VAR(4),
- VAR(5), offset, limit, threshold);
- }
- GRN_OUTPUT_MAP_CLOSE();
+ grn_obj_unlink(ctx, items);
} else {
- ERR(GRN_INVALID_ARGUMENT, "invalid table.");
+ ERR(GRN_INVALID_ARGUMENT, "nonexistent table: <%.*s>",
+ GRN_TEXT_LEN(VAR(1)), GRN_TEXT_VALUE(VAR(1)));
}
return NULL;
}