support doubleQuote

This commit is contained in:
wenshao
2014-10-28 17:13:49 +08:00
parent 3ac6bd8800
commit 1ebb303f08
4 changed files with 54 additions and 3 deletions
@@ -18,6 +18,5 @@ package com.alibaba.druid.sql.ast.expr;
import com.alibaba.druid.sql.ast.SQLExpr;
public interface SQLLiteralExpr extends SQLExpr {
}
@@ -15,6 +15,8 @@
*/
package com.alibaba.druid.sql.dialect.odps.parser;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
import com.alibaba.druid.sql.parser.Lexer;
import com.alibaba.druid.sql.parser.SQLExprParser;
@@ -41,4 +43,8 @@ public class OdpsExprParser extends SQLExprParser {
this(new OdpsLexer(sql));
this.lexer.nextToken();
}
protected SQLExpr parseAliasExpr(String alias) {
return new SQLCharExpr(alias);
}
}
@@ -560,7 +560,7 @@ public class SQLExprParser extends SQLParser {
sqlExpr = allExpr;
break;
case LITERAL_ALIAS:
sqlExpr = new SQLIdentifierExpr('"' + lexer.stringVal() + '"');
sqlExpr = parseAliasExpr(lexer.stringVal());
lexer.nextToken();
break;
case EOF:
@@ -579,6 +579,10 @@ public class SQLExprParser extends SQLParser {
return primaryRest(sqlExpr);
}
protected SQLExpr parseAliasExpr(String alias) {
return new SQLIdentifierExpr('"' + alias + '"');
}
protected SQLExpr parseInterval() {
throw new ParserException("TODO");