This commit is contained in:
温少
2012-03-18 21:02:41 +08:00
parent 4931dfd625
commit 192f7322c4
10 changed files with 154 additions and 48 deletions
@@ -47,16 +47,16 @@ public class SQLStatementParser extends SQLParser {
public SQLStatementParser(String sql){
super(sql);
this.exprParser = createExprParser();
this.exprParser = new SQLExprParser(lexer);
}
public SQLStatementParser(Lexer lexer){
super(lexer);
this.exprParser = createExprParser();
this.exprParser = new SQLExprParser(lexer);
}
protected SQLExprParser createExprParser() {
return new SQLExprParser(lexer);
public SQLExprParser getExprParser() {
return exprParser;
}
public List<SQLStatement> parseStatementList() throws ParserException {
@@ -255,7 +255,7 @@ public class SQLStatementParser extends SQLParser {
insertStatement.setValues(values);
accept(Token.RPAREN);
} else if (acceptSubQuery && (lexer.token() == Token.SELECT || lexer.token() == Token.LPAREN)) {
SQLQueryExpr queryExpr = (SQLQueryExpr) this.createExprParser().expr();
SQLQueryExpr queryExpr = (SQLQueryExpr) this.exprParser.expr();
insertStatement.setQuery(queryExpr.getSubQuery());
}
}