Class ChunkReader
- java.lang.Object
-
- org.apache.iotdb.tsfile.read.reader.chunk.ChunkReader
-
- All Implemented Interfaces:
IChunkReader
public class ChunkReader extends java.lang.Object implements IChunkReader
-
-
Constructor Summary
Constructors Constructor Description ChunkReader(Chunk chunk)Constructor of ChunkReader without deserializing chunk into page.ChunkReader(Chunk chunk, Filter filter)constructor of ChunkReader.ChunkReader(Chunk chunk, Filter filter, long currentTimestamp)Constructor of ChunkReader by timestamp.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()ChunkHeadergetChunkHeader()booleanhasNextSatisfiedPage()judge if has next page whose page header satisfies the filter.java.util.List<IPageReader>loadPageReaderList()BatchDatanextPageData()get next data batch.protected booleanpageSatisfied(PageHeader pageHeader)TsBlockreadPageData(PageHeader pageHeader, java.nio.ByteBuffer compressedPageData)Read data from compressed page data.java.nio.ByteBufferreadPageDataWithoutUncompressing(PageHeader pageHeader)Read page data without uncompressing it.
-
-
-
Field Detail
-
filter
protected Filter filter
-
-
Constructor Detail
-
ChunkReader
public ChunkReader(Chunk chunk, Filter filter) throws java.io.IOException
constructor of ChunkReader.- Parameters:
chunk- input Chunk objectfilter- filter- Throws:
java.io.IOException
-
ChunkReader
public ChunkReader(Chunk chunk, Filter filter, long currentTimestamp) throws java.io.IOException
Constructor of ChunkReader by timestamp. This constructor is used to accelerate queries by filtering out pages whose endTime is less than current timestamp.- Throws:
java.io.IOException
-
ChunkReader
public ChunkReader(Chunk chunk)
Constructor of ChunkReader without deserializing chunk into page. This is used for fast compaction.
-
-
Method Detail
-
hasNextSatisfiedPage
public boolean hasNextSatisfiedPage()
judge if has next page whose page header satisfies the filter.- Specified by:
hasNextSatisfiedPagein interfaceIChunkReader
-
nextPageData
public BatchData nextPageData() throws java.io.IOException
get next data batch.- Specified by:
nextPageDatain interfaceIChunkReader- Returns:
- next data batch
- Throws:
java.io.IOException- IOException
-
pageSatisfied
protected boolean pageSatisfied(PageHeader pageHeader)
-
readPageDataWithoutUncompressing
public java.nio.ByteBuffer readPageDataWithoutUncompressing(PageHeader pageHeader) throws java.io.IOException
Read page data without uncompressing it.- Returns:
- compressed page data
- Throws:
java.io.IOException
-
readPageData
public TsBlock readPageData(PageHeader pageHeader, java.nio.ByteBuffer compressedPageData) throws java.io.IOException
Read data from compressed page data. Uncompress the page and decode it to batch data.- Parameters:
compressedPageData- Compressed page data- Throws:
java.io.IOException
-
close
public void close()
- Specified by:
closein interfaceIChunkReader
-
getChunkHeader
public ChunkHeader getChunkHeader()
-
loadPageReaderList
public java.util.List<IPageReader> loadPageReaderList()
- Specified by:
loadPageReaderListin interfaceIChunkReader
-
-