diff --git a/arrow-flight/src/decode.rs b/arrow-flight/src/decode.rs index 1f64924932d4..3460bf7080e9 100644 --- a/arrow-flight/src/decode.rs +++ b/arrow-flight/src/decode.rs @@ -308,12 +308,14 @@ impl FlightDataDecoder { ) })?; - arrow_ipc::reader::read_dictionary( + arrow_ipc::reader::read_dictionary_impl( &buffer, dictionary_batch, &state.schema, &mut state.dictionaries_by_field, &message.version(), + false, + self.skip_validation.clone(), ) .map_err(|e| { FlightError::DecodeError(format!("Error decoding ipc dictionary: {e}")) diff --git a/arrow-ipc/src/reader.rs b/arrow-ipc/src/reader.rs index e6f45c4cd075..dda655504658 100644 --- a/arrow-ipc/src/reader.rs +++ b/arrow-ipc/src/reader.rs @@ -798,7 +798,8 @@ pub fn read_dictionary( ) } -fn read_dictionary_impl( +/// Low-level version of [`read_dictionary`] with alignment and validation controls +pub fn read_dictionary_impl( buf: &Buffer, batch: crate::DictionaryBatch, schema: &Schema,