protected static boolean isExisted(ExprNodeDesc expr, List<ExprNodeDesc> columns) { for (ExprNodeDesc thisExpr : columns) { if (thisExpr != null && thisExpr.isSame(expr)) { return true; } } return false; }
public static boolean isSame(ExprNodeDesc desc1, ExprNodeDesc desc2) { return (desc1 == desc2) || (desc1 != null && desc1.isSame(desc2)); }
protected static boolean isExisted(ExprNodeDesc expr, List<ExprNodeDesc> columns) { for (ExprNodeDesc thisExpr : columns) { if (thisExpr != null && thisExpr.isSame(expr)) { return true; } } return false; }
static boolean compareExprNodeDesc(ExprNodeDesc first, ExprNodeDesc second) { return first == null ? second == null : first.isSame(second); }
public static int indexOf(ExprNodeDesc origin, List<ExprNodeDesc> sources) { for (int i = 0; i < sources.size(); i++) { if (origin.isSame(sources.get(i))) { return i; } } return -1; }
protected static String getColumnName( Map<String, ExprNodeDesc> opColumnExprMap, ExprNodeDesc expr) { for (Entry<String, ExprNodeDesc> entry : opColumnExprMap.entrySet()) { ExprNodeDesc thisExpr = entry.getValue(); if (thisExpr != null && thisExpr.isSame(expr)) { return entry.getKey(); } } return null; }
public static int indexOf(ExprNodeDesc origin, List<ExprNodeDesc> sources) { for (int i = 0; i < sources.size(); i++) { if (origin.isSame(sources.get(i))) { return i; } } return -1; }
protected static String getColumnName( Map<String, ExprNodeDesc> opColumnExprMap, ExprNodeDesc expr) { for (Entry<String, ExprNodeDesc> entry : opColumnExprMap.entrySet()) { ExprNodeDesc thisExpr = entry.getValue(); if (thisExpr != null && thisExpr.isSame(expr)) { return entry.getKey(); } } return null; }
public static boolean isSame(List<ExprNodeDesc> first, List<ExprNodeDesc> second) { if (first == second) { return true; } if (first == null || second == null || first.size() != second.size()) { return false; } for (int i = 0; i < first.size(); i++) { if (!first.get(i).isSame(second.get(i))) { return false; } } return true; }
public void addFinalCandidate(String alias, ExprNodeDesc expr) { List<ExprNodeDesc> predicates = getPushdownPreds(alias); for (ExprNodeDesc curPred: predicates) { if (curPred.isSame(expr)) { return; } } predicates.add(expr); }
protected static int indexOf(ExprNodeDesc cexpr, ExprNodeDesc[] pexprs, Operator child, Operator[] parents, boolean[] sorted) throws SemanticException { for (int tag = 0; tag < parents.length; tag++) { if (sorted[tag] && pexprs[tag].isSame(ExprNodeDescUtils.backtrack(cexpr, child, parents[tag]))) { return tag; } } return -1; }
@Override public boolean equals(Object other) { if (other == null || !(other instanceof ExprNodeDescEqualityWrapper)) { return false; } return this.exprNodeDesc.isSame(((ExprNodeDescEqualityWrapper)other).getExprNodeDesc()); }
/** * Test if two lists of ExprNodeDesc are semantically same. */ private static boolean isSame(List<ExprNodeDesc> list1, List<ExprNodeDesc> list2) { if (list1 != list2) { if (list1 != null && list2 != null) { if (list1.size() != list2.size()) { return false; } for (int i = 0; i < list1.size(); i++) { if (!list1.get(i).isSame(list2.get(i))) { return false; } } } else { return false; } } return true; }
protected static int indexOf(ExprNodeDesc cexpr, ExprNodeDesc[] pexprs, Operator child, Operator[] parents, boolean[] sorted) throws SemanticException { for (int tag = 0; tag < parents.length; tag++) { if (sorted[tag] && pexprs[tag].isSame(ExprNodeDescUtils.backtrack(cexpr, child, parents[tag]))) { return tag; } } return -1; }
@Override public boolean equals(Object other) { if (other == null || !(other instanceof ExprNodeDescEqualityWrapper)) { return false; } return this.exprNodeDesc.isSame(((ExprNodeDescEqualityWrapper)other).getExprNodeDesc()); }
public void addFinalCandidate(String alias, ExprNodeDesc expr) { List<ExprNodeDesc> predicates = getPushdownPreds(alias); for (ExprNodeDesc curPred: predicates) { if (curPred.isSame(expr)) { return; } } predicates.add(expr); }
@Override public boolean isSame(Object o) { if (!(o instanceof ExprNodeFieldDesc)) { return false; } ExprNodeFieldDesc dest = (ExprNodeFieldDesc) o; if (!typeInfo.equals(dest.getTypeInfo())) { return false; } if (!fieldName.equals(dest.getFieldName()) || !isList.equals(dest.getIsList()) || !desc.isSame(dest.getDesc())) { return false; } return true; }
/** * return true if predicate is already included in source */ public static boolean containsPredicate(ExprNodeDesc source, ExprNodeDesc predicate) { if (source.isSame(predicate)) { return true; } if (FunctionRegistry.isOpAnd(source)) { if (containsPredicate(source.getChildren().get(0), predicate) || containsPredicate(source.getChildren().get(1), predicate)) { return true; } } return false; }
/** * return true if predicate is already included in source */ public static boolean containsPredicate(ExprNodeDesc source, ExprNodeDesc predicate) { if (source.isSame(predicate)) { return true; } if (FunctionRegistry.isOpAnd(source)) { if (containsPredicate(source.getChildren().get(0), predicate) || containsPredicate(source.getChildren().get(1), predicate)) { return true; } } return false; }
@Override public boolean isSame(Object o) { if (!(o instanceof ExprNodeFieldDesc)) { return false; } ExprNodeFieldDesc dest = (ExprNodeFieldDesc) o; if (!typeInfo.equals(dest.getTypeInfo())) { return false; } if (!fieldName.equals(dest.getFieldName()) || !isList.equals(dest.getIsList()) || !desc.isSame(dest.getDesc())) { return false; } return true; }