Interface DeferredExtractionCapable

All Known Implementing Classes:
AsyncExternalSourceOperatorFactory

public interface DeferredExtractionCapable
Capability marker for a SourceOperatorFactory that participates in deferred (post-TopN) field extraction. Implementing factories register a per-file ColumnExtractor and emit a synthetic _rowPosition column whose values pack the extractor id with a file-local row position (see SourceExtractors.encode(int, long)).

The local execution planner uses this interface to reach the per-driver SourceExtractors registry of an upstream source factory when planning a paired ExternalFieldExtractExec — see LocalExecutionPlanner#planExternalFieldExtract.

  • Method Details

    • sourceExtractorsFor

      SourceExtractors sourceExtractorsFor(DriverContext driverContext)
      Returns the per-driver SourceExtractors registry, lazily creating it if it does not yet exist. The registry is shared between the source operator (which populates it as files open) and the field-extract operator (which reads from it post-TopN). Both must reach the same instance via the same DriverContext.