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... 下载