stmt.accept(new CountStarVisitor()); // Must be after assign labels, before TC.
stmt.accept(new TypeChecker(mRootSymbolTable));
stmt.accept(new ReplaceWindows()); // Must be after TC.
stmt.accept(new JoinKeyVisitor()); // Must be after TC.
stmt.accept(new JoinNameVisitor());
stmt.accept(new IdentifyAggregates()); // Must be after TC.
PlanContext planContext = new PlanContext();
planContext.setConf(planConf);
planContext.setSymbolTable(mRootSymbolTable);
PlanContext retContext = stmt.createExecPlan(planContext);
msgBuilder.append(retContext.getMsgBuilder().toString());