This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 2139fa5317 cleanup some assert() with error propagation (#4673)
2139fa5317 is described below

commit 2139fa5317cc60fb91781238938a199a3a0f1a01
Author: Ze'ev Maor <[email protected]>
AuthorDate: Thu Aug 10 10:11:29 2023 +0300

    cleanup some assert() with error propagation (#4673)
    
    * cleanup some assert() with error propagation
    
    * cleanup some assert() with error propagation
    
    ---------
    
    Co-authored-by: Ze'ev Maor <[email protected]>
---
 parquet/src/file/serialized_reader.rs | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/parquet/src/file/serialized_reader.rs 
b/parquet/src/file/serialized_reader.rs
index 629606e587..f8716359e0 100644
--- a/parquet/src/file/serialized_reader.rs
+++ b/parquet/src/file/serialized_reader.rs
@@ -442,8 +442,10 @@ pub(crate) fn decode_page(
 
     let result = match page_header.type_ {
         PageType::DICTIONARY_PAGE => {
-            assert!(page_header.dictionary_page_header.is_some());
-            let dict_header = 
page_header.dictionary_page_header.as_ref().unwrap();
+            let dict_header =
+                page_header.dictionary_page_header.as_ref().ok_or_else(|| {
+                    ParquetError::General("Missing dictionary page 
header".to_string())
+                })?;
             let is_sorted = dict_header.is_sorted.unwrap_or(false);
             Page::DictionaryPage {
                 buf: buffer,
@@ -453,8 +455,9 @@ pub(crate) fn decode_page(
             }
         }
         PageType::DATA_PAGE => {
-            assert!(page_header.data_page_header.is_some());
-            let header = page_header.data_page_header.unwrap();
+            let header = page_header.data_page_header.ok_or_else(|| {
+                ParquetError::General("Missing V1 data page 
header".to_string())
+            })?;
             Page::DataPage {
                 buf: buffer,
                 num_values: header.num_values as u32,
@@ -465,8 +468,9 @@ pub(crate) fn decode_page(
             }
         }
         PageType::DATA_PAGE_V2 => {
-            assert!(page_header.data_page_header_v2.is_some());
-            let header = page_header.data_page_header_v2.unwrap();
+            let header = page_header.data_page_header_v2.ok_or_else(|| {
+                ParquetError::General("Missing V2 data page 
header".to_string())
+            })?;
             let is_compressed = header.is_compressed.unwrap_or(true);
             Page::DataPageV2 {
                 buf: buffer,

Reply via email to