}
stmt.accept(new AssignFieldLabelsVisitor());
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);