[Groonga-commit] groonga/groonga at 85d0d64 [master] grn_ts: fix a bug that Time keys are not supported

Back to archive index

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 



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