Merge pull request #483 from wenshao/master

bug fixed for oracle trim function
This commit is contained in:
温高铁
2013-12-23 18:29:11 -08:00
5 changed files with 113 additions and 102 deletions
@@ -85,6 +85,7 @@ public class OracleExprParser extends SQLExprParser {
public boolean allowStringAdditive = false;
/**
@@ -504,9 +505,11 @@ public class OracleExprParser extends SQLExprParser {
SQLExpr trim_character = this.primary();
trim_character.setParent(methodExpr);
methodExpr.putAttribute("trim_character", trim_character);
accept(Token.FROM);
SQLExpr trim_source = this.expr();
methodExpr.addParameter(trim_source);
if (lexer.token() == Token.FROM) {
lexer.nextToken();
SQLExpr trim_source = this.expr();
methodExpr.addParameter(trim_source);
}
accept(Token.RPAREN);
return primaryRest(methodExpr);
@@ -3398,8 +3398,10 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
print(' ');
}
trim_character.accept(this);
print(" FROM ");
x.getParameters().get(0).accept(this);
if (x.getParameters().size() > 0) {
print(" FROM ");
x.getParameters().get(0).accept(this);
}
print(")");
return false;
}