JoinCond cond = joinTree.getJoinCond()[0]; JoinType type = cond.getJoinType(); applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, predicate, leftCondn, rightCondn, leftCondAl1, leftCondAl2,
JoinCond cond = joinTree.getJoinCond()[0]; JoinType type = cond.getJoinType(); applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, predicate, leftCondn, rightCondn, leftCondAl1, leftCondAl2,
applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if ( !leftHasRightReference && rightHasRightReference && rightCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if (leftHasRightReference && !rightHasRightReference && leftCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl2, leftCondAl1,
ASTNode applyEqPredicate(QBJoinTree jT, String lTbl, String lCol, String rTbl, String rCol) throws SemanticException { ASTNode joinCond = constructEqualityCond(lTbl, lCol, rTbl, rCol); ASTNode leftCondn = (ASTNode) joinCond.getChild(0); ASTNode rightCondn = (ASTNode) joinCond.getChild(1); List<String> leftSrc = new ArrayList<String>(); ArrayList<String> leftCondAl1 = new ArrayList<String>(); ArrayList<String> leftCondAl2 = new ArrayList<String>(); ArrayList<String> rightCondAl1 = new ArrayList<String>(); ArrayList<String> rightCondAl2 = new ArrayList<String>(); sA.parseJoinCondPopulateAlias(jT, leftCondn, leftCondAl1, leftCondAl2, null, null); sA.parseJoinCondPopulateAlias(jT, rightCondn, rightCondAl1, rightCondAl2, null, null); sA.applyEqualityPredicateToQBJoinTree(jT, JoinType.INNER, leftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, rightCondAl1, rightCondAl2); return joinCond; }
applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if ( !leftHasRightReference && rightHasRightReference && rightCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if (leftHasRightReference && !rightHasRightReference && leftCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl2, leftCondAl1,
joinTree.addPostJoinFilter(joinCond); } else { applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2,
joinTree.addPostJoinFilter(joinCond); } else { applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2,
JoinCond cond = joinTree.getJoinCond()[0]; JoinType type = cond.getJoinType(); applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, predicate, leftCondn, rightCondn, leftCondAl1, leftCondAl2,
applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if ( !leftHasRightReference && rightHasRightReference && rightCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2, pushedDown = true; } else if (leftHasRightReference && !rightHasRightReference && leftCondAl1.size() == 1 ) { applyEqualityPredicateToQBJoinTree(leftTree, type, leftTreeLeftSrc, joinCond, leftCondn, rightCondn, leftCondAl2, leftCondAl1,
applyEqualityPredicateToQBJoinTree(joinTree, type, leftSrc, joinCond, leftCondn, rightCondn, leftCondAl1, leftCondAl2,