[Groonga-commit] groonga/grngo at 77c55f0 [master] Use grn_bulk_write() instead of GRN_*_SET() for error handling.

Back to archive index

susumu.yata null+****@clear*****
Tue Jul 21 16:55:01 JST 2015


susumu.yata	2015-07-21 16:55:01 +0900 (Tue, 21 Jul 2015)

  New Revision: 77c55f0287cb73253fdf96014e47a2becaff9b7a
  https://github.com/groonga/grngo/commit/77c55f0287cb73253fdf96014e47a2becaff9b7a

  Message:
    Use grn_bulk_write() instead of GRN_*_SET() for error handling.

  Modified files:
    grngo.c

  Modified: grngo.c (+16 -8)
===================================================================
--- grngo.c    2015-07-21 15:31:32 +0900 (62a042c)
+++ grngo.c    2015-07-21 16:55:01 +0900 (58c2efc)
@@ -626,8 +626,10 @@ grngo_set_bool(grngo_column *column, grn_id id, grn_bool value) {
   }
   grn_obj obj;
   GRN_BOOL_INIT(&obj, 0);
-  GRN_BOOL_SET(ctx, &obj, value);
-  grn_rc rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  grn_rc rc = grn_bulk_write(ctx, &obj, (const char *)&value, sizeof(value));
+  if (rc == GRN_SUCCESS) {
+    rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  }
   GRN_OBJ_FIN(ctx, &obj);
   return rc;
 }
@@ -729,8 +731,10 @@ grngo_set_float(grngo_column *column, grn_id id, double value) {
   }
   grn_obj obj;
   GRN_FLOAT_INIT(&obj, 0);
-  GRN_FLOAT_SET(ctx, &obj, value);
-  grn_rc rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  grn_rc rc = grn_bulk_write(ctx, &obj, (const char *)&value, sizeof(value));
+  if (rc == GRN_SUCCESS) {
+    rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  }
   GRN_OBJ_FIN(ctx, &obj);
   return rc;
 }
@@ -768,8 +772,10 @@ grngo_set_text(grngo_column *column, grn_id id, grngo_text value) {
       break;
     }
   }
-  GRN_TEXT_SET(ctx, &obj, value.ptr, value.size);
-  grn_rc rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  grn_rc rc = grn_bulk_write(ctx, &obj, value.ptr, value.size);
+  if (rc == GRN_SUCCESS) {
+    rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  }
   GRN_OBJ_FIN(ctx, &obj);
   return rc;
 }
@@ -797,8 +803,10 @@ grngo_set_geo_point(grngo_column *column, grn_id id, grn_geo_point value) {
       return GRN_UNKNOWN_ERROR;
     }
   }
-  GRN_GEO_POINT_SET(ctx, &obj, value.latitude, value.longitude);
-  grn_rc rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  grn_rc rc = grn_bulk_write(ctx, &obj, (const char *)&value, sizeof(value));
+  if (rc == GRN_SUCCESS) {
+    rc = grn_obj_set_value(ctx, column->objs[0], id, &obj, GRN_OBJ_SET);
+  }
   GRN_OBJ_FIN(ctx, &obj);
   return rc;
 }
-------------- next part --------------
HTML����������������������������...
다운로드 



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