git-svn-id: http://code.alibabatech.com/svn/druid/trunk@118 b9813039-fb51-4c41-a8b9-e21c2acb5095

This commit is contained in:
wenshao
2011-05-18 09:57:10 +00:00
parent 43f2b023e8
commit 22c6f4f074
5 changed files with 58 additions and 7 deletions
@@ -108,8 +108,8 @@ public class MySqlLexer extends Lexer {
DEFAULT_MYSQL_KEYWORDS = new Keywords(map);
}
public MySqlLexer(char[] input, int inputLength){
super(input, inputLength);
public MySqlLexer(char[] input, int inputLength, boolean skipComment){
super(input, inputLength, skipComment);
super.keywods = DEFAULT_MYSQL_KEYWORDS;
}
@@ -74,11 +74,18 @@ public class Lexer {
protected String stringVal;
protected boolean skipComment = true;
public Lexer(String input){
this(input.toCharArray(), input.length());
this(input, true);
}
public Lexer(char[] input, int inputLength){
public Lexer(String input, boolean skipComment){
this(input.toCharArray(), input.length(), skipComment);
}
public Lexer(char[] input, int inputLength, boolean skipComment){
this.skipComment = skipComment;
this.sbuf = sbufRef.get(); // new char[1024];
if (this.sbuf == null) {
this.sbuf = new char[1024];
@@ -245,6 +252,9 @@ public class Lexer {
return;
case '/':
scanComment();
if (skipComment) {
continue;
}
return;
default:
if (Character.isLetter(ch)) {
@@ -287,8 +287,9 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter {
public boolean visit(SQLInListExpr x) {
x.getExpr().accept(this);
if (x.isNot()) print(" NOT IN (");
else {
if (x.isNot()) {
print(" NOT IN (");
} else {
print(" IN (");
}