Class TupleState.MapVectorState
java.lang.Object
org.apache.drill.exec.physical.resultSet.impl.TupleState.MapVectorState
- All Implemented Interfaces:
VectorState
- Enclosing class:
- TupleState
State for a map vector. If the map is repeated, it will have an offset
vector. The map vector itself is a pseudo-vector that is simply a
container for other vectors, and so needs no management itself.
-
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
-
MapVectorState
-
-
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
-
offsetVectorState
-
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
-