Skip to content

Commit 7820020

Browse files
committed
from arrow gets session
Signed-off-by: Baris Palaska <barispalaska@gmail.com>
1 parent 5e5572b commit 7820020

34 files changed

Lines changed: 538 additions & 317 deletions

File tree

encodings/parquet-variant/src/array.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use vortex_array::ArrayParts;
1414
use vortex_array::ArrayRef;
1515
use vortex_array::ExecutionCtx;
1616
use vortex_array::IntoArray;
17+
use vortex_array::LEGACY_SESSION;
1718
use vortex_array::TypedArrayRef;
1819
use vortex_array::arrays::VariantArray;
1920
use vortex_array::arrow::ArrowArrayExecutor;
@@ -183,17 +184,20 @@ impl ParquetVariantData {
183184
}
184185
})
185186
.unwrap_or(Validity::NonNullable);
186-
let metadata =
187-
ArrayRef::from_arrow(arrow_variant.metadata_field() as &dyn ArrowArray, false)?;
187+
let metadata = ArrayRef::from_arrow(
188+
arrow_variant.metadata_field() as &dyn ArrowArray,
189+
false,
190+
&LEGACY_SESSION,
191+
)?;
188192

189193
let value = arrow_variant
190194
.value_field()
191-
.map(|v| ArrayRef::from_arrow(v as &dyn ArrowArray, value_nullable))
195+
.map(|v| ArrayRef::from_arrow(v as &dyn ArrowArray, value_nullable, &LEGACY_SESSION))
192196
.transpose()?;
193197

194198
let typed_value = arrow_variant
195199
.typed_value_field()
196-
.map(|tv| ArrayRef::from_arrow(tv.as_ref(), typed_value_nullable))
200+
.map(|tv| ArrayRef::from_arrow(tv.as_ref(), typed_value_nullable, &LEGACY_SESSION))
197201
.transpose()?;
198202

199203
let pv = ParquetVariant::try_new(validity, metadata, value, typed_value)?;

encodings/runend/public-api.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ pub fn vortex_runend::RunEndData::array_hash<H: core::hash::Hasher>(&self, &mut
130130

131131
impl<R: arrow_array::types::RunEndIndexType> vortex_array::arrow::FromArrowArray<&arrow_array::array::run_array::RunArray<R>> for vortex_runend::RunEndData where <R as arrow_array::types::ArrowPrimitiveType>::Native: vortex_array::dtype::ptype::NativePType
132132

133-
pub fn vortex_runend::RunEndData::from_arrow(&arrow_array::array::run_array::RunArray<R>, bool) -> vortex_error::VortexResult<Self>
133+
pub fn vortex_runend::RunEndData::from_arrow(&arrow_array::array::run_array::RunArray<R>, bool, &vortex_session::VortexSession) -> vortex_error::VortexResult<Self>
134134

135135
pub struct vortex_runend::RunEndDataParts
136136

encodings/runend/src/arrow.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use vortex_array::search_sorted::SearchSortedSide;
1717
use vortex_array::validity::Validity;
1818
use vortex_buffer::Buffer;
1919
use vortex_error::VortexResult;
20+
use vortex_session::VortexSession;
2021

2122
use crate::RunEndData;
2223
use crate::ops::find_slice_end_index;
@@ -25,14 +26,18 @@ impl<R: RunEndIndexType> FromArrowArray<&RunArray<R>> for RunEndData
2526
where
2627
R::Native: NativePType,
2728
{
28-
fn from_arrow(array: &RunArray<R>, nullable: bool) -> VortexResult<Self> {
29+
fn from_arrow(
30+
array: &RunArray<R>,
31+
nullable: bool,
32+
session: &VortexSession,
33+
) -> VortexResult<Self> {
2934
let offset = array.run_ends().offset();
3035
let len = array.run_ends().len();
3136
let ends_buf =
3237
Buffer::<R::Native>::from_arrow_scalar_buffer(array.run_ends().inner().clone());
3338
let ends = PrimitiveArray::new(ends_buf, Validity::NonNullable)
3439
.reinterpret_cast(R::Native::PTYPE.to_unsigned());
35-
let values = ArrayRef::from_arrow(array.values().as_ref(), nullable)?;
40+
let values = ArrayRef::from_arrow(array.values().as_ref(), nullable, session)?;
3641

3742
let ends_array = PrimitiveArray::from_buffer_handle(
3843
ends.buffer_handle().clone(),
@@ -125,7 +130,7 @@ mod tests {
125130
Buffer::<R::Native>::from_arrow_scalar_buffer(array.run_ends().inner().clone());
126131
let ends = PrimitiveArray::new(ends_buf, Validity::NonNullable)
127132
.reinterpret_cast(R::Native::PTYPE.to_unsigned());
128-
let values = ArrayRef::from_arrow(array.values().as_ref(), nullable)?;
133+
let values = ArrayRef::from_arrow(array.values().as_ref(), nullable, &SESSION)?;
129134

130135
let ends_array = PrimitiveArray::from_buffer_handle(
131136
ends.buffer_handle().clone(),

vortex-array/public-api.lock

Lines changed: 86 additions & 86 deletions
Large diffs are not rendered by default.

vortex-array/src/arrays/filter/execute/varbinview.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ fn arrow_filter_fn(array: &ArrayRef, mask: &Mask) -> vortex_error::VortexResult<
3737
let mask_array = BooleanArray::new(values.bit_buffer().clone().into(), None);
3838
let filtered = arrow_select::filter::filter(array_ref.as_ref(), &mask_array)?;
3939

40-
ArrayRef::from_arrow(filtered.as_ref(), array.dtype().is_nullable())
40+
ArrayRef::from_arrow(
41+
filtered.as_ref(),
42+
array.dtype().is_nullable(),
43+
&LEGACY_SESSION,
44+
)
4145
}
4246

4347
#[cfg(test)]

0 commit comments

Comments
 (0)