[Groonga-commit] groonga/groonga [master] Pass table to selector

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Aug 24 18:11:51 JST 2012


Kouhei Sutou	2012-08-24 18:11:51 +0900 (Fri, 24 Aug 2012)

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

  Log:
    Pass table to selector

  Modified files:
    lib/db.h
    lib/expr.c
    lib/geo.c
    lib/geo.h

  Modified: lib/db.h (+1 -1)
===================================================================
--- lib/db.h    2012-08-24 15:00:47 +0900 (9c20d32)
+++ lib/db.h    2012-08-24 18:11:51 +0900 (3bb8fa0)
@@ -153,7 +153,7 @@ typedef struct {
    (GRN_TABLE_HASH_KEY <= ((grn_db_obj *)obj)->header.type) &&\
    (((grn_db_obj *)obj)->header.type <= GRN_DB))
 
-typedef grn_rc grn_selector_func(grn_ctx *ctx, grn_obj *index,
+typedef grn_rc grn_selector_func(grn_ctx *ctx, grn_obj *table, grn_obj *index,
                                  int nargs, grn_obj **args,
                                  grn_obj *res, grn_operator op);
 

  Modified: lib/expr.c (+1 -1)
===================================================================
--- lib/expr.c    2012-08-24 15:00:47 +0900 (d434191)
+++ lib/expr.c    2012-08-24 18:11:51 +0900 (fcf4ce7)
@@ -4267,7 +4267,7 @@ grn_table_select(grn_ctx *ctx, grn_obj *table, grn_obj *expr,
               } else if (selector_proc_p(si->args[0])) {
                 grn_rc rc;
                 grn_proc *proc = (grn_obj *)(si->args[0]);
-                rc = proc->selector(ctx, index, si->nargs, si->args,
+                rc = proc->selector(ctx, table, index, si->nargs, si->args,
                                     res, si->logical_op);
                 if (rc) {
                   /* TODO: report error */

  Modified: lib/geo.c (+4 -4)
===================================================================
--- lib/geo.c    2012-08-24 15:00:47 +0900 (4cd8258)
+++ lib/geo.c    2012-08-24 18:11:51 +0900 (814f460)
@@ -673,7 +673,7 @@ typedef double (*grn_geo_distance_raw_func)(grn_ctx *ctx,
                                             grn_geo_point *point2);
 
 grn_rc
-grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *obj,
+grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *table, grn_obj *index,
                            int nargs, grn_obj **args,
                            grn_obj *res, grn_operator op)
 {
@@ -690,7 +690,7 @@ grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *obj,
       grn_obj *center_point, *distance;
       center_point = args[2];
       distance = args[3];
-      grn_geo_select_in_circle(ctx, obj, center_point, distance, type, res, op);
+      grn_geo_select_in_circle(ctx, index, center_point, distance, type, res, op);
     }
     break;
   default :
@@ -884,7 +884,7 @@ exit :
 }
 
 grn_rc
-grn_selector_geo_in_rectangle(grn_ctx *ctx, grn_obj *obj,
+grn_selector_geo_in_rectangle(grn_ctx *ctx, grn_obj *table, grn_obj *index,
                               int nargs, grn_obj **args,
                               grn_obj *res, grn_operator op)
 {
@@ -892,7 +892,7 @@ grn_selector_geo_in_rectangle(grn_ctx *ctx, grn_obj *obj,
     grn_obj *top_left_point, *bottom_right_point;
     top_left_point = args[2];
     bottom_right_point = args[3];
-    grn_geo_select_in_rectangle(ctx, obj,
+    grn_geo_select_in_rectangle(ctx, index,
                                 top_left_point, bottom_right_point,
                                 res, op);
   } else {

  Modified: lib/geo.h (+3 -2)
===================================================================
--- lib/geo.h    2012-08-24 15:00:47 +0900 (8fd2e7d)
+++ lib/geo.h    2012-08-24 18:11:51 +0900 (1b76284)
@@ -133,10 +133,11 @@ grn_rc grn_geo_select_in_circle(grn_ctx *ctx,
                                 grn_obj *res,
                                 grn_operator op);
 
-grn_rc grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *obj,
+grn_rc grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *table, grn_obj *index,
                                   int nargs, grn_obj **args,
                                   grn_obj *res, grn_operator op);
-grn_rc grn_selector_geo_in_rectangle(grn_ctx *ctx, grn_obj *obj,
+grn_rc grn_selector_geo_in_rectangle(grn_ctx *ctx,
+                                     grn_obj *table, grn_obj *index,
                                      int nargs, grn_obj **args,
                                      grn_obj *res, grn_operator op);
 
-------------- next part --------------
HTML����������������������������...
Download 



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