susumu.yata
null+****@clear*****
Mon Sep 28 14:41:20 JST 2015
susumu.yata 2015-09-28 14:41:20 +0900 (Mon, 28 Sep 2015) New Revision: 85d0d649a428a6b4d4cce3ac28de1890e7ef6d48 https://github.com/groonga/groonga/commit/85d0d649a428a6b4d4cce3ac28de1890e7ef6d48 Message: grn_ts: fix a bug that Time keys are not supported Modified files: lib/ts.c Modified: lib/ts.c (+20 -0) =================================================================== --- lib/ts.c 2015-09-28 14:28:34 +0900 (aad43b0) +++ lib/ts.c 2015-09-28 14:41:20 +0900 (7b2038b) @@ -1473,6 +1473,15 @@ grn_ts_hash_get_float_key(grn_ctx *ctx, grn_hash *hash, grn_ts_id id, return GRN_SUCCESS; } +/* grn_ts_hash_get_time_key() gets a reference to a key (_key). */ +static grn_rc +grn_ts_hash_get_time_key(grn_ctx *ctx, grn_hash *hash, grn_ts_id id, + grn_ts_time *key) { + GRN_TS_TABLE_GET_KEY(hash) + *key = *(const grn_ts_time *)key_ptr; + return GRN_SUCCESS; +} + /* grn_ts_hash_get_geo_point_key() gets a reference to a key (_key). */ static grn_rc grn_ts_hash_get_geo_point_key(grn_ctx *ctx, grn_hash *hash, grn_ts_id id, @@ -1608,6 +1617,15 @@ grn_ts_pat_get_float_key(grn_ctx *ctx, grn_pat *pat, grn_ts_id id, return GRN_SUCCESS; } +/* grn_ts_pat_get_time_key() gets a reference to a key (_key). */ +static grn_rc +grn_ts_pat_get_time_key(grn_ctx *ctx, grn_pat *pat, grn_ts_id id, + grn_ts_time *key) { + GRN_TS_TABLE_GET_KEY(pat) + grn_ntohi(key, key_ptr, sizeof(grn_ts_time)); + return GRN_SUCCESS; +} + /* grn_ts_pat_get_geo_point_key() gets a reference to a key (_key). */ static grn_rc grn_ts_pat_get_geo_point_key(grn_ctx *ctx, grn_pat *pat, grn_ts_id id, @@ -1959,6 +1977,7 @@ grn_ts_expr_key_node_evaluate(grn_ctx *ctx, grn_ts_expr_key_node *node, } } GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(hash, FLOAT, float) + GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(hash, TIME, time) GRN_TS_EXPR_KEY_NODE_EVALUATE_TEXT_CASE(hash) GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(hash, GEO_POINT, geo_point) GRN_TS_EXPR_KEY_NODE_EVALUATE_REF_CASE(hash) @@ -1984,6 +2003,7 @@ grn_ts_expr_key_node_evaluate(grn_ctx *ctx, grn_ts_expr_key_node *node, } } GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(pat, FLOAT, float) + GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(pat, TIME, time) GRN_TS_EXPR_KEY_NODE_EVALUATE_TEXT_CASE(pat) GRN_TS_EXPR_KEY_NODE_EVALUATE_CASE(pat, GEO_POINT, geo_point) GRN_TS_EXPR_KEY_NODE_EVALUATE_REF_CASE(pat) -------------- next part -------------- HTML����������������������������... Descargar