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