private BasicQueryRewriteEngine rulesBeforeJoinOpt;
private BasicQueryRewriteEngine rulesAfterToJoinOpt;
private JoinOrderAlgorithm joinOrderAlgorithm = new GreedyHeuristicJoinOrderAlgorithm();
public LogicalOptimizer(TajoConf systemConf) {
rulesBeforeJoinOpt = new BasicQueryRewriteEngine();
rulesBeforeJoinOpt.addRewriteRule(new FilterPushDownRule());
rulesAfterToJoinOpt = new BasicQueryRewriteEngine();
rulesAfterToJoinOpt.addRewriteRule(new ProjectionPushDownRule());
rulesAfterToJoinOpt.addRewriteRule(new PartitionedTableRewriter(systemConf));
}