com.shulie.druid.sql.ast.statement.SQLTableSampling Maven / Gradle / Ivy
package com.shulie.druid.sql.ast.statement;
import com.shulie.druid.sql.ast.SQLExpr;
import com.shulie.druid.sql.ast.SQLObjectImpl;
import com.shulie.druid.sql.ast.SQLReplaceable;
import com.shulie.druid.sql.visitor.SQLASTVisitor;
public class SQLTableSampling extends SQLObjectImpl implements SQLReplaceable {
private SQLExpr bucket;
private SQLExpr outOf;
private SQLExpr on;
private SQLExpr percent;
private SQLExpr rows;
private SQLExpr byteLength;
private boolean bernoulli;
private boolean system;
public SQLTableSampling clone() {
SQLTableSampling x = new SQLTableSampling();
if (bucket != null) {
x.setBucket(bucket.clone());
}
if (outOf != null) {
x.setOutOf(outOf.clone());
}
if (on != null) {
x.setOn(on.clone());
}
if (percent != null) {
x.setPercent(percent.clone());
}
if (rows != null) {
x.setRows(rows.clone());
}
if (byteLength != null) {
x.setByteLength(byteLength.clone());
}
x.bernoulli = bernoulli;
x.system = system;
return x;
}
public SQLExpr getBucket() {
return bucket;
}
public void setBucket(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.bucket = x;
}
public SQLExpr getOutOf() {
return outOf;
}
public void setOutOf(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.outOf = x;
}
public SQLExpr getOn() {
return on;
}
public void setOn(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.on = x;
}
public SQLExpr getPercent() {
return percent;
}
public void setPercent(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.percent = x;
}
@Override
protected void accept0(SQLASTVisitor v) {
if (v.visit(this)) {
acceptChild(v, bucket);
acceptChild(v, outOf);
acceptChild(v, on);
acceptChild(v, percent);
acceptChild(v, byteLength);
}
v.endVisit(this);
}
@Override
public boolean replace(SQLExpr expr, SQLExpr target) {
if (bucket == expr) {
setBucket(target);
return true;
}
if (outOf == expr) {
setOutOf(target);
return true;
}
if (on == expr) {
setOn(target);
return true;
}
if (percent == expr) {
setPercent(target);
return true;
}
if (byteLength == expr) {
setByteLength(target);
return true;
}
return false;
}
public SQLExpr getByteLength() {
return byteLength;
}
public void setByteLength(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.byteLength = x;
}
public SQLExpr getRows() {
return rows;
}
public void setRows(SQLExpr x) {
if (x != null) {
x.setParent(this);
}
this.rows = x;
}
public boolean isBernoulli() {
return bernoulli;
}
public void setBernoulli(boolean bernoulli) {
this.bernoulli = bernoulli;
}
public boolean isSystem() {
return system;
}
public void setSystem(boolean system) {
this.system = system;
}
}