[Groonga-commit] groonga/groonga at fe7cdbe [master] Remove unused code

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Mar 10 18:40:24 JST 2015


Kouhei Sutou	2015-03-10 18:40:24 +0900 (Tue, 10 Mar 2015)

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

  Message:
    Remove unused code

  Modified files:
    lib/expr.c

  Modified: lib/expr.c (+0 -317)
===================================================================
--- lib/expr.c    2015-03-10 18:38:37 +0900 (c77d020)
+++ lib/expr.c    2015-03-10 18:40:24 +0900 (6dcd4fe)
@@ -5332,239 +5332,6 @@ skip_space(grn_ctx *ctx, efs_info *q)
   }
 }
 
-static grn_rc get_expr(grn_ctx *ctx, efs_info *q, grn_obj *column, grn_operator mode);
-static grn_rc get_token(grn_ctx *ctx, efs_info *q, efs_op *op, grn_obj *column, grn_operator mode);
-
-static grn_rc
-get_phrase(grn_ctx *ctx, efs_info *q, grn_obj *column, int mode, int option)
-{
-  const char *start, *s;
-  start = s = q->cur;
-  GRN_BULK_REWIND(&q->buf);
-  while (1) {
-    unsigned int len;
-    if (s >= q->str_end) {
-      q->cur = s;
-      break;
-    }
-    len = grn_charlen(ctx, s, q->str_end);
-    if (len == 0) {
-      /* invalid string containing malformed multibyte char */
-      return GRN_END_OF_DATA;
-    } else if (len == 1) {
-      if (*s == GRN_QUERY_QUOTER) {
-        q->cur = s + 1;
-        break;
-      } else if (*s == GRN_QUERY_ESCAPE && s + 1 < q->str_end) {
-        s++;
-        len = grn_charlen(ctx, s, q->str_end);
-      }
-    }
-    GRN_TEXT_PUT(ctx, &q->buf, s, len);
-    s += len;
-  }
-  grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-  grn_expr_append_const(ctx, q->e, column, GRN_OP_PUSH, 1);
-  grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-  grn_expr_append_const(ctx, q->e, &q->buf, GRN_OP_PUSH, 1);
-  if (mode == GRN_OP_MATCH || mode == GRN_OP_EXACT) {
-    grn_expr_append_op(ctx, q->e, mode, 2);
-  } else {
-    grn_expr_append_const_int(ctx, q->e, option, GRN_OP_PUSH, 1);
-    grn_expr_append_op(ctx, q->e, mode, 3);
-  }
-  return GRN_SUCCESS;
-}
-
-static grn_rc
-get_geocond(grn_ctx *ctx, efs_info *q, grn_obj *longitude, grn_obj *latitude)
-{
-  unsigned int len;
-  const char *start = q->cur, *end;
-  for (end = q->cur;; ) {
-    /* null check and length check */
-    if (!(len = grn_charlen(ctx, end, q->str_end))) {
-      q->cur = q->str_end;
-      break;
-    }
-    if (grn_isspace(end, ctx->encoding) ||
-        *end == GRN_QUERY_PARENR) {
-      q->cur = end;
-      break;
-    }
-  }
-  {
-    const char *tokbuf[8];
-    int32_t lng0, lat0, lng1, lat1, lng2, lat2, r;
-    int32_t n = grn_str_tok((char *)start, end - start, ',', tokbuf, 8, NULL);
-    switch (n) {
-    case 3 :
-      lng0 = grn_atoi(start, tokbuf[0], NULL);
-      lat0 = grn_atoi(tokbuf[0] + 1, tokbuf[1], NULL);
-      r = grn_atoi(tokbuf[1] + 1, tokbuf[2], NULL);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, longitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, latitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_const_int(ctx, q->e, lng0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, r, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GEO_WITHINP5, 5);
-      break;
-    case 4 :
-      lng0 = grn_atoi(start, tokbuf[0], NULL);
-      lat0 = grn_atoi(tokbuf[0] + 1, tokbuf[1], NULL);
-      lng1 = grn_atoi(tokbuf[1] + 1, tokbuf[2], NULL);
-      lat1 = grn_atoi(tokbuf[2] + 1, tokbuf[3], NULL);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, longitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, latitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_const_int(ctx, q->e, lng0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lng1, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat1, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GEO_WITHINP6, 6);
-      break;
-    case 6 :
-      lng0 = grn_atoi(start, tokbuf[0], NULL);
-      lat0 = grn_atoi(tokbuf[0] + 1, tokbuf[1], NULL);
-      lng1 = grn_atoi(tokbuf[1] + 1, tokbuf[2], NULL);
-      lat1 = grn_atoi(tokbuf[2] + 1, tokbuf[3], NULL);
-      lng2 = grn_atoi(tokbuf[3] + 1, tokbuf[4], NULL);
-      lat2 = grn_atoi(tokbuf[4] + 1, tokbuf[5], NULL);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, longitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-      grn_expr_append_const(ctx, q->e, latitude, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-      grn_expr_append_const_int(ctx, q->e, lng0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat0, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lng1, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat1, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lng2, GRN_OP_PUSH, 1);
-      grn_expr_append_const_int(ctx, q->e, lat2, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, GRN_OP_GEO_WITHINP8, 8);
-      break;
-    default :
-      ERR(GRN_INVALID_ARGUMENT, "invalid geocond");
-      break;
-    }
-  }
-  return ctx->rc;
-}
-
-static grn_rc
-get_word(grn_ctx *ctx, efs_info *q, grn_obj *column, int mode, int option)
-{
-  const char *start = q->cur, *end;
-  unsigned int len;
-  for (end = q->cur;; ) {
-    /* null check and length check */
-    if (!(len = grn_charlen(ctx, end, q->str_end))) {
-      q->cur = q->str_end;
-      break;
-    }
-    if (grn_isspace(end, ctx->encoding) ||
-        *end == GRN_QUERY_PARENR) {
-      q->cur = end;
-      break;
-    }
-    if (*end == GRN_QUERY_COLUMN) {
-      grn_obj *c = grn_obj_column(ctx, q->table, start, end - start);
-      if (c && end + 1 < q->str_end) {
-        efs_op op;
-        switch (end[1]) {
-        case '!' :
-          mode = GRN_OP_NOT_EQUAL;
-          q->cur = end + 2;
-          break;
-        case '=' :
-          if (q->flags & GRN_EXPR_ALLOW_UPDATE) {
-            mode = GRN_OP_ASSIGN;
-            q->cur = end + 2;
-          } else {
-            get_token(ctx, q, &op, c, mode);
-          }
-          break;
-        case '<' :
-          if (end + 2 < q->str_end && end[2] == '=') {
-            mode = GRN_OP_LESS_EQUAL;
-            q->cur = end + 3;
-          } else {
-            mode = GRN_OP_LESS;
-            q->cur = end + 2;
-          }
-          break;
-        case '>' :
-          if (end + 2 < q->str_end && end[2] == '=') {
-            mode = GRN_OP_GREATER_EQUAL;
-            q->cur = end + 3;
-          } else {
-            mode = GRN_OP_GREATER;
-            q->cur = end + 2;
-          }
-          break;
-        case '%' :
-          mode = GRN_OP_MATCH;
-          q->cur = end + 2;
-          break;
-        case '@' :
-          q->cur = end + 2;
-          return get_geocond(ctx, q, column, c);
-          break;
-        default :
-          mode = GRN_OP_EQUAL;
-          q->cur = end + 1;
-          break;
-        }
-        return get_token(ctx, q, &op, c, mode);
-      } else {
-        ERR(GRN_INVALID_ARGUMENT, "column lookup failed");
-        return ctx->rc;
-      }
-    } else if (*end == GRN_QUERY_PREFIX) {
-      mode = GRN_OP_PREFIX;
-      q->cur = end + 1;
-      break;
-    }
-    end += len;
-  }
-  if (!column) {
-    ERR(GRN_INVALID_ARGUMENT, "column missing");
-    return ctx->rc;
-  }
-  if (mode == GRN_OP_ASSIGN) {
-    grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-    grn_expr_append_const(ctx, q->e, column, GRN_OP_PUSH, 1);
-    grn_expr_append_const_str(ctx, q->e, start, end - start, GRN_OP_PUSH, 1);
-    grn_expr_append_op(ctx, q->e, GRN_OP_ASSIGN, 2);
-  } else {
-    grn_expr_append_obj(ctx, q->e, q->v, GRN_OP_PUSH, 1);
-    grn_expr_append_const(ctx, q->e, column, GRN_OP_PUSH, 1);
-    grn_expr_append_op(ctx, q->e, GRN_OP_GET_VALUE, 2);
-    grn_expr_append_const_str(ctx, q->e, start, end - start, GRN_OP_PUSH, 1);
-    switch (mode) {
-    case GRN_OP_NEAR :
-    case GRN_OP_NEAR2 :
-    case GRN_OP_SIMILAR :
-    case GRN_OP_TERM_EXTRACT :
-      grn_expr_append_const_int(ctx, q->e, option, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, mode, 3);
-      break;
-    default :
-      grn_expr_append_op(ctx, q->e, mode, 2);
-      break;
-    }
-  }
-  return GRN_SUCCESS;
-}
-
 static grn_bool
 get_op(efs_info *q, efs_op *op, grn_operator *mode, int *option)
 {
@@ -5613,90 +5380,6 @@ get_op(efs_info *q, efs_op *op, grn_operator *mode, int *option)
   return found;
 }
 
-static grn_rc
-get_token(grn_ctx *ctx, efs_info *q, efs_op *op, grn_obj *column, grn_operator mode)
-{
-  int option = 0;
-  op->op = q->default_op;
-  op->weight = DEFAULT_WEIGHT;
-  for (;;) {
-    skip_space(ctx, q);
-    if (q->cur >= q->str_end) { return GRN_END_OF_DATA; }
-    switch (*q->cur) {
-    case '\0' :
-      return GRN_END_OF_DATA;
-      break;
-    case GRN_QUERY_PARENR :
-      q->cur++;
-      return GRN_END_OF_DATA;
-      break;
-    case GRN_QUERY_QUOTEL :
-      q->cur++;
-      return get_phrase(ctx, q, column, mode, option);
-      break;
-    case GRN_QUERY_PREFIX :
-      q->cur++;
-      get_op(q, op, &mode, &option);
-      break;
-    case GRN_QUERY_AND :
-      q->cur++;
-      op->op = GRN_OP_AND;
-      break;
-    case GRN_QUERY_AND_NOT :
-      q->cur++;
-      op->op = GRN_OP_AND_NOT;
-      break;
-    case GRN_QUERY_ADJ_INC :
-      q->cur++;
-      if (op->weight < 127) { op->weight++; }
-      op->op = GRN_OP_ADJUST;
-      break;
-    case GRN_QUERY_ADJ_DEC :
-      q->cur++;
-      if (op->weight > -128) { op->weight--; }
-      op->op = GRN_OP_ADJUST;
-      break;
-    case GRN_QUERY_ADJ_NEG :
-      q->cur++;
-      op->op = GRN_OP_ADJUST;
-      op->weight = -1;
-      break;
-    case GRN_QUERY_PARENL :
-      q->cur++;
-      return get_expr(ctx, q, column, mode);
-      break;
-    case 'O' :
-      if (q->cur[1] == 'R' && q->cur[2] == ' ') {
-        q->cur += 2;
-        op->op = GRN_OP_OR;
-        break;
-      }
-      /* fallthru */
-    default :
-      return get_word(ctx, q, column, mode, option);
-      break;
-    }
-  }
-  return GRN_SUCCESS;
-}
-
-static grn_rc
-get_expr(grn_ctx *ctx, efs_info *q, grn_obj *column, grn_operator mode)
-{
-  efs_op op;
-  grn_rc rc = get_token(ctx, q, &op, column, mode);
-  if (rc) { return rc; }
-  while (!(rc = get_token(ctx, q, &op, column, mode))) {
-    if (op.op == GRN_OP_ADJUST) {
-      grn_expr_append_const_int(ctx, q->e, op.weight, GRN_OP_PUSH, 1);
-      grn_expr_append_op(ctx, q->e, op.op, 3);
-    } else {
-      grn_expr_append_op(ctx, q->e, op.op, 2);
-    }
-  }
-  return rc;
-}
-
 #define DISABLE_UNUSED_CODE 1
 #ifndef DISABLE_UNUSED_CODE
 static const char *
-------------- next part --------------
HTML����������������������������...
Download 



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