Class TsBlock


  • public class TsBlock
    extends java.lang.Object
    Intermediate 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).
    • Field Detail

      • INSTANCE_SIZE

        public static final int INSTANCE_SIZE
    • Constructor Detail

      • TsBlock

        public TsBlock​(int positionCount)
      • 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 like TsBlockBuilder access 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 offset
        length - slice length
        Returns:
        view of current TsBlock start from positionOffset to positionOffset + length
      • appendValueColumn

        public TsBlock appendValueColumn​(Column column)
      • 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)
      • reverse

        public void reverse()
      • 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()