private IPointReader getPontReader(
      PageHeader timePageHeader,
      List<PageHeader> valuePageHeaders,
      ByteBuffer compressedTimePageData,
      List<ByteBuffer> compressedValuePageDatas,
      boolean ignoreAllNullRows)
      throws IOException {

    // decrypt and uncompress time page data
    IDecryptor decryptor = IDecryptor.getDecryptor(encryptParam);
    ByteBuffer uncompressedTimePageData =
        decryptAndUncompressPageData(
            timePageHeader, timeUnCompressor, compressedTimePageData, decryptor);
    TimePageReader timePageReader =
        new TimePageReader(timePageHeader, uncompressedTimePageData, timeDecoder);
    timePageReader.setDeleteIntervalList(timeDeleteIntervalList);

    // uncompress value page datas
    List<ValuePageReader> valuePageReaders = new ArrayList<>(valuePageHeaders.size());
    for (int i = 0; i < valuePageHeaders.size(); i++) {
      if (valuePageHeaders.get(i) == null) {
        valuePageReaders.add(null);
      } else {
        ChunkHeader valueChunkHeader = valueChunkHeaderList.get(i);
        ByteBuffer uncompressedPageData =
            decryptAndUncompressPageData(
                valuePageHeaders.get(i),
                IUnCompressor.getUnCompressor(valueChunkHeader.getCompressionType()),
                compressedValuePageDatas.get(i),
                decryptor);
        TSDataType valueType = valueChunkHeader.getDataType();
        ValuePageReader valuePageReader =
            new ValuePageReader(
                valuePageHeaders.get(i),
                uncompressedPageData,
                valueType,
                Decoder.getDecoderByType(valueChunkHeader.getEncodingType(), valueType));
        valuePageReader.setDeleteIntervalList(valueDeleteIntervalList.get(i));
        valuePageReaders.add(valuePageReader);
      }
    }

    return new CompactionAlignedPageLazyLoadPointReader(
        timePageReader, valuePageReaders, ignoreAllNullRows);
  }
Read data from compressed page data. Uncompress the page and decode it to tsblock data.

@throws IOException exception thrown when reading page data
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/reader/CompactionAlignedChunkReader.java