Class TsBlock
- java.lang.Object
-
- org.apache.iotdb.tsfile.read.common.block.TsBlock
-
public class TsBlock extends java.lang.ObjectIntermediate result for most of ExecOperators. The TsBlock contains data from one or more columns and constructs them as a row based view The columns can be series, aggregation result for one series or scalar value (such as deviceName).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classTsBlock.TsBlockRowIteratorMainly used for UDF framework.classTsBlock.TsBlockSingleColumnIterator
-
Field Summary
Fields Modifier and Type Field Description static intINSTANCE_SIZE
-
Constructor Summary
Constructors Constructor Description TsBlock(int positionCount)TsBlock(int positionCount, TimeColumn timeColumn, Column... valueColumns)TsBlock(TimeColumn timeColumn, Column... valueColumns)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TsBlockappendValueColumn(Column column)ColumngetColumn(int columnIndex)Column[]getColumns(int[] columnIndexes)longgetEndTime()intgetPositionCount()TsBlockgetRegion(int positionOffset, int length)longgetRetainedSizeInBytes()longgetStartTime()Column[]getTimeAndValueColumn(int columnIndex)longgetTimeByIndex(int index)TimeColumngetTimeColumn()intgetTotalInstanceSize()org.apache.iotdb.tsfile.read.common.block.TsBlock.TsBlockAlignedRowIteratorgetTsBlockAlignedRowIterator()Only used for the batch data of vector time series.TsBlock.TsBlockRowIteratorgetTsBlockRowIterator()TsBlock.TsBlockSingleColumnIteratorgetTsBlockSingleColumnIterator()TsBlock.TsBlockSingleColumnIteratorgetTsBlockSingleColumnIterator(int columnIndex)intgetValueColumnCount()Column[]getValueColumns()TsBlockinsertValueColumn(int index, Column column)Attention.booleanisEmpty()voidreverse()TsBlockskipFirst()TsBlocksubTsBlock(int fromIndex)This method will create a temporary view of origin tsBlock, which will reuse the arrays of columns but with different offset.static TsBlockwrapBlocksWithoutCopy(int positionCount, TimeColumn timeColumn, Column[] valueColumns)Visible to give trusted classes likeTsBlockBuilderaccess to a constructor that doesn't defensively copy the valueColumns
-
-
-
Constructor Detail
-
TsBlock
public TsBlock(int positionCount)
-
TsBlock
public TsBlock(TimeColumn timeColumn, Column... valueColumns)
-
TsBlock
public TsBlock(int positionCount, TimeColumn timeColumn, Column... valueColumns)
-
-
Method Detail
-
wrapBlocksWithoutCopy
public static TsBlock wrapBlocksWithoutCopy(int positionCount, TimeColumn timeColumn, Column[] valueColumns)
Visible to give trusted classes likeTsBlockBuilderaccess to a constructor that doesn't defensively copy the valueColumns
-
getPositionCount
public int getPositionCount()
-
getStartTime
public long getStartTime()
-
getEndTime
public long getEndTime()
-
isEmpty
public boolean isEmpty()
-
getRetainedSizeInBytes
public long getRetainedSizeInBytes()
-
getRegion
public TsBlock getRegion(int positionOffset, int length)
- Parameters:
positionOffset- start offsetlength- slice length- Returns:
- view of current TsBlock start from positionOffset to positionOffset + length
-
insertValueColumn
public TsBlock insertValueColumn(int index, Column column)
Attention. This method uses System.arraycopy() to extend the valueColumn array, so its performance is not ensured if you have many insert operations.
-
subTsBlock
public TsBlock subTsBlock(int fromIndex)
This method will create a temporary view of origin tsBlock, which will reuse the arrays of columns but with different offset. It can be used where you want to skip some points when getting iterator.
-
skipFirst
public TsBlock skipFirst()
-
getTimeByIndex
public long getTimeByIndex(int index)
-
getValueColumnCount
public int getValueColumnCount()
-
getTimeColumn
public TimeColumn getTimeColumn()
-
getValueColumns
public Column[] getValueColumns()
-
getColumn
public Column getColumn(int columnIndex)
-
getTimeAndValueColumn
public Column[] getTimeAndValueColumn(int columnIndex)
-
getColumns
public Column[] getColumns(int[] columnIndexes)
-
getTsBlockSingleColumnIterator
public TsBlock.TsBlockSingleColumnIterator getTsBlockSingleColumnIterator()
-
getTsBlockSingleColumnIterator
public TsBlock.TsBlockSingleColumnIterator getTsBlockSingleColumnIterator(int columnIndex)
-
reverse
public void reverse()
-
getTsBlockRowIterator
public TsBlock.TsBlockRowIterator getTsBlockRowIterator()
-
getTsBlockAlignedRowIterator
public org.apache.iotdb.tsfile.read.common.block.TsBlock.TsBlockAlignedRowIterator getTsBlockAlignedRowIterator()
Only used for the batch data of vector time series.
-
getTotalInstanceSize
public int getTotalInstanceSize()
-
-