* @param qbJoin qb join tree
* @param mapJoinPos position of the source to be read as part of map-reduce framework. All other sources are cached in memory
*/
private MapJoinOperator convertMapJoin(ParseContext pctx, JoinOperator op, QBJoinTree joinTree, int mapJoinPos) throws SemanticException {
// outer join cannot be performed on a table which is being cached
joinDesc desc = op.getConf();
org.apache.hadoop.hive.ql.plan.joinCond[] condns = desc.getConds();
for (org.apache.hadoop.hive.ql.plan.joinCond condn : condns) {
if (condn.getType() == joinDesc.FULL_OUTER_JOIN)
throw new SemanticException(ErrorMsg.NO_OUTER_MAPJOIN.getMsg());
if ((condn.getType() == joinDesc.LEFT_OUTER_JOIN) && (condn.getLeft() != mapJoinPos))
throw new SemanticException(ErrorMsg.NO_OUTER_MAPJOIN.getMsg());