throw new UnsupportedOperationException("bug, unsupported type="+type);
}
}
private DirectCursor<IndexColumnInfo> processAndOr(ExpressionNode root, Set<ViewInfo> alreadyJoinedViews) {
ExpressionNode left = root.getChild(ChildSide.LEFT);
ExpressionNode right = root.getChild(ChildSide.RIGHT);
DirectCursor<IndexColumnInfo> leftResults = processExpressionTree(left, alreadyJoinedViews);
DirectCursor<IndexColumnInfo> rightResults = processExpressionTree(right, alreadyJoinedViews);
JoinMeta joinMeta = left.getJoinMeta();
ViewInfo leftView = joinMeta.getPrimaryJoinInfo().getPrimaryTable();
JoinMeta joinMeta2 = right.getJoinMeta();
ViewInfo rightView = joinMeta2.getPrimaryJoinInfo().getPrimaryTable();
JoinType joinType = root.getJoinMeta().getJoinType();
if(joinType == JoinType.INNER || joinType == JoinType.LEFT_OUTER) {
//We need to proxy the right results to translate to the same primary key as the