[Groonga-commit] groonga/groonga at dbf3149 [master] Optimize expression for !=, <, <=, => and > operations

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Nov 11 13:20:36 JST 2014


Kouhei Sutou	2014-11-11 13:20:36 +0900 (Tue, 11 Nov 2014)

  New Revision: dbf31498c88d92a6ffd26721b3c36fdbf329fcd5
  https://github.com/groonga/groonga/commit/dbf31498c88d92a6ffd26721b3c36fdbf329fcd5

  Message:
    Optimize expression for !=, <, <=, => and > operations
    
    Cast is done in building expression not evaluating expression.

  Modified files:
    lib/expr.c

  Modified: lib/expr.c (+5 -5)
===================================================================
--- lib/expr.c    2014-11-11 13:17:21 +0900 (ffcce9e)
+++ lib/expr.c    2014-11-11 13:20:36 +0900 (8aa8300)
@@ -833,6 +833,11 @@ grn_expr_append_obj(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op,
       DFI_PUT(e, type, domain, code);
       break;
     case GRN_OP_EQUAL :
+    case GRN_OP_NOT_EQUAL :
+    case GRN_OP_LESS :
+    case GRN_OP_GREATER :
+    case GRN_OP_LESS_EQUAL :
+    case GRN_OP_GREATER_EQUAL :
       PUSH_CODE(e, op, obj, nargs, code);
       if (nargs) {
         grn_id xd, yd = GRN_ID_NIL;
@@ -889,11 +894,6 @@ grn_expr_append_obj(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op,
     case GRN_OP_SIMILAR :
     case GRN_OP_PREFIX :
     case GRN_OP_SUFFIX :
-    case GRN_OP_NOT_EQUAL :
-    case GRN_OP_LESS :
-    case GRN_OP_GREATER :
-    case GRN_OP_LESS_EQUAL :
-    case GRN_OP_GREATER_EQUAL :
     case GRN_OP_GEO_DISTANCE1 :
     case GRN_OP_GEO_DISTANCE2 :
     case GRN_OP_GEO_DISTANCE3 :
-------------- next part --------------
HTML����������������������������...
下載 



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