improved sql parser.

This commit is contained in:
wenshao
2017-06-05 09:59:34 +08:00
parent 21ae9b5722
commit bea1d70af2
28 changed files with 419 additions and 233 deletions
@@ -289,4 +289,12 @@ public class SQLBinaryOpExpr extends SQLExprImpl implements Serializable {
return new SQLBinaryOpExpr(a, SQLBinaryOperator.BooleanAnd, b);
}
public static SQLBinaryOpExpr isNotNull(SQLExpr expr) {
return new SQLBinaryOpExpr(expr, SQLBinaryOperator.IsNot, new SQLNullExpr());
}
public static SQLBinaryOpExpr isNull(SQLExpr expr) {
return new SQLBinaryOpExpr(expr, SQLBinaryOperator.Is, new SQLNullExpr());
}
}
@@ -18,5 +18,7 @@ package com.alibaba.druid.sql.ast.statement;
import com.alibaba.druid.sql.ast.SQLObject;
public interface SQLSelectQuery extends SQLObject {
boolean isBracket();
void setBracket(boolean bracket);
}
@@ -25,7 +25,7 @@ import com.alibaba.druid.sql.ast.SQLOrderBy;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class SQLSelectQueryBlock extends SQLObjectImpl implements SQLSelectQuery {
private boolean bracket = false;
protected int distionOption;
protected final List<SQLSelectItem> selectList = new ArrayList<SQLSelectItem>();
@@ -376,4 +376,14 @@ public class SQLSelectQueryBlock extends SQLObjectImpl implements SQLSelectQuery
x.setLimit(limit.clone());
}
}
@Override
public boolean isBracket() {
return bracket;
}
@Override
public void setBracket(boolean bracket) {
this.bracket = bracket;
}
}
@@ -22,6 +22,8 @@ import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class SQLUnionQuery extends SQLObjectImpl implements SQLSelectQuery {
private boolean bracket = false;
private SQLSelectQuery left;
private SQLSelectQuery right;
private SQLUnionOperator operator = SQLUnionOperator.UNION;
@@ -96,4 +98,12 @@ public class SQLUnionQuery extends SQLObjectImpl implements SQLSelectQuery {
}
this.limit = limit;
}
public boolean isBracket() {
return bracket;
}
public void setBracket(boolean bracket) {
this.bracket = bracket;
}
}