improved sql parser.

This commit is contained in:
wenshao
2017-06-07 13:54:41 +08:00
parent 3165a86e3c
commit 2b75d0f853
26 changed files with 746 additions and 152 deletions
@@ -27,33 +27,12 @@ import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class SQLServerInsertStatement extends SQLInsertStatement implements SQLServerObject {
private List<ValuesClause> valuesList = new ArrayList<ValuesClause>();
private boolean defaultValues;
private SQLServerTop top;
private SQLServerOutput output;
public ValuesClause getValues() {
if (valuesList.size() == 0) {
return null;
}
return valuesList.get(0);
}
public void setValues(ValuesClause values) {
if (valuesList.size() == 0) {
valuesList.add(values);
} else {
valuesList.set(0, values);
}
}
public List<ValuesClause> getValuesList() {
return valuesList;
}
@Override
protected void accept0(SQLASTVisitor visitor) {
this.accept0((SQLServerASTVisitor) visitor);
@@ -283,7 +283,7 @@ public class SQLServerStatementParser extends SQLStatementParser {
accept(Token.LPAREN);
SQLInsertStatement.ValuesClause values = new SQLInsertStatement.ValuesClause();
this.exprParser.exprList(values.getValues(), values);
insertStatement.getValuesList().add(values);
insertStatement.addValueCause(values);
accept(Token.RPAREN);
if (!parseCompleteValues && insertStatement.getValuesList().size() >= parseValuesSize) {