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 0eb8a08f88 Remove 'unwrap' from Result (#5241)
0eb8a08f88 is described below

commit 0eb8a08f8893870a6d7aafa63aef0e92593a7585
Author: Ze'ev Maor <[email protected]>
AuthorDate: Mon Dec 25 17:12:38 2023 +0200

    Remove 'unwrap' from Result (#5241)
    
    * Remove 'unwrap' from Result
    
    * Cargo fmt
    
    ---------
    
    Co-authored-by: Ze'ev Maor <[email protected]>
---
 parquet/src/record/reader.rs | 44 ++++++++++++++++++--------------------------
 1 file changed, 18 insertions(+), 26 deletions(-)

diff --git a/parquet/src/record/reader.rs b/parquet/src/record/reader.rs
index addaf7a1a4..c6bf8f1f93 100644
--- a/parquet/src/record/reader.rs
+++ b/parquet/src/record/reader.rs
@@ -99,10 +99,7 @@ impl TreeBuilder {
         row_group_reader: &dyn RowGroupReader,
     ) -> Result<ReaderIter> {
         let num_records = row_group_reader.metadata().num_rows() as usize;
-        Ok(ReaderIter::new(
-            self.build(descr, row_group_reader)?,
-            num_records,
-        ))
+        ReaderIter::new(self.build(descr, row_group_reader)?, num_records)
     }
 
     /// Builds tree of readers for the current schema recursively.
@@ -411,7 +408,7 @@ impl Reader {
                 if reader.current_def_level() > def_level {
                     reader.read_field()?
                 } else {
-                    reader.advance_columns();
+                    reader.advance_columns()?;
                     Field::Null
                 }
             }
@@ -423,7 +420,7 @@ impl Reader {
                     {
                         fields.push((String::from(reader.field_name()), 
reader.read_field()?));
                     } else {
-                        reader.advance_columns();
+                        reader.advance_columns()?;
                         fields.push((String::from(reader.field_name()), 
Field::Null));
                     }
                 }
@@ -436,7 +433,7 @@ impl Reader {
                     if reader.current_def_level() > def_level {
                         elements.push(reader.read_field()?);
                     } else {
-                        reader.advance_columns();
+                        reader.advance_columns()?;
                         // If the current definition level is equal to the 
definition
                         // level of this repeated type, then the
                         // result is an empty list and the repetition level
@@ -459,8 +456,8 @@ impl Reader {
                     if keys.current_def_level() > def_level {
                         pairs.push((keys.read_field()?, values.read_field()?));
                     } else {
-                        keys.advance_columns();
-                        values.advance_columns();
+                        keys.advance_columns()?;
+                        values.advance_columns()?;
                         // If the current definition level is equal to the 
definition
                         // level of this repeated type, then the
                         // result is an empty list and the repetition level
@@ -553,25 +550,20 @@ impl Reader {
     }
 
     /// Advances leaf columns for the current reader.
-    fn advance_columns(&mut self) {
+    fn advance_columns(&mut self) -> Result<()> {
         match *self {
-            Reader::PrimitiveReader(_, ref mut column) => {
-                column.read_next().unwrap();
-            }
-            Reader::OptionReader(_, ref mut reader) => {
-                reader.advance_columns();
-            }
+            Reader::PrimitiveReader(_, ref mut column) => 
column.read_next().map(|_| ()),
+            Reader::OptionReader(_, ref mut reader) => 
reader.advance_columns(),
             Reader::GroupReader(_, _, ref mut readers) => {
                 for reader in readers {
-                    reader.advance_columns();
+                    reader.advance_columns()?;
                 }
+                Ok(())
             }
-            Reader::RepeatedReader(_, _, _, ref mut reader) => {
-                reader.advance_columns();
-            }
+            Reader::RepeatedReader(_, _, _, ref mut reader) => 
reader.advance_columns(),
             Reader::KeyValueReader(_, _, _, ref mut keys, ref mut values) => {
-                keys.advance_columns();
-                values.advance_columns();
+                keys.advance_columns()?;
+                values.advance_columns()
             }
         }
     }
@@ -784,13 +776,13 @@ pub struct ReaderIter {
 }
 
 impl ReaderIter {
-    fn new(mut root_reader: Reader, num_records: usize) -> Self {
+    fn new(mut root_reader: Reader, num_records: usize) -> Result<Self> {
         // Prepare root reader by advancing all column vectors
-        root_reader.advance_columns();
-        Self {
+        root_reader.advance_columns()?;
+        Ok(Self {
             root_reader,
             records_left: num_records,
-        }
+        })
     }
 }
 

Reply via email to