[Groonga-commit] groonga/groonga [master] [cast] treat 0 -> geo point cast is invalid.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 9月 8日 (木) 18:21:10 JST


Kouhei Sutou	2011-09-08 09:21:10 +0000 (Thu, 08 Sep 2011)

  New Revision: 59e2d6e03c33886c461c305c0da7a5ce7be45cfc

  Log:
    [cast] treat 0 -> geo point cast is invalid.

  Modified files:
    lib/db.c
    test/unit/core/test-cast-basic.c

  Modified: lib/db.c (+1 -5)
===================================================================
--- lib/db.c    2011-09-06 05:45:04 +0000 (2aa49c8)
+++ lib/db.c    2011-09-08 09:21:10 +0000 (26a0446)
@@ -4068,11 +4068,7 @@ grn_obj_is_persistent(grn_ctx *ctx, grn_obj *obj)
     break;\
   case GRN_DB_TOKYO_GEO_POINT :\
   case GRN_DB_WGS84_GEO_POINT :\
-    if (getvalue(src) == 0) {\
-      /* REMOVE ME. just ignore zero for backward compatibility. */\
-    } else {\
-      rc = GRN_INVALID_ARGUMENT;\
-    }\
+    rc = GRN_INVALID_ARGUMENT;\
     break;\
   default :\
     SRC2RECORD();\

  Modified: test/unit/core/test-cast-basic.c (+3 -6)
===================================================================
--- test/unit/core/test-cast-basic.c    2011-09-06 05:45:04 +0000 (1c71e42)
+++ test/unit/core/test-cast-basic.c    2011-09-08 09:21:10 +0000 (f39b02f)
@@ -531,13 +531,10 @@ test_int32_to_text(void)
 void
 test_int32_to_geo_point_zero(void)
 {
-  gint zero_latitude, zero_longitude;
-
   grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
-  cast_int32(0);
-  GRN_GEO_POINT_VALUE(&dest, zero_latitude, zero_longitude);
-  cut_assert_equal_int(0, zero_latitude);
-  cut_assert_equal_int(0, zero_longitude);
+  set_int32(0);
+  grn_test_assert_equal_rc(GRN_INVALID_ARGUMENT,
+                           grn_obj_cast(&context, &src, &dest, GRN_FALSE));
 }
 
 void




Groonga-commit メーリングリストの案内
Back to archive index