tustvold commented on code in PR #5179:
URL: https://github.com/apache/arrow-rs/pull/5179#discussion_r1418109576


##########
arrow-ipc/src/reader.rs:
##########
@@ -535,45 +559,34 @@ pub struct FileReader<R: Read + Seek> {
 impl<R: Read + Seek> fmt::Debug for FileReader<R> {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::result::Result<(), 
fmt::Error> {
         f.debug_struct("FileReader<R>")
-            .field("reader", &"BufReader<..>")
             .field("schema", &self.schema)
             .field("blocks", &self.blocks)
             .field("current_block", &self.current_block)
             .field("total_blocks", &self.total_blocks)
             .field("dictionaries_by_id", &self.dictionaries_by_id)
             .field("metadata_version", &self.metadata_version)
             .field("projection", &self.projection)
-            .finish()
+            .finish_non_exhaustive()
     }
 }
 
 impl<R: Read + Seek> FileReader<R> {
     /// Try to create a new file reader
     ///
-    /// Returns errors if the file does not meet the Arrow Format header and 
footer
-    /// requirements
-    pub fn try_new(reader: R, projection: Option<Vec<usize>>) -> Result<Self, 
ArrowError> {
-        let mut reader = BufReader::new(reader);
-        // check if header and footer contain correct magic bytes
-        let mut magic_buffer: [u8; 6] = [0; 6];
-        reader.read_exact(&mut magic_buffer)?;
-        if magic_buffer != super::ARROW_MAGIC {
-            return Err(ArrowError::ParseError(
-                "Arrow file does not contain correct header".to_string(),
-            ));
-        }
-        reader.seek(SeekFrom::End(-6))?;
-        reader.read_exact(&mut magic_buffer)?;
-        if magic_buffer != super::ARROW_MAGIC {
+    /// Returns errors if the file does not meet the Arrow Format footer 
requirements

Review Comment:
   Perhaps @pitrou might know if this is a bad idea?



##########
arrow-ipc/src/reader.rs:
##########
@@ -535,45 +559,34 @@ pub struct FileReader<R: Read + Seek> {
 impl<R: Read + Seek> fmt::Debug for FileReader<R> {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::result::Result<(), 
fmt::Error> {
         f.debug_struct("FileReader<R>")
-            .field("reader", &"BufReader<..>")
             .field("schema", &self.schema)
             .field("blocks", &self.blocks)
             .field("current_block", &self.current_block)
             .field("total_blocks", &self.total_blocks)
             .field("dictionaries_by_id", &self.dictionaries_by_id)
             .field("metadata_version", &self.metadata_version)
             .field("projection", &self.projection)
-            .finish()
+            .finish_non_exhaustive()
     }
 }
 
 impl<R: Read + Seek> FileReader<R> {
     /// Try to create a new file reader
     ///
-    /// Returns errors if the file does not meet the Arrow Format header and 
footer
-    /// requirements
-    pub fn try_new(reader: R, projection: Option<Vec<usize>>) -> Result<Self, 
ArrowError> {
-        let mut reader = BufReader::new(reader);
-        // check if header and footer contain correct magic bytes
-        let mut magic_buffer: [u8; 6] = [0; 6];
-        reader.read_exact(&mut magic_buffer)?;
-        if magic_buffer != super::ARROW_MAGIC {
-            return Err(ArrowError::ParseError(
-                "Arrow file does not contain correct header".to_string(),
-            ));
-        }
-        reader.seek(SeekFrom::End(-6))?;
-        reader.read_exact(&mut magic_buffer)?;
-        if magic_buffer != super::ARROW_MAGIC {
+    /// Returns errors if the file does not meet the Arrow Format footer 
requirements

Review Comment:
   Perhaps @pitrou might know if this is a bad idea?



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