Class DynamicFilterSourceOperator

java.lang.Object
io.trino.operator.DynamicFilterSourceOperator
All Implemented Interfaces:
Operator, AutoCloseable

public class DynamicFilterSourceOperator extends Object implements Operator
This operator acts as a simple "pass-through" pipe, while saving a summary of input pages. The collected values are used for creating a run-time filtering constraint (for probe-side table scan in an inner join). We record all values for the run-time filter only for small build-side pages (which should be the case when using "broadcast" join). For large inputs on the build side, we can optionally record the min and max values per channel for orderable types (except Double and Real).
  • Method Details

    • getOperatorContext

      public OperatorContext getOperatorContext()
      Specified by:
      getOperatorContext in interface Operator
    • needsInput

      public boolean needsInput()
      Description copied from interface: Operator
      Returns true if and only if this operator can accept an input page.
      Specified by:
      needsInput in interface Operator
    • addInput

      public void addInput(Page page)
      Description copied from interface: Operator
      Adds an input page to the operator. This method will only be called if needsInput() returns true.
      Specified by:
      addInput in interface Operator
    • getOutput

      public Page getOutput()
      Description copied from interface: Operator
      Gets an output page from the operator. If no output data is currently available, return null.
      Specified by:
      getOutput in interface Operator
    • finish

      public void finish()
      Description copied from interface: Operator
      Notifies the operator that no more pages will be added and the operator should finish processing and flush results. This method will not be called if the Task is already failed or canceled.
      Specified by:
      finish in interface Operator
    • isFinished

      public boolean isFinished()
      Description copied from interface: Operator
      Is this operator completely finished processing and no more output pages will be produced.
      Specified by:
      isFinished in interface Operator
    • close

      public void close() throws Exception
      Description copied from interface: Operator
      This method will always be called before releasing the Operator reference.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Operator
      Throws:
      Exception