[Groonga-commit] groonga/grngo at 1facf4b [master] Change the order of data types.

Back to archive index

susumu.yata null+****@clear*****
Thu Jul 2 16:33:23 JST 2015


susumu.yata	2015-07-02 16:33:23 +0900 (Thu, 02 Jul 2015)

  New Revision: 1facf4bebb05b7669decc77fb30f15d34eea94c3
  https://github.com/groonga/grngo/commit/1facf4bebb05b7669decc77fb30f15d34eea94c3

  Message:
    Change the order of data types.
    
    Put *GeoPointer next to *Text.

  Modified files:
    grngo.c
    grngo.go
    grngo.h
    grngo_test.go

  Modified: grngo.c (+59 -59)
===================================================================
--- grngo.c    2015-07-02 16:19:04 +0900 (36df50c)
+++ grngo.c    2015-07-02 16:33:23 +0900 (b182d6d)
@@ -231,16 +231,16 @@ grngo_row_info grngo_table_insert_float(grn_ctx *ctx, grn_obj *table,
   return grngo_table_insert_row(ctx, table, &key, sizeof(key));
 }
 
-grngo_row_info grngo_table_insert_geo_point(grn_ctx *ctx, grn_obj *table,
-                                            grn_geo_point key) {
-  return grngo_table_insert_row(ctx, table, &key, sizeof(key));
-}
-
 grngo_row_info grngo_table_insert_text(grn_ctx *ctx, grn_obj *table,
                                        const grngo_text *key) {
   return grngo_table_insert_row(ctx, table, key->ptr, key->size);
 }
 
+grngo_row_info grngo_table_insert_geo_point(grn_ctx *ctx, grn_obj *table,
+                                            grn_geo_point key) {
+  return grngo_table_insert_row(ctx, table, &key, sizeof(key));
+}
+
 grn_bool grngo_column_set_bool(grn_ctx *ctx, grn_obj *column,
                                grn_id id, grn_bool value) {
   grn_obj obj;
@@ -351,30 +351,30 @@ grn_bool grngo_column_set_float(grn_ctx *ctx, grn_obj *column,
   return rc == GRN_SUCCESS;
 }
 
-grn_bool grngo_column_set_geo_point(grn_ctx *ctx, grn_obj *column,
-                                    grn_builtin_type data_type,
-                                    grn_id id, grn_geo_point value) {
+grn_bool grngo_column_set_text(grn_ctx *ctx, grn_obj *column,
+                               grn_id id, const grngo_text *value) {
   grn_obj obj;
-  if (data_type == GRN_DB_TOKYO_GEO_POINT) {
-    GRN_TOKYO_GEO_POINT_INIT(&obj, 0);
+  GRN_TEXT_INIT(&obj, 0);
+  if (value) {
+    GRN_TEXT_SET(ctx, &obj, value->ptr, value->size);
   } else {
-    GRN_WGS84_GEO_POINT_INIT(&obj, 0);
+    GRN_TEXT_SET(ctx, &obj, NULL, 0);
   }
-  GRN_GEO_POINT_SET(ctx, &obj, value.latitude, value.longitude);
   grn_rc rc = grn_obj_set_value(ctx, column, id, &obj, GRN_OBJ_SET);
   GRN_OBJ_FIN(ctx, &obj);
   return rc == GRN_SUCCESS;
 }
 
-grn_bool grngo_column_set_text(grn_ctx *ctx, grn_obj *column,
-                               grn_id id, const grngo_text *value) {
+grn_bool grngo_column_set_geo_point(grn_ctx *ctx, grn_obj *column,
+                                    grn_builtin_type data_type,
+                                    grn_id id, grn_geo_point value) {
   grn_obj obj;
-  GRN_TEXT_INIT(&obj, 0);
-  if (value) {
-    GRN_TEXT_SET(ctx, &obj, value->ptr, value->size);
+  if (data_type == GRN_DB_TOKYO_GEO_POINT) {
+    GRN_TOKYO_GEO_POINT_INIT(&obj, 0);
   } else {
-    GRN_TEXT_SET(ctx, &obj, NULL, 0);
+    GRN_WGS84_GEO_POINT_INIT(&obj, 0);
   }
+  GRN_GEO_POINT_SET(ctx, &obj, value.latitude, value.longitude);
   grn_rc rc = grn_obj_set_value(ctx, column, id, &obj, GRN_OBJ_SET);
   GRN_OBJ_FIN(ctx, &obj);
   return rc == GRN_SUCCESS;
@@ -534,6 +534,22 @@ grn_bool grngo_column_set_float_vector(grn_ctx *ctx, grn_obj *column,
   return rc == GRN_SUCCESS;
 }
 
+grn_bool grngo_column_set_text_vector(grn_ctx *ctx, grn_obj *column,
+                                      grn_id id,
+                                      const grngo_vector *value) {
+  grn_obj obj;
+  GRN_TEXT_INIT(&obj, GRN_OBJ_VECTOR);
+  size_t i;
+  const grngo_text *values = (const grngo_text *)value->ptr;
+  for (i = 0; i < value->size; i++) {
+    grn_vector_add_element(ctx, &obj, values[i].ptr, values[i].size,
+                           0, obj.header.domain);
+  }
+  grn_rc rc = grn_obj_set_value(ctx, column, id, &obj, GRN_OBJ_SET);
+  GRN_OBJ_FIN(ctx, &obj);
+  return rc == GRN_SUCCESS;
+}
+
 grn_bool grngo_column_set_geo_point_vector(grn_ctx *ctx, grn_obj *column,
                                            grn_builtin_type data_type,
                                            grn_id id,
@@ -554,22 +570,6 @@ grn_bool grngo_column_set_geo_point_vector(grn_ctx *ctx, grn_obj *column,
   return rc == GRN_SUCCESS;
 }
 
-grn_bool grngo_column_set_text_vector(grn_ctx *ctx, grn_obj *column,
-                                      grn_id id,
-                                      const grngo_vector *value) {
-  grn_obj obj;
-  GRN_TEXT_INIT(&obj, GRN_OBJ_VECTOR);
-  size_t i;
-  const grngo_text *values = (const grngo_text *)value->ptr;
-  for (i = 0; i < value->size; i++) {
-    grn_vector_add_element(ctx, &obj, values[i].ptr, values[i].size,
-                           0, obj.header.domain);
-  }
-  grn_rc rc = grn_obj_set_value(ctx, column, id, &obj, GRN_OBJ_SET);
-  GRN_OBJ_FIN(ctx, &obj);
-  return rc == GRN_SUCCESS;
-}
-
 grn_bool grngo_column_get_bool(grn_ctx *ctx, grn_obj *column,
                                grn_id id, grn_bool *value) {
   grn_obj value_obj;
@@ -654,16 +654,6 @@ grn_bool grngo_column_get_float(grn_ctx *ctx, grn_obj *column,
   return GRN_TRUE;
 }
 
-grn_bool grngo_column_get_geo_point(grn_ctx *ctx, grn_obj *column,
-                                    grn_id id, grn_geo_point *value) {
-  grn_obj value_obj;
-  GRN_WGS84_GEO_POINT_INIT(&value_obj, 0);
-  grn_obj_get_value(ctx, column, id, &value_obj);
-  GRN_GEO_POINT_VALUE(&value_obj, value->latitude, value->longitude);
-  GRN_OBJ_FIN(ctx, &value_obj);
-  return GRN_TRUE;
-}
-
 grn_bool grngo_column_get_text(grn_ctx *ctx, grn_obj *column,
                                grn_id id, grngo_text *value) {
   grn_obj value_obj;
@@ -678,6 +668,16 @@ grn_bool grngo_column_get_text(grn_ctx *ctx, grn_obj *column,
   return GRN_TRUE;
 }
 
+grn_bool grngo_column_get_geo_point(grn_ctx *ctx, grn_obj *column,
+                                    grn_id id, grn_geo_point *value) {
+  grn_obj value_obj;
+  GRN_WGS84_GEO_POINT_INIT(&value_obj, 0);
+  grn_obj_get_value(ctx, column, id, &value_obj);
+  GRN_GEO_POINT_VALUE(&value_obj, value->latitude, value->longitude);
+  GRN_OBJ_FIN(ctx, &value_obj);
+  return GRN_TRUE;
+}
+
 grn_bool grngo_column_get_bool_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id, grngo_vector *value) {
   grn_obj value_obj;
@@ -844,21 +844,6 @@ grn_bool grngo_column_get_float_vector(grn_ctx *ctx, grn_obj *column,
   return GRN_TRUE;
 }
 
-grn_bool grngo_column_get_geo_point_vector(grn_ctx *ctx, grn_obj *column,
-                                           grn_id id, grngo_vector *value) {
-  grn_obj value_obj;
-  GRN_WGS84_GEO_POINT_INIT(&value_obj, GRN_OBJ_VECTOR);
-  grn_obj_get_value(ctx, column, id, &value_obj);
-  size_t size_in_bytes = GRN_BULK_VSIZE(&value_obj);
-  size_t size = size_in_bytes / sizeof(grn_geo_point);
-  if (size <= value->size) {
-    memcpy(value->ptr, GRN_BULK_HEAD(&value_obj), size_in_bytes);
-  }
-  value->size = size;
-  GRN_OBJ_FIN(ctx, &value_obj);
-  return GRN_TRUE;
-}
-
 grn_bool grngo_column_get_text_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id, grngo_vector *value) {
   grn_obj value_obj;
@@ -884,3 +869,18 @@ grn_bool grngo_column_get_text_vector(grn_ctx *ctx, grn_obj *column,
   GRN_OBJ_FIN(ctx, &value_obj);
   return GRN_TRUE;
 }
+
+grn_bool grngo_column_get_geo_point_vector(grn_ctx *ctx, grn_obj *column,
+                                           grn_id id, grngo_vector *value) {
+  grn_obj value_obj;
+  GRN_WGS84_GEO_POINT_INIT(&value_obj, GRN_OBJ_VECTOR);
+  grn_obj_get_value(ctx, column, id, &value_obj);
+  size_t size_in_bytes = GRN_BULK_VSIZE(&value_obj);
+  size_t size = size_in_bytes / sizeof(grn_geo_point);
+  if (size <= value->size) {
+    memcpy(value->ptr, GRN_BULK_HEAD(&value_obj), size_in_bytes);
+  }
+  value->size = size;
+  GRN_OBJ_FIN(ctx, &value_obj);
+  return GRN_TRUE;
+}

  Modified: grngo.go (+92 -92)
===================================================================
--- grngo.go    2015-07-02 16:19:04 +0900 (ea3494a)
+++ grngo.go    2015-07-02 16:33:23 +0900 (3ba9cfd)
@@ -749,21 +749,6 @@ func (table *Table) insertFloat(key float64) (bool, uint32, error) {
 	return rowInfo.inserted == C.GRN_TRUE, uint32(rowInfo.id), nil
 }
 
-// insertGeoPoint inserts a row with GeoPoint key.
-func (table *Table) insertGeoPoint(key GeoPoint) (bool, uint32, error) {
-	switch table.keyType {
-	case TokyoGeoPoint, WGS84GeoPoint:
-	default:
-		return false, NilID, newInvalidKeyTypeError(table.keyType, LazyGeoPoint)
-	}
-	grnKey := C.grn_geo_point{C.int(key.Latitude), C.int(key.Longitude)}
-	rowInfo := C.grngo_table_insert_geo_point(table.db.ctx, table.obj, grnKey)
-	if rowInfo.id == C.GRN_ID_NIL {
-		return false, NilID, fmt.Errorf("grngo_table_insert_geo_point() failed")
-	}
-	return rowInfo.inserted == C.GRN_TRUE, uint32(rowInfo.id), nil
-}
-
 // insertText inserts a row with Text key.
 func (table *Table) insertText(key []byte) (bool, uint32, error) {
 	if table.keyType != ShortText {
@@ -781,6 +766,21 @@ func (table *Table) insertText(key []byte) (bool, uint32, error) {
 	return rowInfo.inserted == C.GRN_TRUE, uint32(rowInfo.id), nil
 }
 
+// insertGeoPoint inserts a row with GeoPoint key.
+func (table *Table) insertGeoPoint(key GeoPoint) (bool, uint32, error) {
+	switch table.keyType {
+	case TokyoGeoPoint, WGS84GeoPoint:
+	default:
+		return false, NilID, newInvalidKeyTypeError(table.keyType, LazyGeoPoint)
+	}
+	grnKey := C.grn_geo_point{C.int(key.Latitude), C.int(key.Longitude)}
+	rowInfo := C.grngo_table_insert_geo_point(table.db.ctx, table.obj, grnKey)
+	if rowInfo.id == C.GRN_ID_NIL {
+		return false, NilID, fmt.Errorf("grngo_table_insert_geo_point() failed")
+	}
+	return rowInfo.inserted == C.GRN_TRUE, uint32(rowInfo.id), nil
+}
+
 // InsertRow finds or inserts a row.
 func (table *Table) InsertRow(key interface{}) (inserted bool, id uint32, err error) {
 	switch value := key.(type) {
@@ -792,10 +792,10 @@ func (table *Table) InsertRow(key interface{}) (inserted bool, id uint32, err er
 		return table.insertInt(value)
 	case float64:
 		return table.insertFloat(value)
-	case GeoPoint:
-		return table.insertGeoPoint(value)
 	case []byte:
 		return table.insertText(value)
+	case GeoPoint:
+		return table.insertGeoPoint(value)
 	default:
 		return false, NilID, fmt.Errorf(
 			"unsupported key type: typeName = <%s>", reflect.TypeOf(key).Name())
@@ -1089,25 +1089,6 @@ func (column *Column) setFloat(id uint32, value float64) error {
 	return nil
 }
 
-// setGeoPoint assigns a GeoPoint value.
-func (column *Column) setGeoPoint(id uint32, value GeoPoint) error {
-	switch column.valueType {
-	case TokyoGeoPoint, WGS84GeoPoint:
-	default:
-		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, false)
-	}
-	if column.isVector {
-		return fmt.Errorf("value type conflict")
-	}
-	grnValue := C.grn_geo_point{C.int(value.Latitude), C.int(value.Longitude)}
-	if ok := C.grngo_column_set_geo_point(column.table.db.ctx, column.obj,
-		C.grn_builtin_type(column.valueType),
-		C.grn_id(id), grnValue); ok != C.GRN_TRUE {
-		return fmt.Errorf("grngo_column_set_geo_point() failed")
-	}
-	return nil
-}
-
 // setText assigns a Text value.
 func (column *Column) setText(id uint32, value []byte) error {
 	switch column.valueType {
@@ -1130,6 +1111,25 @@ func (column *Column) setText(id uint32, value []byte) error {
 	return nil
 }
 
+// setGeoPoint assigns a GeoPoint value.
+func (column *Column) setGeoPoint(id uint32, value GeoPoint) error {
+	switch column.valueType {
+	case TokyoGeoPoint, WGS84GeoPoint:
+	default:
+		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, false)
+	}
+	if column.isVector {
+		return fmt.Errorf("value type conflict")
+	}
+	grnValue := C.grn_geo_point{C.int(value.Latitude), C.int(value.Longitude)}
+	if ok := C.grngo_column_set_geo_point(column.table.db.ctx, column.obj,
+		C.grn_builtin_type(column.valueType),
+		C.grn_id(id), grnValue); ok != C.GRN_TRUE {
+		return fmt.Errorf("grngo_column_set_geo_point() failed")
+	}
+	return nil
+}
+
 // setBoolVector assigns a Bool vector.
 func (column *Column) setBoolVector(id uint32, value []bool) error {
 	if (column.valueType != Bool) || !column.isVector {
@@ -1211,29 +1211,6 @@ func (column *Column) setFloatVector(id uint32, value []float64) error {
 	return nil
 }
 
-// setGeoPointVector assigns a GeoPoint vector.
-func (column *Column) setGeoPointVector(id uint32, value []GeoPoint) error {
-	if !column.isVector {
-		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, true)
-	}
-	switch column.valueType {
-	case TokyoGeoPoint, WGS84GeoPoint:
-	default:
-		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, true)
-	}
-	var grnVector C.grngo_vector
-	if len(value) != 0 {
-		grnVector.ptr = unsafe.Pointer(&value[0])
-		grnVector.size = C.size_t(len(value))
-	}
-	if ok := C.grngo_column_set_geo_point_vector(column.table.db.ctx,
-		column.obj, C.grn_builtin_type(column.valueType),
-		C.grn_id(id), &grnVector); ok != C.GRN_TRUE {
-		return fmt.Errorf("grngo_column_set_geo_point_vector() failed")
-	}
-	return nil
-}
-
 // setTextVector assigns a Text vector.
 func (column *Column) setTextVector(id uint32, value [][]byte) error {
 	if !column.isVector {
@@ -1263,6 +1240,29 @@ func (column *Column) setTextVector(id uint32, value [][]byte) error {
 	return nil
 }
 
+// setGeoPointVector assigns a GeoPoint vector.
+func (column *Column) setGeoPointVector(id uint32, value []GeoPoint) error {
+	if !column.isVector {
+		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, true)
+	}
+	switch column.valueType {
+	case TokyoGeoPoint, WGS84GeoPoint:
+	default:
+		return newInvalidValueTypeError(column.valueType, column.isVector, LazyGeoPoint, true)
+	}
+	var grnVector C.grngo_vector
+	if len(value) != 0 {
+		grnVector.ptr = unsafe.Pointer(&value[0])
+		grnVector.size = C.size_t(len(value))
+	}
+	if ok := C.grngo_column_set_geo_point_vector(column.table.db.ctx,
+		column.obj, C.grn_builtin_type(column.valueType),
+		C.grn_id(id), &grnVector); ok != C.GRN_TRUE {
+		return fmt.Errorf("grngo_column_set_geo_point_vector() failed")
+	}
+	return nil
+}
+
 // SetValue assigns a value.
 func (column *Column) SetValue(id uint32, value interface{}) error {
 	switch v := value.(type) {
@@ -1272,20 +1272,20 @@ func (column *Column) SetValue(id uint32, value interface{}) error {
 		return column.setInt(id, v)
 	case float64:
 		return column.setFloat(id, v)
-	case GeoPoint:
-		return column.setGeoPoint(id, v)
 	case []byte:
 		return column.setText(id, v)
+	case GeoPoint:
+		return column.setGeoPoint(id, v)
 	case []bool:
 		return column.setBoolVector(id, v)
 	case []int64:
 		return column.setIntVector(id, v)
 	case []float64:
 		return column.setFloatVector(id, v)
-	case []GeoPoint:
-		return column.setGeoPointVector(id, v)
 	case [][]byte:
 		return column.setTextVector(id, v)
+	case []GeoPoint:
+		return column.setGeoPointVector(id, v)
 	default:
 		return fmt.Errorf("unsupported value type: name = <%s>", reflect.TypeOf(value).Name())
 	}
@@ -1322,16 +1322,6 @@ func (column *Column) getFloat(id uint32) (interface{}, error) {
 	return float64(grnValue), nil
 }
 
-// getGeoPoint gets a GeoPoint value.
-func (column *Column) getGeoPoint(id uint32) (interface{}, error) {
-	var grnValue C.grn_geo_point
-	if ok := C.grngo_column_get_geo_point(column.table.db.ctx, column.obj,
-		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
-		return nil, fmt.Errorf("grngo_column_get_geo_point() failed")
-	}
-	return GeoPoint{int32(grnValue.latitude), int32(grnValue.longitude)}, nil
-}
-
 // getText gets a Text value.
 func (column *Column) getText(id uint32) (interface{}, error) {
 	var grnValue C.grngo_text
@@ -1351,6 +1341,16 @@ func (column *Column) getText(id uint32) (interface{}, error) {
 	return value, nil
 }
 
+// getGeoPoint gets a GeoPoint value.
+func (column *Column) getGeoPoint(id uint32) (interface{}, error) {
+	var grnValue C.grn_geo_point
+	if ok := C.grngo_column_get_geo_point(column.table.db.ctx, column.obj,
+		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
+		return nil, fmt.Errorf("grngo_column_get_geo_point() failed")
+	}
+	return GeoPoint{int32(grnValue.latitude), int32(grnValue.longitude)}, nil
+}
+
 // getBoolVector gets a BoolVector.
 func (column *Column) getBoolVector(id uint32) (interface{}, error) {
 	var grnVector C.grngo_vector
@@ -1414,25 +1414,6 @@ func (column *Column) getFloatVector(id uint32) (interface{}, error) {
 	return value, nil
 }
 
-// getGeoPointVector gets a GeoPointVector.
-func (column *Column) getGeoPointVector(id uint32) (interface{}, error) {
-	var grnValue C.grngo_vector
-	if ok := C.grngo_column_get_geo_point_vector(column.table.db.ctx, column.obj,
-		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
-		return nil, fmt.Errorf("grngo_column_get_geo_point_vector() failed")
-	}
-	if grnValue.size == 0 {
-		return make([]GeoPoint, 0), nil
-	}
-	value := make([]GeoPoint, int(grnValue.size))
-	grnValue.ptr = unsafe.Pointer(&value[0])
-	if ok := C.grngo_column_get_geo_point_vector(column.table.db.ctx, column.obj,
-		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
-		return nil, fmt.Errorf("grngo_column_get_geo_point_vector() failed")
-	}
-	return value, nil
-}
-
 // getTextVector gets a TextVector.
 func (column *Column) getTextVector(id uint32) (interface{}, error) {
 	var grnVector C.grngo_vector
@@ -1463,6 +1444,25 @@ func (column *Column) getTextVector(id uint32) (interface{}, error) {
 	return value, nil
 }
 
+// getGeoPointVector gets a GeoPointVector.
+func (column *Column) getGeoPointVector(id uint32) (interface{}, error) {
+	var grnValue C.grngo_vector
+	if ok := C.grngo_column_get_geo_point_vector(column.table.db.ctx, column.obj,
+		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
+		return nil, fmt.Errorf("grngo_column_get_geo_point_vector() failed")
+	}
+	if grnValue.size == 0 {
+		return make([]GeoPoint, 0), nil
+	}
+	value := make([]GeoPoint, int(grnValue.size))
+	grnValue.ptr = unsafe.Pointer(&value[0])
+	if ok := C.grngo_column_get_geo_point_vector(column.table.db.ctx, column.obj,
+		C.grn_id(id), &grnValue); ok != C.GRN_TRUE {
+		return nil, fmt.Errorf("grngo_column_get_geo_point_vector() failed")
+	}
+	return value, nil
+}
+
 // GetValue gets a value.
 func (column *Column) GetValue(id uint32) (interface{}, error) {
 	if !column.isVector {

  Modified: grngo.h (+17 -17)
===================================================================
--- grngo.h    2015-07-02 16:19:04 +0900 (83bf02c)
+++ grngo.h    2015-07-02 16:33:23 +0900 (8d943e3)
@@ -76,12 +76,12 @@ grngo_row_info grngo_table_insert_time(grn_ctx *ctx, grn_obj *table,
 // grngo_table_insert_float() inserts a row with Float key.
 grngo_row_info grngo_table_insert_float(grn_ctx *ctx, grn_obj *table,
                                         double key);
-// grngo_table_insert_geo_point() inserts a row with GeoPoint key.
-grngo_row_info grngo_table_insert_geo_point(grn_ctx *ctx, grn_obj *table,
-                                            grn_geo_point key);
 // grngo_table_insert_text() inserts a row with Text key.
 grngo_row_info grngo_table_insert_text(grn_ctx *ctx, grn_obj *table,
                                        const grngo_text *key);
+// grngo_table_insert_geo_point() inserts a row with GeoPoint key.
+grngo_row_info grngo_table_insert_geo_point(grn_ctx *ctx, grn_obj *table,
+                                            grn_geo_point key);
 
 // grngo_column_set_bool() assigns a Bool value.
 grn_bool grngo_column_set_bool(grn_ctx *ctx, grn_obj *column,
@@ -108,13 +108,13 @@ grn_bool grngo_column_set_time(grn_ctx *ctx, grn_obj *column,
 // grngo_column_set_float() assigns a Float value.
 grn_bool grngo_column_set_float(grn_ctx *ctx, grn_obj *column,
                                 grn_id id, double value);
+// grngo_column_set_text() assigns a Text value.
+grn_bool grngo_column_set_text(grn_ctx *ctx, grn_obj *column,
+                               grn_id id, const grngo_text *value);
 // grngo_column_set_geo_point() assigns a GeoPoint value.
 grn_bool grngo_column_set_geo_point(grn_ctx *ctx, grn_obj *column,
                                     grn_builtin_type data_type,
                                     grn_id id, grn_geo_point value);
-// grngo_column_set_text() assigns a Text value.
-grn_bool grngo_column_set_text(grn_ctx *ctx, grn_obj *column,
-                               grn_id id, const grngo_text *value);
 // grngo_column_set_bool_vector() assigns a Bool vector.
 grn_bool grngo_column_set_bool_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id,
@@ -151,16 +151,16 @@ grn_bool grngo_column_set_time_vector(grn_ctx *ctx, grn_obj *column,
 grn_bool grngo_column_set_float_vector(grn_ctx *ctx, grn_obj *column,
                                        grn_id id,
                                        const grngo_vector *value);
-// grngo_column_set_geo_point_vector() assigns a GeoPoint vector.
-grn_bool grngo_column_set_geo_point_vector(grn_ctx *ctx, grn_obj *column,
-                                           grn_builtin_type data_type,
-                                           grn_id id,
-                                           const grngo_vector *value);
 // grngo_column_set_text_vector() assigns a Text vector.
 // value must refer to an array of grngo_text.
 grn_bool grngo_column_set_text_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id,
                                       const grngo_vector *value);
+// grngo_column_set_geo_point_vector() assigns a GeoPoint vector.
+grn_bool grngo_column_set_geo_point_vector(grn_ctx *ctx, grn_obj *column,
+                                           grn_builtin_type data_type,
+                                           grn_id id,
+                                           const grngo_vector *value);
 
 // grngo_column_get_X_vector() sets *(X *)(value.ptr)[i] if value->size >=
 // the actual vector size.
@@ -178,12 +178,12 @@ grn_bool grngo_column_get_int(grn_ctx *ctx, grn_obj *column,
 // grngo_column_get_float() gets a stored Float value.
 grn_bool grngo_column_get_float(grn_ctx *ctx, grn_obj *column,
                                 grn_id id, double *value);
-// grngo_column_get_geo_point() gets a stored GeoPoint value.
-grn_bool grngo_column_get_geo_point(grn_ctx *ctx, grn_obj *column,
-                                    grn_id id, grn_geo_point *value);
 // grngo_column_get_text() gets a stored Text value.
 grn_bool grngo_column_get_text(grn_ctx *ctx, grn_obj *column,
                                grn_id id, grngo_text *value);
+// grngo_column_get_geo_point() gets a stored GeoPoint value.
+grn_bool grngo_column_get_geo_point(grn_ctx *ctx, grn_obj *column,
+                                    grn_id id, grn_geo_point *value);
 // grngo_column_get_bool_vector() gets a stored Bool vector.
 grn_bool grngo_column_get_bool_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id, grngo_vector *value);
@@ -194,12 +194,12 @@ grn_bool grngo_column_get_int_vector(grn_ctx *ctx, grn_obj *column,
 // grngo_column_get_float_vector() gets a stored Float vector.
 grn_bool grngo_column_get_float_vector(grn_ctx *ctx, grn_obj *column,
                                        grn_id id, grngo_vector *value);
-// grngo_column_get_geo_point_vector() gets a stored GeoPoint vector.
-grn_bool grngo_column_get_geo_point_vector(grn_ctx *ctx, grn_obj *column,
-                                           grn_id id, grngo_vector *value);
 // grngo_column_get_text_vector() gets a stored Text vector.
 // value must refer to an array of grngo_text.
 grn_bool grngo_column_get_text_vector(grn_ctx *ctx, grn_obj *column,
                                       grn_id id, grngo_vector *value);
+// grngo_column_get_geo_point_vector() gets a stored GeoPoint vector.
+grn_bool grngo_column_get_geo_point_vector(grn_ctx *ctx, grn_obj *column,
+                                           grn_id id, grngo_vector *value);
 
 #endif  // GRNGO_H

  Modified: grngo_test.go (+42 -42)
===================================================================
--- grngo_test.go    2015-07-02 16:19:04 +0900 (c28865d)
+++ grngo_test.go    2015-07-02 16:33:23 +0900 (d648352)
@@ -185,10 +185,10 @@ func generateRandomKey(keyType string) interface{} {
 		return rand.Float64()
 	case "Time":
 		return generateRandomTime()
-	case "TokyoGeoPoint", "WGS84GeoPoint":
-		return generateRandomGeoPoint()
 	case "ShortText":
 		return generateRandomText()
+	case "TokyoGeoPoint", "WGS84GeoPoint":
+		return generateRandomGeoPoint()
 	default:
 		return nil
 	}
@@ -346,6 +346,10 @@ func TestDBCreateTableWithFloatKey(t *testing.T) {
 	testDBCreateTableWithKey(t, "Float")
 }
 
+func TestDBCreateTableWithShortTextKey(t *testing.T) {
+	testDBCreateTableWithKey(t, "ShortText")
+}
+
 func TestDBCreateTableWithTokyoGeoPointKey(t *testing.T) {
 	testDBCreateTableWithKey(t, "TokyoGeoPoint")
 }
@@ -354,10 +358,6 @@ func TestDBCreateTableWithWGS84GeoPointKey(t *testing.T) {
 	testDBCreateTableWithKey(t, "WGS84GeoPoint")
 }
 
-func TestDBCreateTableWithShortTextKey(t *testing.T) {
-	testDBCreateTableWithKey(t, "ShortText")
-}
-
 func TestDBCreateTableWithBoolValue(t *testing.T) {
 	testDBCreateTableWithValue(t, "Bool")
 }
@@ -398,6 +398,10 @@ func TestDBCreateTableWithTimeRefKey(t *testing.T) {
 	testDBCreateTableWithRefKey(t, "Time")
 }
 
+func TestDBCreateTableWithShortTextRefKey(t *testing.T) {
+	testDBCreateTableWithRefKey(t, "ShortText")
+}
+
 func TestDBCreateTableWithTokyoGeoPointRefKey(t *testing.T) {
 	testDBCreateTableWithRefKey(t, "TokyoGeoPoint")
 }
@@ -406,10 +410,6 @@ func TestDBCreateTableWithWGS84GeoPointRefKey(t *testing.T) {
 	testDBCreateTableWithRefKey(t, "WGS84GeoPoint")
 }
 
-func TestDBCreateTableWithShortTextRefKey(t *testing.T) {
-	testDBCreateTableWithRefKey(t, "ShortText")
-}
-
 func TestDBCreateTableWithBoolRefValue(t *testing.T) {
 	testDBCreateTableWithRefValue(t, "Bool")
 }
@@ -426,6 +426,10 @@ func TestDBCreateTableWithTimeRefValue(t *testing.T) {
 	testDBCreateTableWithRefValue(t, "Time")
 }
 
+func TestDBCreateTableWithShortTextRefValue(t *testing.T) {
+	testDBCreateTableWithRefValue(t, "ShortText")
+}
+
 func TestDBCreateTableWithTokyoGeoPointRefValue(t *testing.T) {
 	testDBCreateTableWithRefValue(t, "TokyoGeoPoint")
 }
@@ -434,10 +438,6 @@ func TestDBCreateTableWithWGS84GeoPointRefValue(t *testing.T) {
 	testDBCreateTableWithRefValue(t, "WGS84GeoPoint")
 }
 
-func TestDBCreateTableWithShortTextRefValue(t *testing.T) {
-	testDBCreateTableWithRefValue(t, "ShortText")
-}
-
 func testTableInsertRow(t *testing.T, keyType string) {
 	options := NewTableOptions()
 	options.KeyType = keyType
@@ -505,6 +505,10 @@ func TestTableInsertRowWithTimeKey(t *testing.T) {
 	testTableInsertRow(t, "Time")
 }
 
+func TestTableInsertRowWithShortTextKey(t *testing.T) {
+	testTableInsertRow(t, "ShortText")
+}
+
 func TestTableInsertRowWithTokyoGeoPointKey(t *testing.T) {
 	testTableInsertRow(t, "TokyoGeoPoint")
 }
@@ -513,10 +517,6 @@ func TestTableInsertRowWithWGS84GeoPointKey(t *testing.T) {
 	testTableInsertRow(t, "WGS84GeoPoint")
 }
 
-func TestTableInsertRowWithShortTextKey(t *testing.T) {
-	testTableInsertRow(t, "ShortText")
-}
-
 func testTableCreateScalarColumn(t *testing.T, valueType string) {
 	dirPath, _, db, table, _ :=
 		createTempColumn(t, "Table", nil, "Value", valueType, nil)
@@ -615,14 +615,6 @@ func TestTableCreateColumnForTime(t *testing.T) {
 	testTableCreateScalarColumn(t, "Time")
 }
 
-func TestTableCreateColumnForTokyoGeoPoint(t *testing.T) {
-	testTableCreateScalarColumn(t, "TokyoGeoPoint")
-}
-
-func TestTableCreateColumnForWGS84GeoPoint(t *testing.T) {
-	testTableCreateScalarColumn(t, "WGS84GeoPoint")
-}
-
 func TestTableCreateColumnForShortText(t *testing.T) {
 	testTableCreateScalarColumn(t, "ShortText")
 }
@@ -635,6 +627,14 @@ func TestTableCreateColumnForLongText(t *testing.T) {
 	testTableCreateScalarColumn(t, "LongText")
 }
 
+func TestTableCreateColumnForTokyoGeoPoint(t *testing.T) {
+	testTableCreateScalarColumn(t, "TokyoGeoPoint")
+}
+
+func TestTableCreateColumnForWGS84GeoPoint(t *testing.T) {
+	testTableCreateScalarColumn(t, "WGS84GeoPoint")
+}
+
 func TestTableCreateColumnForBoolVector(t *testing.T) {
 	testTableCreateVectorColumn(t, "Bool")
 }
@@ -651,14 +651,6 @@ func TestTableCreateColumnForTimeVector(t *testing.T) {
 	testTableCreateVectorColumn(t, "Time")
 }
 
-func TestTableCreateColumnForTokyoGeoPointVector(t *testing.T) {
-	testTableCreateVectorColumn(t, "TokyoGeoPoint")
-}
-
-func TestTableCreateColumnForWGS84GeoPointVector(t *testing.T) {
-	testTableCreateVectorColumn(t, "WGS84GeoPoint")
-}
-
 func TestTableCreateColumnForShortTextVector(t *testing.T) {
 	testTableCreateVectorColumn(t, "ShortText")
 }
@@ -671,6 +663,14 @@ func TestTableCreateColumnForLongTextVector(t *testing.T) {
 	testTableCreateVectorColumn(t, "LongText")
 }
 
+func TestTableCreateColumnForTokyoGeoPointVector(t *testing.T) {
+	testTableCreateVectorColumn(t, "TokyoGeoPoint")
+}
+
+func TestTableCreateColumnForWGS84GeoPointVector(t *testing.T) {
+	testTableCreateVectorColumn(t, "WGS84GeoPoint")
+}
+
 func TestTableCreateColumnForRefToBool(t *testing.T) {
 	testTableCreateScalarRefColumn(t, "Bool")
 }
@@ -687,6 +687,10 @@ func TestTableCreateColumnForRefToTime(t *testing.T) {
 	testTableCreateScalarRefColumn(t, "Time")
 }
 
+func TestTableCreateColumnForRefToShortText(t *testing.T) {
+	testTableCreateScalarRefColumn(t, "ShortText")
+}
+
 func TestTableCreateColumnForRefToTokyoGeoPoint(t *testing.T) {
 	testTableCreateScalarRefColumn(t, "TokyoGeoPoint")
 }
@@ -695,10 +699,6 @@ func TestTableCreateColumnForRefToWGS84GeoPoint(t *testing.T) {
 	testTableCreateScalarRefColumn(t, "WGS84GeoPoint")
 }
 
-func TestTableCreateColumnForRefToShortText(t *testing.T) {
-	testTableCreateScalarRefColumn(t, "ShortText")
-}
-
 func TestTableCreateColumnForRefToBoolVector(t *testing.T) {
 	testTableCreateVectorRefColumn(t, "Bool")
 }
@@ -715,6 +715,10 @@ func TestTableCreateColumnForRefToTimeVector(t *testing.T) {
 	testTableCreateVectorRefColumn(t, "Time")
 }
 
+func TestTableCreateColumnForRefToShortTextVector(t *testing.T) {
+	testTableCreateVectorRefColumn(t, "ShortText")
+}
+
 func TestTableCreateColumnForRefToTokyoGeoPointVector(t *testing.T) {
 	testTableCreateVectorRefColumn(t, "TokyoGeoPoint")
 }
@@ -723,10 +727,6 @@ func TestTableCreateColumnForRefToWGS84GeoPointVector(t *testing.T) {
 	testTableCreateVectorRefColumn(t, "WGS84GeoPoint")
 }
 
-func TestTableCreateColumnForRefToShortTextVector(t *testing.T) {
-	testTableCreateVectorRefColumn(t, "ShortText")
-}
-
 func testColumnSetValue(t *testing.T, valueType string) {
 	dirPath, _, db, table, column :=
 		createTempColumn(t, "Table", nil, "Value", valueType, nil)
-------------- next part --------------
HTML����������������������������...
Download 



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