[Groonga-commit] groonga/groonga at a2a773d [master] grn_ts: don't stop evaluation even if keys are not available

Back to archive index

susumu.yata null+****@clear*****
Mon Oct 19 16:17:55 JST 2015


susumu.yata	2015-10-19 16:17:55 +0900 (Mon, 19 Oct 2015)

  New Revision: a2a773db25492a3383fa0b3de77f6e6cde26e127
  https://github.com/groonga/groonga/commit/a2a773db25492a3383fa0b3de77f6e6cde26e127

  Message:
    grn_ts: don't stop evaluation even if keys are not available
    
    GitHub: #413

  Modified files:
    lib/ts.c

  Modified: lib/ts.c (+8 -8)
===================================================================
--- lib/ts.c    2015-10-19 15:58:31 +0900 (3e47bff)
+++ lib/ts.c    2015-10-19 16:17:55 +0900 (c821264)
@@ -2063,7 +2063,7 @@ grn_ts_expr_key_node_close(grn_ctx *ctx, grn_ts_expr_key_node *node) {
       rc = grn_ts_ ## table ## _get_ ## kind ## _key(ctx, table, in[i].id,\
                                                      &out_ptr[i]);\
       if (rc != GRN_SUCCESS) {\
-        return rc;\
+        out_ptr[i] = grn_ts_ ## kind ## _zero();\
       }\
     }\
     return GRN_SUCCESS;\
@@ -2075,7 +2075,7 @@ grn_ts_expr_key_node_close(grn_ctx *ctx, grn_ts_expr_key_node *node) {
       rc = grn_ts_ ## table ## _get_ ## type ## _key(ctx, table, in[i].id,\
                                                      &out_ptr[i]);\
       if (rc != GRN_SUCCESS) {\
-        return rc;\
+        out_ptr[i] = grn_ts_int_zero();\
       }\
     }\
     return GRN_SUCCESS;\
@@ -2089,7 +2089,7 @@ grn_ts_expr_key_node_close(grn_ctx *ctx, grn_ts_expr_key_node *node) {
       grn_ts_text key;\
       rc = grn_ts_ ## table ## _get_text_key(ctx, table, in[i].id, &key);\
       if (rc != GRN_SUCCESS) {\
-        return rc;\
+        key = grn_ts_text_zero();\
       }\
       rc = grn_ts_buf_write(ctx, &node->buf, key.ptr, key.size);\
       if (rc != GRN_SUCCESS) {\
@@ -2111,7 +2111,7 @@ grn_ts_expr_key_node_close(grn_ctx *ctx, grn_ts_expr_key_node *node) {
       rc = grn_ts_ ## table ## _get_ref_key(ctx, table, in[i].id,\
                                             &out_ptr[i]);\
       if (rc != GRN_SUCCESS) {\
-        return rc;\
+        out_ptr[i] = grn_ts_ref_zero();\
       }\
       out_ptr[i].score = in[i].score;\
     }\
@@ -2215,7 +2215,7 @@ grn_ts_expr_key_node_filter(grn_ctx *ctx, grn_ts_expr_key_node *node,
       for (i = 0, count = 0; i < n_in; i++) {
         grn_rc rc = grn_ts_hash_get_bool_key(ctx, hash, in[i].id, &key);
         if (rc != GRN_SUCCESS) {
-          return rc;
+          key = grn_ts_bool_zero();
         }
         if (key) {
           out[count++] = in[i];
@@ -2229,7 +2229,7 @@ grn_ts_expr_key_node_filter(grn_ctx *ctx, grn_ts_expr_key_node *node,
       for (i = 0, count = 0; i < n_in; i++) {
         grn_rc rc = grn_ts_pat_get_bool_key(ctx, pat, in[i].id, &key);
         if (rc != GRN_SUCCESS) {
-          return rc;
+          key = grn_ts_bool_zero();
         }
         if (key) {
           out[count++] = in[i];
@@ -2258,7 +2258,7 @@ grn_ts_expr_key_node_adjust(grn_ctx *ctx, grn_ts_expr_key_node *node,
       for (i = 0; i < n_io; i++) {
         grn_rc rc = grn_ts_hash_get_float_key(ctx, hash, io[i].id, &key);
         if (rc != GRN_SUCCESS) {
-          return rc;
+          key = grn_ts_float_zero();
         }
         io[i].score = (grn_ts_score)key;
       }
@@ -2269,7 +2269,7 @@ grn_ts_expr_key_node_adjust(grn_ctx *ctx, grn_ts_expr_key_node *node,
       for (i = 0; i < n_io; i++) {
         grn_rc rc = grn_ts_pat_get_float_key(ctx, pat, io[i].id, &key);
         if (rc != GRN_SUCCESS) {
-          return rc;
+          key = grn_ts_float_zero();
         }
         io[i].score = (grn_ts_score)key;
       }
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index