Skip to content

Commit 9708d1f

Browse files
committed
vx-array
Signed-off-by: Joe Isaacs <[email protected]>
1 parent 563dc61 commit 9708d1f

File tree

23 files changed

+119
-51
lines changed

23 files changed

+119
-51
lines changed

vortex-array/src/arrays/bool/vtable/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

4-
use vortex_buffer::ByteBuffer;
4+
use vortex_buffer::BufferHandle;
55
use vortex_dtype::DType;
66
use vortex_error::VortexExpect;
77
use vortex_error::VortexResult;
@@ -87,7 +87,7 @@ impl VTable for BoolVTable {
8787
dtype: &DType,
8888
len: usize,
8989
metadata: &Self::Metadata,
90-
buffers: &[ByteBuffer],
90+
buffers: &[BufferHandle],
9191
children: &dyn ArrayChildren,
9292
) -> VortexResult<BoolArray> {
9393
if buffers.len() != 1 {
@@ -103,7 +103,8 @@ impl VTable for BoolVTable {
103103
vortex_bail!("Expected 0 or 1 child, got {}", children.len());
104104
};
105105

106-
BoolArray::try_new(buffers[0].clone(), metadata.offset as usize, len, validity)
106+
let buffer = buffers[0].clone().try_to_bytes()?;
107+
BoolArray::try_new(buffer, metadata.offset as usize, len, validity)
107108
}
108109

109110
fn execute(array: &Self::Array, _ctx: &mut dyn ExecutionCtx) -> VortexResult<Vector> {

vortex-array/src/arrays/chunked/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

44
use itertools::Itertools;
5-
use vortex_buffer::ByteBuffer;
5+
use vortex_buffer::BufferHandle;
66
use vortex_dtype::DType;
77
use vortex_dtype::Nullability;
88
use vortex_dtype::PType;
@@ -76,7 +76,7 @@ impl VTable for ChunkedVTable {
7676
dtype: &DType,
7777
_len: usize,
7878
_metadata: &Self::Metadata,
79-
_buffers: &[ByteBuffer],
79+
_buffers: &[BufferHandle],
8080
children: &dyn ArrayChildren,
8181
) -> VortexResult<ChunkedArray> {
8282
if children.is_empty() {

vortex-array/src/arrays/constant/vtable/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

4-
use vortex_buffer::ByteBuffer;
4+
use vortex_buffer::BufferHandle;
55
use vortex_dtype::DType;
66
use vortex_error::VortexResult;
77
use vortex_error::vortex_bail;
@@ -74,13 +74,14 @@ impl VTable for ConstantVTable {
7474
dtype: &DType,
7575
len: usize,
7676
_metadata: &Self::Metadata,
77-
buffers: &[ByteBuffer],
77+
buffers: &[BufferHandle],
7878
_children: &dyn ArrayChildren,
7979
) -> VortexResult<ConstantArray> {
8080
if buffers.len() != 1 {
8181
vortex_bail!("Expected 1 buffer, got {}", buffers.len());
8282
}
83-
let sv = ScalarValue::from_protobytes(&buffers[0])?;
83+
let buffer = buffers[0].clone().try_to_bytes()?;
84+
let sv = ScalarValue::from_protobytes(&buffer)?;
8485
let scalar = Scalar::new(dtype.clone(), sv);
8586
Ok(ConstantArray::new(scalar, len))
8687
}

vortex-array/src/arrays/decimal/vtable/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
use vortex_buffer::Alignment;
55
use vortex_buffer::Buffer;
6-
use vortex_buffer::ByteBuffer;
6+
use vortex_buffer::BufferHandle;
77
use vortex_dtype::DType;
88
use vortex_dtype::NativeDecimalType;
99
use vortex_dtype::PrecisionScale;
@@ -91,13 +91,13 @@ impl VTable for DecimalVTable {
9191
dtype: &DType,
9292
len: usize,
9393
metadata: &Self::Metadata,
94-
buffers: &[ByteBuffer],
94+
buffers: &[BufferHandle],
9595
children: &dyn ArrayChildren,
9696
) -> VortexResult<DecimalArray> {
9797
if buffers.len() != 1 {
9898
vortex_bail!("Expected 1 buffer, got {}", buffers.len());
9999
}
100-
let buffer = buffers[0].clone();
100+
let buffer = buffers[0].clone().try_to_bytes()?;
101101

102102
let validity = if children.is_empty() {
103103
Validity::from(dtype.nullability())

vortex-array/src/arrays/dict/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

4-
use vortex_buffer::ByteBuffer;
4+
use vortex_buffer::BufferHandle;
55
use vortex_dtype::DType;
66
use vortex_dtype::Nullability;
77
use vortex_dtype::PType;
@@ -84,7 +84,7 @@ impl VTable for DictVTable {
8484
dtype: &DType,
8585
len: usize,
8686
metadata: &Self::Metadata,
87-
_buffers: &[ByteBuffer],
87+
_buffers: &[BufferHandle],
8888
children: &dyn ArrayChildren,
8989
) -> VortexResult<DictArray> {
9090
if children.len() != 2 {

vortex-array/src/arrays/expr/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ mod visitor;
1010
use std::fmt::Debug;
1111

1212
pub use operator::ExprOptimizationRule;
13-
use vortex_buffer::ByteBuffer;
13+
use vortex_buffer::BufferHandle;
1414
use vortex_dtype::DType;
1515
use vortex_error::VortexResult;
1616
use vortex_error::vortex_bail;
@@ -73,7 +73,7 @@ impl VTable for ExprVTable {
7373
dtype: &DType,
7474
len: usize,
7575
ExprArrayMetadata((expr, root_dtype)): &Self::Metadata,
76-
buffers: &[ByteBuffer],
76+
buffers: &[BufferHandle],
7777
children: &dyn ArrayChildren,
7878
) -> VortexResult<ExprArray> {
7979
if !buffers.is_empty() {

vortex-array/src/arrays/extension/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ mod operator;
88
mod validity;
99
mod visitor;
1010

11-
use vortex_buffer::ByteBuffer;
11+
use vortex_buffer::BufferHandle;
1212
use vortex_dtype::DType;
1313
use vortex_error::VortexResult;
1414
use vortex_error::vortex_bail;
@@ -68,7 +68,7 @@ impl VTable for ExtensionVTable {
6868
dtype: &DType,
6969
len: usize,
7070
_metadata: &Self::Metadata,
71-
_buffers: &[ByteBuffer],
71+
_buffers: &[BufferHandle],
7272
children: &dyn ArrayChildren,
7373
) -> VortexResult<ExtensionArray> {
7474
let DType::Extension(ext_dtype) = dtype else {

vortex-array/src/arrays/fixed_size_list/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
use std::sync::Arc;
55

6-
use vortex_buffer::ByteBuffer;
6+
use vortex_buffer::BufferHandle;
77
use vortex_dtype::DType;
88
use vortex_error::VortexResult;
99
use vortex_error::vortex_bail;
@@ -78,7 +78,7 @@ impl VTable for FixedSizeListVTable {
7878
dtype: &DType,
7979
len: usize,
8080
_metadata: &Self::Metadata,
81-
buffers: &[ByteBuffer],
81+
buffers: &[BufferHandle],
8282
children: &dyn ArrayChildren,
8383
) -> VortexResult<FixedSizeListArray> {
8484
vortex_ensure!(

vortex-array/src/arrays/list/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

4-
use vortex_buffer::ByteBuffer;
4+
use vortex_buffer::BufferHandle;
55
use vortex_dtype::DType;
66
use vortex_dtype::Nullability;
77
use vortex_dtype::PType;
@@ -82,7 +82,7 @@ impl VTable for ListVTable {
8282
dtype: &DType,
8383
len: usize,
8484
metadata: &Self::Metadata,
85-
_buffers: &[ByteBuffer],
85+
_buffers: &[BufferHandle],
8686
children: &dyn ArrayChildren,
8787
) -> VortexResult<ListArray> {
8888
let validity = if children.len() == 2 {

vortex-array/src/arrays/listview/vtable/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
use std::sync::Arc;
55

6-
use vortex_buffer::ByteBuffer;
6+
use vortex_buffer::BufferHandle;
77
use vortex_dtype::DType;
88
use vortex_dtype::Nullability;
99
use vortex_dtype::PType;
@@ -95,7 +95,7 @@ impl VTable for ListViewVTable {
9595
dtype: &DType,
9696
len: usize,
9797
metadata: &Self::Metadata,
98-
buffers: &[ByteBuffer],
98+
buffers: &[BufferHandle],
9999
children: &dyn ArrayChildren,
100100
) -> VortexResult<ListViewArray> {
101101
vortex_ensure!(

0 commit comments

Comments
 (0)