}
@Override
public void visit(LOBinCond op) throws VisitorException {
String scope = op.getOperatorKey().scope;
ExpressionOperator physOp = new POBinCond(new OperatorKey(scope,
nodeGen.getNextNodeId(scope)), op.getRequestedParallelism());
logToPhyMap.put(op, physOp);
POBinCond phy = (POBinCond) physOp;
ExpressionOperator cond = (ExpressionOperator) logToPhyMap.get(op
.getCond());
phy.setCond(cond);
ExpressionOperator lhs = (ExpressionOperator) logToPhyMap.get(op
.getLhsOp());
phy.setLhs(lhs);
ExpressionOperator rhs = (ExpressionOperator) logToPhyMap.get(op
.getRhsOp());
phy.setRhs(rhs);
phy.setResultType(op.getType());
currentPlan.add(physOp);
List<LogicalOperator> ops = op.getPlan().getPredecessors(op);
for (LogicalOperator l : ops) {
ExpressionOperator from = (ExpressionOperator) logToPhyMap.get(l);
try {
currentPlan.connect(from, physOp);
} catch (PlanException e) {
int errCode = 2015;
String msg = "Invalid physical operators in the physical plan" ;