Class ExternalFieldExtractOperator.Factory

java.lang.Object
org.elasticsearch.xpack.esql.datasources.ExternalFieldExtractOperator.Factory
All Implemented Interfaces:
Describable, Operator.OperatorFactory
Enclosing class:
ExternalFieldExtractOperator

public static final class ExternalFieldExtractOperator.Factory extends Object implements Operator.OperatorFactory
Builds ExternalFieldExtractOperators for each driver. The sourceExtractorsLookup resolves the per-driver SourceExtractors populated by the upstream source operator factory (typically AsyncExternalSourceOperatorFactory::sourceExtractorsFor). Tests may supply a pre-populated registry directly via ignored -> registry.
  • Constructor Details

    • Factory

      public Factory(int rowPositionChannel, List<Integer> passThroughChannels, List<String> deferredColumnNames, List<DataType> deferredColumnTypes, Function<DriverContext,SourceExtractors> sourceExtractorsLookup)
      Parameters:
      rowPositionChannel - channel index in the input page that holds _rowPosition
      passThroughChannels - channel indices of the input page that should be copied to the output (in the order they appear in the output)
      deferredColumnNames - names of the deferred columns to load, in output order
      deferredColumnTypes - planner/declared type per deferred column, aligned with deferredColumnNames; extraction coerces the file's value to this type exactly like the eager decode paths (DeclaredTypeCoercions)
      sourceExtractorsLookup - per-driver registry resolver; must never return null
  • Method Details