Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
rok committed Mar 11, 2025
1 parent d8fd4f2 commit 67b8cb9
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 33 deletions.
58 changes: 27 additions & 31 deletions parquet/src/arrow/async_reader/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ impl<T: AsyncRead + AsyncSeek + Unpin + Send> AsyncFileReader for T {
.boxed()
}

#[cfg(feature = "encryption")]
fn get_metadata_with_options<'a>(
&'a mut self,
options: &'a ArrowReaderOptions,
Expand Down Expand Up @@ -202,7 +201,7 @@ impl<T: AsyncRead + AsyncSeek + Unpin + Send> AsyncFileReader for T {
let footer = ParquetMetaDataReader::decode_footer_tail(&buf)?;
let metadata_len = footer.metadata_length();
#[cfg(not(feature = "encryption"))]
if footer.encrypted_footer {
if footer.is_encrypted_footer() {
return Err(general_err!(
"Parquet file has an encrypted footer but the encryption feature is disabled"
));
Expand Down Expand Up @@ -927,7 +926,6 @@ struct InMemoryRowGroup<'a> {
offset_index: Option<&'a [OffsetIndexMetaData]>,
column_chunks: Vec<Option<Arc<ColumnChunkData>>>,
row_count: usize,
#[cfg(feature = "encryption")]
row_group_idx: usize,
metadata: &'a ParquetMetaData,
}
Expand Down Expand Up @@ -1033,35 +1031,34 @@ impl RowGroups for InMemoryRowGroup<'_> {

fn column_chunks(&self, i: usize) -> Result<Box<dyn PageIterator>> {
#[cfg(feature = "encryption")]
let crypto_context =
if let Some(file_decryptor) = self.metadata.clone().file_decryptor().clone() {
let column_name = &self
.metadata
.clone()
.file_metadata()
.schema_descr()
.column(i);

if file_decryptor.is_column_encrypted(column_name.name()) {
let data_decryptor =
file_decryptor.get_column_data_decryptor(column_name.name())?;
let metadata_decryptor =
file_decryptor.get_column_metadata_decryptor(column_name.name())?;

let crypto_context = CryptoContext::new(
self.row_group_idx,
i,
data_decryptor,
metadata_decryptor,
file_decryptor.file_aad().clone(),
);
Some(Arc::new(crypto_context))
} else {
None
}
let crypto_context = if let Some(file_decryptor) = self.metadata.clone().file_decryptor() {
let column_name = &self
.metadata
.clone()
.file_metadata()
.schema_descr()
.column(i);

if file_decryptor.is_column_encrypted(column_name.name()) {
let data_decryptor =
file_decryptor.get_column_data_decryptor(column_name.name())?;
let metadata_decryptor =
file_decryptor.get_column_metadata_decryptor(column_name.name())?;

let crypto_context = CryptoContext::new(
self.row_group_idx,
i,
data_decryptor,
metadata_decryptor,
file_decryptor.file_aad().clone(),
);
Some(Arc::new(crypto_context))
} else {
None
};
}
} else {
None
};

match &self.column_chunks[i] {
None => Err(ParquetError::General(format!(
Expand Down Expand Up @@ -1212,7 +1209,6 @@ mod tests {
futures::future::ready(Ok(self.metadata.clone())).boxed()
}

#[cfg(feature = "encryption")]
fn get_metadata_with_options<'a>(
&'a mut self,
options: &'a ArrowReaderOptions,
Expand Down
2 changes: 1 addition & 1 deletion parquet/src/arrow/async_reader/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ mod tests {
let options =
ArrowReaderOptions::new().with_file_decryption_properties(decryption_properties);
let mut binding = ParquetObjectReader::new(store, meta);
let binding = binding.get_metadata_with_options(&options);
let _binding = binding.get_metadata_with_options(&options);

// todo: this should pass
// let object_reader = binding.await.unwrap();
Expand Down
2 changes: 1 addition & 1 deletion parquet/src/file/metadata/reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ impl ParquetMetaDataReader {
return Err(ParquetError::NeedMoreData(footer_metadata_len));
}
#[cfg(not(feature = "encryption"))]
if footer.encrypted_footer {
if footer.is_encrypted_footer() {
return Err(general_err!(
"Parquet file has an encrypted footer but the encryption feature is disabled"
));
Expand Down

0 comments on commit 67b8cb9

Please sign in to comment.