}
protected void doOnMatch(RelOptRuleCall call, DrillFilterRel filterRel, DrillProjectRel projectRel, DrillScanRel scanRel) {
DrillRel inputRel = projectRel != null ? projectRel : scanRel;
HiveReadEntry origReadEntry = ((HiveScan)scanRel.getGroupScan()).hiveReadEntry;
DirPathBuilder builder = new DirPathBuilder(filterRel, inputRel, filterRel.getCluster().getRexBuilder(), new HivePartitionDescriptor(origReadEntry.table.partitionKeys));
HiveReadEntry newReadEntry = splitFilter(origReadEntry, builder);
if (origReadEntry == newReadEntry) {
return; // no directory filter was pushed down
}