Skip to content

Commit 140be1c

Browse files
committed
Initial work
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
1 parent 1cf1862 commit 140be1c

3 files changed

Lines changed: 10 additions & 133 deletions

File tree

encodings/parquet-variant/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ readme = { workspace = true }
1212
repository = { workspace = true }
1313
rust-version = { workspace = true }
1414
version = { workspace = true }
15+
publish = false
1516

1617
[lints]
1718
workspace = true

encodings/parquet-variant/public-api.lock

Lines changed: 0 additions & 129 deletions
This file was deleted.

encodings/parquet-variant/src/vtable.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33

44
use std::hash::Hash;
55
use std::hash::Hasher;
6+
use std::sync::Arc;
67

78
use prost::Message;
89
use vortex_array::ArrayEq;
910
use vortex_array::ArrayHash;
1011
use vortex_array::ArrayRef;
1112
use vortex_array::ExecutionCtx;
12-
use vortex_array::ExecutionStep;
13+
use vortex_array::ExecutionResult;
1314
use vortex_array::IntoArray;
1415
use vortex_array::Precision;
16+
use vortex_array::arrays::VariantArray;
1517
use vortex_array::buffer::BufferHandle;
1618
use vortex_array::dtype::DType;
1719
use vortex_array::dtype::Nullability;
@@ -35,7 +37,7 @@ use vortex_session::VortexSession;
3537
use crate::array::ParquetVariantArray;
3638

3739
/// VTable for [`ParquetVariantArray`].
38-
#[derive(Debug)]
40+
#[derive(Debug, Clone)]
3941
pub struct ParquetVariant;
4042

4143
impl ParquetVariant {
@@ -316,8 +318,11 @@ impl VTable for ParquetVariant {
316318
Ok(())
317319
}
318320

319-
fn execute(array: &Self::Array, _ctx: &mut ExecutionCtx) -> VortexResult<ExecutionStep> {
320-
Ok(ExecutionStep::done(array.clone().into_array()))
321+
fn execute(array: Arc<Self::Array>, _ctx: &mut ExecutionCtx) -> VortexResult<ExecutionResult> {
322+
let nullability = array.dtype.nullability();
323+
Ok(ExecutionResult::done(
324+
VariantArray::new(array.as_ref().clone().into_array(), nullability).into_array(),
325+
))
321326
}
322327
}
323328

0 commit comments

Comments
 (0)