wgtmac commented on code in PR #14964:
URL: https://github.com/apache/arrow/pull/14964#discussion_r1064140258


##########
cpp/src/parquet/page_index.h:
##########
@@ -126,4 +130,75 @@ class PARQUET_EXPORT OffsetIndex {
   virtual const std::vector<PageLocation>& page_locations() const = 0;
 };
 
+/// \brief Interface for reading the page index from a Parquet row group.
+class PARQUET_EXPORT RowGroupPageIndexReader {
+ public:
+  virtual ~RowGroupPageIndexReader() = default;
+
+  /// \brief Read column index of a column chunk.
+  ///
+  /// \param[in] i column id of the column chunk.
+  /// \returns error Result if either column id is invalid or column index 
does not exist.
+  virtual ::arrow::Result<std::shared_ptr<ColumnIndex>> GetColumnIndex(int32_t 
i) = 0;

Review Comment:
   Use exception instead of status for the return type. Now it returns nullptr 
if page index does not exist and throw if column ordinal or block ordinal is 
out of bound.



-- 
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]

Reply via email to