Class MvExpandOperator

java.lang.Object
org.elasticsearch.compute.operator.MvExpandOperator
All Implemented Interfaces:
Closeable, AutoCloseable, Operator, org.elasticsearch.core.Releasable

public class MvExpandOperator extends Object implements Operator
"Expands" multivalued blocks by duplicating all the other columns for each value.
     [0, 1, 2] | 2 | "foo"
 
becomes
     0 | 2 | "foo"
     1 | 2 | "foo"
     2 | 2 | "foo"
 
  • Constructor Details

    • MvExpandOperator

      public MvExpandOperator(int channel, int pageSize)
  • Method Details

    • getOutput

      public final Page getOutput()
      Description copied from interface: Operator
      returns non-null if output page available. Only called when isFinished() == false
      Specified by:
      getOutput in interface Operator
    • needsInput

      public final boolean needsInput()
      Description copied from interface: Operator
      whether the given operator can accept more input pages
      Specified by:
      needsInput in interface Operator
    • addInput

      public final void addInput(Page page)
      Description copied from interface: Operator
      adds an input page to the operator. only called when needsInput() == true and isFinished() == false
      Specified by:
      addInput in interface Operator
    • finish

      public final void finish()
      Description copied from interface: Operator
      notifies the operator that it won't receive any more input pages
      Specified by:
      finish in interface Operator
    • isFinished

      public final boolean isFinished()
      Description copied from interface: Operator
      whether the operator has finished processing all input pages and made the corresponding output pages available
      Specified by:
      isFinished in interface Operator
    • status

      public final MvExpandOperator.Status status()
      Description copied from interface: Operator
      The status of the operator.
      Specified by:
      status in interface Operator
    • close

      public void close()
      Description copied from interface: Operator
      notifies the operator that it won't be used anymore (i.e. none of the other methods called), and its resources can be cleaned up
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface Operator
      Specified by:
      close in interface org.elasticsearch.core.Releasable
    • toString

      public String toString()
      Overrides:
      toString in class Object