Class UnionState.UnionVectorState

java.lang.Object
org.apache.drill.exec.physical.resultSet.impl.UnionState.UnionVectorState
All Implemented Interfaces:
VectorState
Enclosing class:
UnionState

public static class UnionState.UnionVectorState extends Object implements VectorState
Vector wrapper for a union vector. Union vectors contain a types vector (which indicates the type of each row) along with member vectors for each supported type. This class manages the types vector. The member vectors are managed as children of the UnionState class. The union vector itself is just a holder; it has no state to be managed.
  • Constructor Details

  • Method Details

    • allocate

      public int allocate(int cardinality)
      Description copied from interface: VectorState
      Allocate a new vector with the number of elements given. If the vector is an array, then the cardinality given is the number of arrays.
      Specified by:
      allocate in interface VectorState
      Parameters:
      cardinality - number of elements desired in the allocated vector
      Returns:
      the number of bytes allocated
    • rollover

      public void rollover(int cardinality)
      Description copied from interface: VectorState
      A vector has overflowed. Create a new look-ahead vector of the given cardinality, then copy the overflow values from the main vector to the look-ahead vector.
      Specified by:
      rollover in interface VectorState
      Parameters:
      cardinality - the number of elements in the new vector. If this vector is an array, then this is the number of arrays
    • harvestWithLookAhead

      public void harvestWithLookAhead()
      Description copied from interface: VectorState
      A batch is being harvested after an overflow. Put the full batch back into the main vector so it can be harvested.
      Specified by:
      harvestWithLookAhead in interface VectorState
    • startBatchWithLookAhead

      public void startBatchWithLookAhead()
      Description copied from interface: VectorState
      A new batch is starting while an look-ahead vector exists. Move the look-ahead buffers into the main vector to prepare for writing the rest of the batch.
      Specified by:
      startBatchWithLookAhead in interface VectorState
    • close

      public void close()
      Description copied from interface: VectorState
      Clear the vector(s) associated with this state.
      Specified by:
      close in interface VectorState
    • vector

      public UnionVector vector()
      Description copied from interface: VectorState
      Underlying vector: the one presented to the consumer of the result set loader.
      Specified by:
      vector in interface VectorState
    • isProjected

      public boolean isProjected()
      Description copied from interface: VectorState
      Report whether this column is projected (has materialized vectors), or is unprojected (has no materialized backing.)
      Specified by:
      isProjected in interface VectorState
      Returns:
      true if the column is projected to the output, false if not
    • dump

      public void dump(HierarchicalFormatter format)
      Specified by:
      dump in interface VectorState