Class DynamicFilterSourceOperator

  • All Implemented Interfaces:
    Operator, AutoCloseable

    public class DynamicFilterSourceOperator
    extends Object
    implements Operator
    This operator acts as a simple "pass-through" pipe, while saving its input pages. The collected pages' value 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 build side, we can optionally record the min and max values per channel for orderable types (except Double and Real).
    • Method Detail

      • 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