@Override public void visit(EvalNode node) { if (node.type == EvalType.FIELD) { FieldEval field = (FieldEval) node; if (field.getColumnName().equals(findColumn) || field.getName().equals(findColumn)) { field.replaceColumnRef(toBeChanged); } } } }
@Override public void visit(EvalNode node) { if (node.type == EvalType.FIELD) { FieldEval field = (FieldEval) node; if (field.getColumnName().equals(findColumn) || field.getName().equals(findColumn)) { field.replaceColumnRef(toBeChanged); } } } }
/** * It removes all table names from FieldEvals in targets * * @param sourceTargets The targets to be stripped * @return The stripped targets */ public static List<Target> stripTarget(List<Target> sourceTargets) { List<Target> copy = new ArrayList<>(); for (int i = 0; i < sourceTargets.size(); i++) { try { copy.add((Target) sourceTargets.get(i).clone()); } catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage()); } if (copy.get(i).getEvalTree().getType().equals(EvalType.FIELD)) { FieldEval fieldEval = copy.get(i).getEvalTree(); if (fieldEval.getColumnRef().hasQualifier()) { fieldEval.replaceColumnRef(fieldEval.getColumnName()); } } } return copy; }
/** * It removes all table names from FieldEvals in targets * * @param sourceTargets The targets to be stripped * @return The stripped targets */ public static Target[] stripTarget(Target[] sourceTargets) { Target[] copy = new Target[sourceTargets.length]; for (int i = 0; i < sourceTargets.length; i++) { try { copy[i] = (Target) sourceTargets[i].clone(); } catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage()); } if (copy[i].getEvalTree().getType() == EvalType.FIELD) { FieldEval fieldEval = copy[i].getEvalTree(); if (fieldEval.getColumnRef().hasQualifier()) { fieldEval.replaceColumnRef(fieldEval.getColumnName()); } } } return copy; }