Interface UngroupableColumnSource
- All Known Subinterfaces:
AggregateColumnSource<VECTOR_TYPE,COMPONENT_TYPE>
- All Known Implementing Classes:
BaseAggregateSlicedColumnSource,BitMaskingColumnSource,BitShiftingColumnSource,ByteAggregateColumnSource,CharAggregateColumnSource,CrossJoinRightColumnSource,DoubleAggregateColumnSource,FloatAggregateColumnSource,IntAggregateColumnSource,LongAggregateColumnSource,ObjectAggregateColumnSource,RangeAggregateColumnSource,RangeAggregateColumnSourceByte,RangeAggregateColumnSourceChar,RangeAggregateColumnSourceDouble,RangeAggregateColumnSourceFloat,RangeAggregateColumnSourceInt,RangeAggregateColumnSourceLong,RangeAggregateColumnSourceObject,RangeAggregateColumnSourceShort,RedirectedColumnSource,ShiftedColumnSource,ShortAggregateColumnSource,SlicedByteAggregateColumnSource,SlicedCharAggregateColumnSource,SlicedDoubleAggregateColumnSource,SlicedFloatAggregateColumnSource,SlicedIntAggregateColumnSource,SlicedLongAggregateColumnSource,SlicedObjectAggregateColumnSource,SlicedShortAggregateColumnSource,WritableRedirectedColumnSource
public interface UngroupableColumnSource
Interface for ColumnSources of vectors that allow retrieving single elements by offset.
-
Method Summary
Modifier and TypeMethodDescriptiongetUngrouped(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one Object element out of the vector.getUngroupedBoolean(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one Boolean element out of the vector.bytegetUngroupedByte(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one byte element out of the vector.chargetUngroupedChar(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one char element out of the vector.doublegetUngroupedDouble(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one double element out of the vector.floatgetUngroupedFloat(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one float element out of the vector.intgetUngroupedInt(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one int element out of the vector.longgetUngroupedLong(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one long element out of the vector.getUngroupedPrev(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one Object element out of the vector as of end of the previous update cycle.getUngroupedPrevBoolean(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one Boolean element out of the vector as of end of the previous update cycle.bytegetUngroupedPrevByte(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one byte element out of the vector as of end of the previous update cycle.chargetUngroupedPrevChar(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one char element out of the vector as of end of the previous update cycle.doublegetUngroupedPrevDouble(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one double element out of the vector as of end of the previous update cycle.floatgetUngroupedPrevFloat(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one float element out of the vector as of end of the previous update cycle.intgetUngroupedPrevInt(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one int element out of the vector as of end of the previous update cycle.longgetUngroupedPrevLong(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one long element out of the vector as of end of the previous update cycle.shortgetUngroupedPrevShort(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one short element out of the vector as of end of the previous update cycle.longgetUngroupedPrevSize(long groupRowKey) default voidgetUngroupedPrevSize(ChunkSource.FillContext fillContext, RowSequence rowSequence, WritableLongChunk<Values> sizes) Get the previous size of the vectors at each row key.shortgetUngroupedShort(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one short element out of the vector.longgetUngroupedSize(long groupRowKey) default voidgetUngroupedSize(ChunkSource.FillContext fillContext, RowSequence rowSequence, WritableLongChunk<Values> sizes) Get the size of the vectors at each row key.booleanDoes this particular ColumnSource support ungrouping?static booleanisUngroupable(ColumnSource<?> source) Returns true if the specified column is an UngroupableColumnSource, and it is ungroupable.static voidungroupedPrevSizeByIteration(UngroupableColumnSource ungroupableColumnSource, RowSequence rowSequence, WritableLongChunk<Values> sizes) Helper method for a naive implementation ofgetUngroupedPrevSize(ChunkSource.FillContext, RowSequence, WritableLongChunk).static voidungroupedSizeByIteration(UngroupableColumnSource ungroupableColumnSource, RowSequence rowSequence, WritableLongChunk<Values> sizes) Helper method for a naive implementation ofgetUngroupedSize(ChunkSource.FillContext, RowSequence, WritableLongChunk).
-
Method Details
-
isUngroupable
Returns true if the specified column is an UngroupableColumnSource, and it is ungroupable.- Parameters:
source- the source to check- Returns:
- true if the column source is an UngroupableColumnSource and it is ungroupable
-
isUngroupable
boolean isUngroupable()Does this particular ColumnSource support ungrouping?- Returns:
trueif you can call the getUngrouped family of methods and get a valid answer
-
getUngroupedSize
long getUngroupedSize(long groupRowKey) -
getUngroupedPrevSize
long getUngroupedPrevSize(long groupRowKey) -
getUngroupedSize
default void getUngroupedSize(ChunkSource.FillContext fillContext, RowSequence rowSequence, WritableLongChunk<Values> sizes) Get the size of the vectors at each row key.This method is equivalent to calling
getUngroupedSize(long)on each row key in the row sequence.- Parameters:
rowSequence- the row keys to fetchsizes- the sizes of the vectors
-
getUngroupedPrevSize
default void getUngroupedPrevSize(ChunkSource.FillContext fillContext, RowSequence rowSequence, WritableLongChunk<Values> sizes) Get the previous size of the vectors at each row key.This method is equivalent to calling
getUngroupedPrevSize(long)on each row key in the row sequence.- Parameters:
rowSequence- the row keys to fetchsizes- the sizes of the vectors
-
getUngrouped
Reach into a grouped column source and pull one Object element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ObjectVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrev
Reach into a grouped column source and pull one Object element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ObjectVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedBoolean
Reach into a grouped column source and pull one Boolean element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ObjectVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevBoolean
Reach into a grouped column source and pull one Boolean element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ObjectVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedDouble
double getUngroupedDouble(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one double element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((DoubleVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevDouble
double getUngroupedPrevDouble(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one double element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((DoubleVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedFloat
float getUngroupedFloat(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one float element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((FloatVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevFloat
float getUngroupedPrevFloat(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one float element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((FloatVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedByte
byte getUngroupedByte(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one byte element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ByteVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevByte
byte getUngroupedPrevByte(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one byte element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ByteVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedChar
char getUngroupedChar(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one char element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((CharVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevChar
char getUngroupedPrevChar(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one char element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((CharVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedShort
short getUngroupedShort(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one short element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ShortVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevShort
short getUngroupedPrevShort(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one short element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((ShortVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedInt
int getUngroupedInt(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one int element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((IntVector)columnSource.get(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevInt
int getUngroupedPrevInt(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one int element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((IntVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
getUngroupedLong
long getUngroupedLong(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one long element out of the vector.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((LongVector)columnSource.getLong(groupRowKey)).get(offsetInGroup)
-
getUngroupedPrevLong
long getUngroupedPrevLong(long groupRowKey, int offsetInGroup) Reach into a grouped column source and pull one long element out of the vector as of end of the previous update cycle.- Parameters:
groupRowKey- The vector's row key in the grouped column sourceoffsetInGroup- Positional offset within the vector atgroupRowKey- Returns:
- Equivalent to ((LongVector)columnSource.getPrev(groupRowKey)).get(offsetInGroup)
-
ungroupedSizeByIteration
static void ungroupedSizeByIteration(UngroupableColumnSource ungroupableColumnSource, RowSequence rowSequence, WritableLongChunk<Values> sizes) Helper method for a naive implementation ofgetUngroupedSize(ChunkSource.FillContext, RowSequence, WritableLongChunk).- Parameters:
ungroupableColumnSource- the ungroupable column sourcerowSequence- the rowsequence of keys to determine vector sizessizes- the output chunk of vector sizes
-
ungroupedPrevSizeByIteration
static void ungroupedPrevSizeByIteration(UngroupableColumnSource ungroupableColumnSource, RowSequence rowSequence, WritableLongChunk<Values> sizes) Helper method for a naive implementation ofgetUngroupedPrevSize(ChunkSource.FillContext, RowSequence, WritableLongChunk).- Parameters:
ungroupableColumnSource- the ungroupable column sourcerowSequence- the rowsequence of keys to determine vector sizessizes- the output chunk of vector sizes
-