OperatorFactory operatorFactory = new ScanFilterAndProjectOperator.ScanFilterAndProjectOperatorFactory(
context.getNextOperatorId(),
sourceNode.getId(),
dataStreamProvider,
new GenericCursorProcessor(filterFunction, projectionFunctions),
new GenericPageProcessor(filterFunction, projectionFunctions),
columns,
toTypes(projectionFunctions));
return new PhysicalOperation(operatorFactory, outputMappings);
}
else {
OperatorFactory operatorFactory = new FilterAndProjectOperator.FilterAndProjectOperatorFactory(
context.getNextOperatorId(),
new GenericPageProcessor(filterFunction, projectionFunctions),
toTypes(projectionFunctions));
return new PhysicalOperation(operatorFactory, outputMappings, source);
}
}