[Groonga-commit] groonga/groonga [master] column_list: use null instead of "null" for GRN_ID_NIL

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Dec 21 11:24:57 JST 2012


Kouhei Sutou	2012-12-21 11:24:57 +0900 (Fri, 21 Dec 2012)

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

  Log:
    column_list: use null instead of "null" for GRN_ID_NIL
    
    CAUTION: This is backward incompatible change. If you use column_list
    command and domain and range value of the output, you may change your
    program. "No object" is represented as null (null value) instead of
    "null" (string value) since this change.

  Modified files:
    lib/proc.c

  Modified: lib/proc.c (+4 -25)
===================================================================
--- lib/proc.c    2012-12-21 11:14:52 +0900 (79551ee)
+++ lib/proc.c    2012-12-21 11:24:57 +0900 (d3e8102)
@@ -1347,23 +1347,6 @@ exit:
 #define GRN_STRLEN(s) ((s) ? strlen(s) : 0)
 
 static void
-objid2name(grn_ctx *ctx, grn_id id, grn_obj *bulk)
-{
-  GRN_BULK_REWIND(bulk);
-  if (id == GRN_ID_NIL) {
-    GRN_TEXT_PUTS(ctx, bulk, "null");
-  } else {
-    grn_obj *obj;
-    int name_len;
-    char name_buf[GRN_TABLE_MAX_KEY_SIZE];
-
-    obj = grn_ctx_at(ctx, id);
-    name_len = grn_obj_name(ctx, obj, name_buf, GRN_TABLE_MAX_KEY_SIZE);
-    GRN_TEXT_PUT(ctx, bulk, name_buf, name_len);
-  }
-}
-
-static void
 column2name(grn_ctx *ctx, grn_obj *obj, grn_obj *bulk)
 {
   int name_len;
@@ -1437,18 +1420,15 @@ print_column_info(grn_ctx *ctx, grn_obj *column)
   GRN_OUTPUT_CSTR(type);
   grn_column_create_flags_to_text(ctx, &o, column->header.flags);
   GRN_OUTPUT_OBJ(&o, NULL);
-  objid2name(ctx, column->header.domain, &o);
-  GRN_OUTPUT_OBJ(&o, NULL);
-  objid2name(ctx, grn_obj_get_range(ctx, column), &o);
-  GRN_OUTPUT_OBJ(&o, NULL);
+  output_object_id_name(ctx, column->header.domain);
+  output_object_id_name(ctx, grn_obj_get_range(ctx, column));
   {
     grn_db_obj *obj = (grn_db_obj *)column;
     grn_id *s = obj->source;
     int i = 0, n = obj->source_size / sizeof(grn_id);
     GRN_OUTPUT_ARRAY_OPEN("SOURCES", n);
     for (i = 0; i < n; i++, s++) {
-      objid2name(ctx, *s, &o);
-      GRN_OUTPUT_OBJ(&o, NULL);
+      output_object_id_name(ctx, *s);
     }
     GRN_OUTPUT_ARRAY_CLOSE();
 
@@ -1534,8 +1514,7 @@ proc_column_list(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_da
         GRN_OUTPUT_OBJ(&buf, NULL);
         name_len = grn_obj_name(ctx, table, name_buf, GRN_TABLE_MAX_KEY_SIZE);
         GRN_OUTPUT_STR(name_buf, name_len);
-        objid2name(ctx, table->header.domain, &buf);
-        GRN_OUTPUT_OBJ(&buf, NULL);
+        output_object_id_name(ctx, table->header.domain);
         GRN_OUTPUT_ARRAY_OPEN("SOURCES", 0);
         GRN_OUTPUT_ARRAY_CLOSE();
         GRN_OUTPUT_ARRAY_CLOSE();
-------------- next part --------------
HTML����������������������������...
Télécharger 



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