1.构造函数
protected ScanFilterAndProjectOperator(
OperatorContext operatorContext,
PlanNodeId sourceId,
PageSourceProvider pageSourceProvider,
CursorProcessor cursorProcessor,
PageProcessor pageProcessor,
Iterable<ColumnHandle> columns,
Iterable<Type> types)
{
this.cursorProcessor = requireNonNull(cursorProcessor, "cursorProcessor is null");
this.pageProcessor = requireNonNull(pageProcessor, "pageProcessor is null");
this.operatorContext = requireNonNull(operatorContext, "operatorContext is null");
this.planNodeId = requireNonNull(sourceId, "sourceId is null");
this.pageSourceProvider = requireNonNull(pageSourceProvider, "pageSourceProvider is null");
this.types = ImmutableList.copyOf(requireNonNull(types, "types is null"));
this.columns = ImmutableList.copyOf(requireNonNull(columns, "columns is null"));
this.pageSourceMemoryContext = operatorContext.getSystemMemoryContext().newLocalMemoryContext();
th