@Override public Object clone() throws CloneNotSupportedException { BetweenPredicateEval newBetween = (BetweenPredicateEval) super.clone(); newBetween.not = not; newBetween.symmetric = symmetric; newBetween.predicand = predicand; newBetween.begin = begin; newBetween.end = end; return newBetween; } }
@Override public Object clone() throws CloneNotSupportedException { ConstEval eval = (ConstEval) super.clone(); eval.datum = datum; return eval; }
@Override public Object clone() throws CloneNotSupportedException { ConstEval eval = (ConstEval) super.clone(); eval.datum = datum; return eval; }
@Override public Object clone() throws CloneNotSupportedException { FieldEval eval = (FieldEval) super.clone(); eval.field = this.field; eval.fieldId = fieldId; return eval; }
@Override public WindowStartBound clone() throws CloneNotSupportedException { WindowStartBound newStartBound = (WindowStartBound) super.clone(); newStartBound.boundType = boundType; if (number != null) { newStartBound.number = (EvalNode) number.clone(); } return newStartBound; } }
@Override public Object clone() throws CloneNotSupportedException { Target target = (Target) super.clone(); target.expr = (EvalNode) expr.clone(); target.column = column; target.alias = alias != null ? alias : null; return target; }
@Override public WindowStartBound clone() throws CloneNotSupportedException { WindowStartBound newStartBound = (WindowStartBound) super.clone(); newStartBound.boundType = boundType; if (number != null) { newStartBound.number = (EvalNode) number.clone(); } return newStartBound; } }
@Override public Object clone() throws CloneNotSupportedException { Target target = (Target) super.clone(); target.expr = (EvalNode) expr.clone(); target.column = column; target.alias = alias != null ? alias : null; return target; }
public WindowEndBound clone() throws CloneNotSupportedException { WindowEndBound newEndBound = (WindowEndBound) super.clone(); newEndBound.boundType = boundType; if (number != null) { newEndBound.number = (EvalNode) number.clone(); } return newEndBound; } }
public Object clone() throws CloneNotSupportedException { GroupElement groups = (GroupElement) super.clone(); groups.type = type; groups.groupingSets = new EvalNode [groupingSets.length]; for (int i = 0; i < groupingSets.length; i++) { groups.groupingSets[i++] = (EvalNode) groupingSets[i].clone(); } return groups; } }
@Override public Object clone() throws CloneNotSupportedException { FunctionEval eval = (FunctionEval) super.clone(); eval.funcDesc = (FunctionDesc) funcDesc.clone(); eval.argEvals = new EvalNode[argEvals.length]; for (int i = 0; i < argEvals.length; i++) { eval.argEvals[i] = (EvalNode) argEvals[i].clone(); } return eval; }
@Override public Object clone() throws CloneNotSupportedException { CaseWhenEval caseWhenEval = (CaseWhenEval) super.clone(); caseWhenEval.whens = new ArrayList<>(); for (IfThenEval ifThenEval : whens) { caseWhenEval.whens.add((IfThenEval) ifThenEval.clone()); } caseWhenEval.elseResult = elseResult; return caseWhenEval; }
@Override public Object clone() throws CloneNotSupportedException { HavingNode selNode = (HavingNode) super.clone(); selNode.qual = (EvalNode) this.qual.clone(); return selNode; }
@Override public Object clone() throws CloneNotSupportedException { SelectionNode selNode = (SelectionNode) super.clone(); selNode.qual = (EvalNode) this.qual.clone(); return selNode; }
@Override public Object clone() throws CloneNotSupportedException { HavingNode selNode = (HavingNode) super.clone(); selNode.qual = (EvalNode) this.qual.clone(); return selNode; }
private void assertCloneEqual(EvalNode eval) throws CloneNotSupportedException { EvalNode copy = (EvalNode) eval.clone(); assertEquals(eval, copy); assertEquals(eval.hashCode(), copy.hashCode()); assertFalse(eval == copy); } }