typeComputer.compute(stmt);
stmt = subqueryFlattener.flatten((DMLStatementNode)stmt);
// Turn parsed AST into intermediate form.
PlanNode plan = new AST((DMLStatementNode)stmt, parser.getParameterList());
{
RulesTestContext rulesContext =
RulesTestContext.create(ais, null, false,
Collections.<BaseRule>singletonList(new ASTStatementLoader()), new Properties());
PlanContext planContext = new PlanContext(rulesContext, plan);
rulesContext.applyRules(planContext);
plan = planContext.getPlan();
}
PlanNode duplicate = (PlanNode)plan.duplicate();
assertFalse(plan == duplicate);
assertEqualsWithoutHashes(caseName,