Class UnionState.UnionVectorState
java.lang.Object
org.apache.drill.exec.physical.resultSet.impl.UnionState.UnionVectorState
- All Implemented Interfaces:
VectorState
- Enclosing class:
- UnionState
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
allocate
(int cardinality) Allocate a new vector with the number of elements given.void
close()
Clear the vector(s) associated with this state.void
dump
(HierarchicalFormatter format) void
A batch is being harvested after an overflow.boolean
Report whether this column is projected (has materialized vectors), or is unprojected (has no materialized backing.)void
rollover
(int cardinality) A vector has overflowed.void
A new batch is starting while an look-ahead vector exists.vector()
Underlying vector: the one presented to the consumer of the result set loader.
-
Constructor Details
-
UnionVectorState
-
-
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 interfaceVectorState
- 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 interfaceVectorState
- 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 interfaceVectorState
-
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 interfaceVectorState
-
close
public void close()Description copied from interface:VectorState
Clear the vector(s) associated with this state.- Specified by:
close
in interfaceVectorState
-
vector
Description copied from interface:VectorState
Underlying vector: the one presented to the consumer of the result set loader.- Specified by:
vector
in interfaceVectorState
-
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 interfaceVectorState
- Returns:
- true if the column is projected to the output, false if not
-
dump
- Specified by:
dump
in interfaceVectorState
-