From 3264d7d0a5ff29111b5b6c7fb91473c75d041db3 Mon Sep 17 00:00:00 2001 From: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:17:53 +0100 Subject: [PATCH] Remove deprecated ParquetWriter (#2380) --- parquet/src/file/writer.rs | 6 ---- parquet/src/util/io.rs | 71 -------------------------------------- 2 files changed, 77 deletions(-) diff --git a/parquet/src/file/writer.rs b/parquet/src/file/writer.rs index 467273aaab9..863ccf85468 100644 --- a/parquet/src/file/writer.rs +++ b/parquet/src/file/writer.rs @@ -40,7 +40,6 @@ use crate::file::{ use crate::schema::types::{ self, ColumnDescPtr, SchemaDescPtr, SchemaDescriptor, TypePtr, }; -use crate::util::io::TryClone; /// A wrapper around a [`Write`] that keeps track of the number /// of bytes that have been written @@ -109,11 +108,6 @@ pub type OnCloseRowGroup<'a> = Box< + 'a, >; -#[deprecated = "use std::io::Write"] -pub trait ParquetWriter: Write + std::io::Seek + TryClone {} -#[allow(deprecated)] -impl ParquetWriter for T {} - // ---------------------------------------------------------------------- // Serialized impl for file & row group writers diff --git a/parquet/src/util/io.rs b/parquet/src/util/io.rs index a7b5e73074c..016d45075ee 100644 --- a/parquet/src/util/io.rs +++ b/parquet/src/util/io.rs @@ -18,8 +18,6 @@ use std::{cell::RefCell, cmp, fmt, io::*}; use crate::file::reader::Length; -#[allow(deprecated)] -use crate::file::writer::ParquetWriter; const DEFAULT_BUF_SIZE: usize = 8 * 1024; @@ -156,51 +154,6 @@ impl Length for FileSource { } } -/// Struct that represents `File` output stream with position tracking. -/// Used as a sink in file writer. -#[deprecated = "use TrackedWrite instead"] -#[allow(deprecated)] -pub struct FileSink { - buf: BufWriter, - // This is not necessarily position in the underlying file, - // but rather current position in the sink. - pos: u64, -} - -#[allow(deprecated)] -impl FileSink { - /// Creates new file sink. - /// Position is set to whatever position file has. - pub fn new(buf: &W) -> Self { - let mut owned_buf = buf.try_clone().unwrap(); - let pos = owned_buf.seek(SeekFrom::Current(0)).unwrap(); - Self { - buf: BufWriter::new(owned_buf), - pos, - } - } -} - -#[allow(deprecated)] -impl Write for FileSink { - fn write(&mut self, buf: &[u8]) -> Result { - let num_bytes = self.buf.write(buf)?; - self.pos += num_bytes as u64; - Ok(num_bytes) - } - - fn flush(&mut self) -> Result<()> { - self.buf.flush() - } -} - -#[allow(deprecated)] -impl Position for FileSink { - fn pos(&self) -> u64 { - self.pos - } -} - // Position implementation for Cursor to use in various tests. impl<'a> Position for Cursor<&'a mut Vec> { fn pos(&self) -> u64 { @@ -277,30 +230,6 @@ mod tests { assert_eq!(buf, vec![b'P', b'A', b'R', b'1']); } - #[test] - #[allow(deprecated)] - fn test_io_write_with_pos() { - let mut file = tempfile::tempfile().unwrap(); - file.write_all(&[b'a', b'b', b'c']).unwrap(); - - // Write into sink - let mut sink = FileSink::new(&file); - assert_eq!(sink.pos(), 3); - - sink.write_all(&[b'd', b'e', b'f', b'g']).unwrap(); - assert_eq!(sink.pos(), 7); - - sink.flush().unwrap(); - assert_eq!(sink.pos(), file.seek(SeekFrom::Current(0)).unwrap()); - - // Read data using file chunk - let mut res = vec![0u8; 7]; - let mut chunk = - FileSource::new(&file, 0, file.metadata().unwrap().len() as usize); - chunk.read_exact(&mut res[..]).unwrap(); - assert_eq!(res, vec![b'a', b'b', b'c', b'd', b'e', b'f', b'g']); - } - #[test] fn test_io_large_read() { // Generate repeated 'abcdef' pattern and write it into a file