emkornfield commented on code in PR #14964:
URL: https://github.com/apache/arrow/pull/14964#discussion_r1083090112
##########
cpp/src/parquet/page_index.h:
##########
@@ -126,4 +132,94 @@ class PARQUET_EXPORT OffsetIndex {
virtual const std::vector<PageLocation>& page_locations() const = 0;
};
+/// \brief Interface for reading the page index for a Parquet row group.
+class PARQUET_EXPORT RowGroupPageIndexReader {
+ public:
+ virtual ~RowGroupPageIndexReader() = default;
+
+ /// \brief Read column index of a column chunk.
+ ///
+ /// \param[in] i column ordinal of the column chunk.
+ /// \returns column index of the column or nullptr if it does not exist.
+ /// \throws ParquetException if the index is out of bound.
+ virtual std::shared_ptr<ColumnIndex> GetColumnIndex(int32_t i) = 0;
+
+ /// \brief Read offset index of a column chunk.
+ ///
+ /// \param[in] i column ordinal of the column chunk.
+ /// \returns offset index of the column or nullptr if it does not exist.
+ /// \throws ParquetException if the index is out of bound.
+ virtual std::shared_ptr<OffsetIndex> GetOffsetIndex(int32_t i) = 0;
+};
+
+struct IndexSelection {
+ /// Specifies whether to read the column index.
+ bool column_index = false;
+ /// Specifies whether to read the offset index.
+ bool offset_index = false;
+};
+
+struct RowGroupIndexReadRange {
Review Comment:
Yes, thank you!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]