mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improved sql parser.
This commit is contained in:
+6
-7
@@ -28,8 +28,7 @@ import com.alibaba.druid.util.JdbcConstants;
|
||||
public class PGDeleteStatement extends SQLDeleteStatement implements PGSQLStatement {
|
||||
|
||||
private boolean returning;
|
||||
private String alias;
|
||||
|
||||
|
||||
public PGDeleteStatement() {
|
||||
super (JdbcConstants.POSTGRESQL);
|
||||
}
|
||||
@@ -43,15 +42,16 @@ public class PGDeleteStatement extends SQLDeleteStatement implements PGSQLStatem
|
||||
}
|
||||
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
if (tableSource == null) {
|
||||
return null;
|
||||
}
|
||||
return tableSource.getAlias();
|
||||
}
|
||||
|
||||
public void setAlias(String alias) {
|
||||
this.alias = alias;
|
||||
this.tableSource.setAlias(alias);
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
accept0((PGASTVisitor) visitor);
|
||||
}
|
||||
@@ -73,7 +73,6 @@ public class PGDeleteStatement extends SQLDeleteStatement implements PGSQLStatem
|
||||
cloneTo(x);
|
||||
|
||||
x.returning = returning;
|
||||
x.alias = alias;
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
@@ -163,6 +163,14 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet
|
||||
this.inputParameters = parameters;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 1.1.5
|
||||
*/
|
||||
public void setOutputParameters(List<Object> parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
public int getIndentCount() {
|
||||
return indentCount;
|
||||
}
|
||||
@@ -2286,10 +2294,16 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet
|
||||
|
||||
public boolean visit(SQLDeleteStatement x) {
|
||||
SQLTableSource from = x.getFrom();
|
||||
String alias = x.getAlias();
|
||||
|
||||
if (from == null) {
|
||||
print0(ucase ? "DELETE FROM " : "delete from ");
|
||||
printTableSourceExpr(x.getTableName());
|
||||
|
||||
if (alias != null) {
|
||||
print(' ');
|
||||
print0(alias);
|
||||
}
|
||||
} else {
|
||||
print0(ucase ? "DELETE " : "delete ");
|
||||
printTableSourceExpr(x.getTableName());
|
||||
|
||||
Reference in New Issue
Block a user