[Groonga-commit] groonga/gcs [master] BqTranslator: extract string value translator

Back to archive index

null+****@clear***** null+****@clear*****
2012年 7月 27日 (金) 15:06:34 JST


Kouhei Sutou	2012-07-27 15:06:34 +0900 (Fri, 27 Jul 2012)

  New Revision: 0c23ca7e59758367bb6b854f1dc9cc6c280c81d5
  https://github.com/groonga/gcs/commit/0c23ca7e59758367bb6b854f1dc9cc6c280c81d5

  Log:
    BqTranslator: extract string value translator

  Modified files:
    lib/bq-translator.js

  Modified: lib/bq-translator.js (+23 -15)
===================================================================
--- lib/bq-translator.js    2012-07-27 14:59:05 +0900 (4997227)
+++ lib/bq-translator.js    2012-07-27 15:06:34 +0900 (4d4598f)
@@ -18,23 +18,31 @@ BooleanQueryTranslator.prototype = {
     return this.translateTinia(query);
   },
   translateExpression: function(query, context) {
+    if (query[context.offset] == "'") {
+      return this.translateExpressionValueString(query, context);
+    }
+    return "";
+  },
+  translateExpressionValueString: function(query, context) {
+    if (query[context.offset] != "'") {
+      // TODO: report error
+      return "";
+    }
+
     var value = "";
-    var is_string_literal = (query[context.offset] == "'");
-    if (is_string_literal) {
-      context.offset++;
-      for (; context.offset < query.length; context.offset++) {
-        var character = query[context.offset];
-        if (character == "'") {
-          context.offset++;
-          break;
-        }
-
-        if (character == "\\") {
-          context.offset++;
-          character = query[context.offset];
-        }
-        value += character;
+    context.offset++;
+    for (; context.offset < query.length; context.offset++) {
+      var character = query[context.offset];
+      if (character == "'") {
+        context.offset++;
+        break;
+      }
+
+      if (character == "\\") {
+        context.offset++;
+        character = query[context.offset];
       }
+      value += character;
     }
     return value;
   },
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
下载 



Groonga-commit メーリングリストの案内
Back to archive index