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:
@@ -0,0 +1,39 @@
|
||||
package com.alibaba.druid.sql.ast;
|
||||
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
/**
|
||||
* Created by wenshao on 29/05/2017.
|
||||
*/
|
||||
public class SQLArgument extends SQLObjectImpl {
|
||||
private SQLParameter.ParameterType type;
|
||||
private SQLExpr expr;
|
||||
|
||||
@Override
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
if (visitor.visit(this)) {
|
||||
acceptChild(visitor, expr);
|
||||
}
|
||||
|
||||
visitor.endVisit(this);
|
||||
}
|
||||
|
||||
public SQLParameter.ParameterType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public SQLExpr getExpr() {
|
||||
return expr;
|
||||
}
|
||||
|
||||
public void setType(SQLParameter.ParameterType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public void setExpr(SQLExpr expr) {
|
||||
if (expr != null) {
|
||||
expr.setParent(this);
|
||||
}
|
||||
this.expr = expr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright 1999-2017 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.statement;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class SQLCommitStatement extends SQLStatementImpl {
|
||||
|
||||
// oracle
|
||||
private boolean write;
|
||||
private Boolean wait;
|
||||
private Boolean immediate;
|
||||
|
||||
// mysql
|
||||
private boolean work = false;
|
||||
private Boolean chain;
|
||||
private Boolean release;
|
||||
|
||||
// sql server
|
||||
private SQLExpr transactionName;
|
||||
private SQLExpr delayedDurability;
|
||||
|
||||
public void accept0(SQLASTVisitor visitor) {
|
||||
if (visitor.visit(this)) {
|
||||
acceptChild(visitor, transactionName);
|
||||
acceptChild(visitor, delayedDurability);
|
||||
}
|
||||
visitor.endVisit(this);
|
||||
}
|
||||
|
||||
// oracle
|
||||
public boolean isWrite() {
|
||||
return write;
|
||||
}
|
||||
|
||||
public void setWrite(boolean write) {
|
||||
this.write = write;
|
||||
}
|
||||
|
||||
public Boolean getWait() {
|
||||
return wait;
|
||||
}
|
||||
|
||||
public void setWait(Boolean wait) {
|
||||
this.wait = wait;
|
||||
}
|
||||
|
||||
public Boolean getImmediate() {
|
||||
return immediate;
|
||||
}
|
||||
|
||||
public void setImmediate(Boolean immediate) {
|
||||
this.immediate = immediate;
|
||||
}
|
||||
|
||||
// mysql
|
||||
public Boolean getChain() {
|
||||
return chain;
|
||||
}
|
||||
|
||||
public void setChain(Boolean chain) {
|
||||
this.chain = chain;
|
||||
}
|
||||
|
||||
public Boolean getRelease() {
|
||||
return release;
|
||||
}
|
||||
|
||||
public void setRelease(Boolean release) {
|
||||
this.release = release;
|
||||
}
|
||||
|
||||
public boolean isWork() {
|
||||
return work;
|
||||
}
|
||||
|
||||
public void setWork(boolean work) {
|
||||
this.work = work;
|
||||
}
|
||||
|
||||
// sql server
|
||||
public SQLExpr getTransactionName() {
|
||||
return transactionName;
|
||||
}
|
||||
|
||||
public void setTransactionName(SQLExpr transactionName) {
|
||||
if (transactionName != null) {
|
||||
transactionName.setParent(this);
|
||||
}
|
||||
this.transactionName = transactionName;
|
||||
}
|
||||
|
||||
public SQLExpr getDelayedDurability() {
|
||||
return delayedDurability;
|
||||
}
|
||||
|
||||
public void setDelayedDurability(SQLExpr delayedDurability) {
|
||||
if (delayedDurability != null) {
|
||||
delayedDurability.setParent(this);
|
||||
}
|
||||
this.delayedDurability = delayedDurability;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user