修正运算符优先级别处理不当的问题

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@160 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-05-20 16:05:38 +00:00
parent 2b19baff03
commit 431e080bdf
54 changed files with 1085 additions and 114 deletions
@@ -29,6 +29,7 @@ public class SQLInsertStatement extends SQLStatementImpl {
private static final long serialVersionUID = 1L;
private SQLName tableName;
private String alias;
private final List<SQLExpr> columns = new ArrayList<SQLExpr>();
private ValuesClause values;
@@ -38,6 +39,14 @@ public class SQLInsertStatement extends SQLStatementImpl {
}
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias = alias;
}
public SQLName getTableName() {
return tableName;
}
@@ -51,7 +51,10 @@ public class SQLSubqueryTableSource extends SQLTableSource {
@Override
protected void accept0(SQLASTVisitor visitor) {
throw new UnsupportedOperationException();
if (visitor.visit(this)) {
acceptChild(visitor, select);
}
visitor.endVisit(this);
}
public void output(StringBuffer buf) {
@@ -0,0 +1,18 @@
package com.alibaba.druid.sql.ast.statement;
public enum SQLUnionOperator {
UNION("UNION"),
UNION_ALL("UNION ALL"),
MINUS("MINUS"),
INTERSECT("INTERSECT");
public final String name;
private SQLUnionOperator(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
@@ -23,7 +23,15 @@ public class SQLUnionQuery extends SQLSelectQuery {
private SQLSelectQuery left;
private SQLSelectQuery right;
private boolean all;
private SQLUnionOperator operator = SQLUnionOperator.UNION;
public SQLUnionOperator getOperator() {
return operator;
}
public void setOperator(SQLUnionOperator operator) {
this.operator = operator;
}
public SQLUnionQuery(){
@@ -45,14 +53,6 @@ public class SQLUnionQuery extends SQLSelectQuery {
this.right = right;
}
public boolean isAll() {
return all;
}
public void setAll(boolean all) {
this.all = all;
}
@Override
protected void accept0(SQLASTVisitor visitor) {
if (visitor.visit(this)) {