Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions encodings/alp/src/alp/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ use vortex_error::VortexResult;
use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_session::VortexSession;

use crate::ALPFloat;
use crate::alp::Exponents;
Expand Down Expand Up @@ -74,9 +75,14 @@ impl VTable for ALPVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(
<ProstMetadata<ALPMetadata> as DeserializeMetadata>::deserialize(buffer)?,
<ProstMetadata<ALPMetadata> as DeserializeMetadata>::deserialize(bytes)?,
))
}

Expand Down
10 changes: 8 additions & 2 deletions encodings/alp/src/alp_rd/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_mask::Mask;
use vortex_session::VortexSession;

use crate::alp_rd::kernel::PARENT_KERNELS;
use crate::alp_rd_decode;
Expand Down Expand Up @@ -100,9 +101,14 @@ impl VTable for ALPRDVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(
<ProstMetadata<ALPRDMetadata> as DeserializeMetadata>::deserialize(buffer)?,
<ProstMetadata<ALPRDMetadata> as DeserializeMetadata>::deserialize(bytes)?,
))
}

Expand Down
1 change: 1 addition & 0 deletions encodings/bytebool/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ vortex-dtype = { workspace = true }
vortex-error = { workspace = true }
vortex-mask = { workspace = true }
vortex-scalar = { workspace = true }
vortex-session = { workspace = true }

[dev-dependencies]
rstest = { workspace = true }
Expand Down
8 changes: 7 additions & 1 deletion encodings/bytebool/src/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_panic;
use vortex_scalar::Scalar;
use vortex_session::VortexSession;

vtable!(ByteBool);

Expand All @@ -61,7 +62,12 @@ impl VTable for ByteBoolVTable {
Ok(Some(vec![]))
}

fn deserialize(_buffer: &[u8]) -> VortexResult<Self::Metadata> {
fn deserialize(
_bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(EmptyMetadata)
}

Expand Down
2 changes: 1 addition & 1 deletion encodings/datetime-parts/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ vortex-dtype = { workspace = true }
vortex-error = { workspace = true }
vortex-mask = { workspace = true }
vortex-scalar = { workspace = true }
vortex-session = { workspace = true }

[dev-dependencies]
rstest = { workspace = true }
vortex-array = { workspace = true, features = ["_test-harness"] }
vortex-error = { workspace = true }
vortex-session = { workspace = true }
10 changes: 8 additions & 2 deletions encodings/datetime-parts/src/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ use vortex_error::VortexResult;
use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_session::VortexSession;

use crate::canonical::decode_to_temporal;
use crate::compute::rules::PARENT_RULES;
Expand Down Expand Up @@ -97,9 +98,14 @@ impl VTable for DateTimePartsVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(
<ProstMetadata<DateTimePartsMetadata> as DeserializeMetadata>::deserialize(buffer)?,
<ProstMetadata<DateTimePartsMetadata> as DeserializeMetadata>::deserialize(bytes)?,
))
}

Expand Down
1 change: 1 addition & 0 deletions encodings/decimal-byte-parts/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ vortex-dtype = { workspace = true }
vortex-error = { workspace = true }
vortex-mask = { workspace = true }
vortex-scalar = { workspace = true }
vortex-session = { workspace = true }

[dev-dependencies]
rstest = { workspace = true }
Expand Down
10 changes: 8 additions & 2 deletions encodings/decimal-byte-parts/src/decimal_byte_parts/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_scalar::DecimalValue;
use vortex_scalar::Scalar;
use vortex_session::VortexSession;

use crate::decimal_byte_parts::rules::PARENT_RULES;

Expand Down Expand Up @@ -82,8 +83,13 @@ impl VTable for DecimalBytePartsVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(DecimalBytesPartsMetadata::decode(buffer)?))
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(DecimalBytesPartsMetadata::decode(bytes)?))
}

fn build(
Expand Down
10 changes: 8 additions & 2 deletions encodings/fastlanes/src/bitpacking/vtable/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ use vortex_error::VortexResult;
use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_session::VortexSession;

use crate::BitPackedArray;
use crate::bitpack_decompress::unpack_array;
Expand Down Expand Up @@ -146,8 +147,13 @@ impl VTable for BitPackedVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
let inner = <ProstMetadata<BitPackedMetadata> as DeserializeMetadata>::deserialize(buffer)?;
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
let inner = <ProstMetadata<BitPackedMetadata> as DeserializeMetadata>::deserialize(bytes)?;
Ok(ProstMetadata(inner))
}

Expand Down
10 changes: 8 additions & 2 deletions encodings/fastlanes/src/delta/vtable/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ use vortex_dtype::match_each_unsigned_integer_ptype;
use vortex_error::VortexResult;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_session::VortexSession;

use crate::DeltaArray;
use crate::delta::array::delta_decompress::delta_decompress;
Expand Down Expand Up @@ -91,8 +92,13 @@ impl VTable for DeltaVTable {
Ok(Some(metadata.0.encode_to_vec()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(DeltaMetadata::decode(buffer)?))
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(DeltaMetadata::decode(bytes)?))
}

fn build(
Expand Down
10 changes: 8 additions & 2 deletions encodings/fastlanes/src/for/vtable/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_scalar::Scalar;
use vortex_scalar::ScalarValue;
use vortex_session::VortexSession;

use crate::FoRArray;
use crate::r#for::array::for_decompress::decompress;
Expand Down Expand Up @@ -74,8 +75,13 @@ impl VTable for FoRVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
ScalarValueMetadata::deserialize(buffer)
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
ScalarValueMetadata::deserialize(bytes)
}

fn build(
Expand Down
21 changes: 21 additions & 0 deletions encodings/fastlanes/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,24 @@ mod r#for;
mod rle;

pub(crate) const FL_CHUNK_SIZE: usize = 1024;

#[cfg(test)]
mod test {
use std::sync::LazyLock;

use vortex_array::session::ArraySessionExt;
use vortex_session::VortexSession;

use super::*;

pub static SESSION: LazyLock<VortexSession> = LazyLock::new(|| {
let session = VortexSession::empty();
session
.arrays()
.register(BitPackedVTable::ID, BitPackedVTable);
session.arrays().register(DeltaVTable::ID, DeltaVTable);
session.arrays().register(FoRVTable::ID, FoRVTable);
session.arrays().register(RLEVTable::ID, RLEVTable);
session
});
}
15 changes: 3 additions & 12 deletions encodings/fastlanes/src/rle/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ mod tests {
use vortex_array::assert_arrays_eq;
use vortex_array::serde::ArrayParts;
use vortex_array::serde::SerializeOptions;
use vortex_array::session::ArraySession;
use vortex_array::validity::Validity;
use vortex_buffer::Buffer;
use vortex_buffer::ByteBufferMut;
Expand All @@ -232,7 +231,7 @@ mod tests {
use vortex_dtype::PType;

use crate::RLEArray;
use crate::RLEVTable;
use crate::test::SESSION;

#[test]
fn test_try_new() {
Expand Down Expand Up @@ -454,17 +453,13 @@ mod tests {
}
let concat = concat.freeze();

let registry = ArraySession::default()
.registry()
.clone()
.with(RLEVTable::ID, RLEVTable);
let parts = ArrayParts::try_from(concat).unwrap();
let decoded = parts
.decode(
&DType::Primitive(PType::U32, Nullability::NonNullable),
2048,
&ctx,
&registry,
&SESSION,
)
.unwrap();

Expand Down Expand Up @@ -500,13 +495,9 @@ mod tests {
}
let concat = concat.freeze();

let registry = ArraySession::default()
.registry()
.clone()
.with(RLEVTable::ID, RLEVTable);
let parts = ArrayParts::try_from(concat).unwrap();
let decoded = parts
.decode(sliced.dtype(), sliced.len(), &ctx, &registry)
.decode(sliced.dtype(), sliced.len(), &ctx, &SESSION)
.unwrap();

let original_data = sliced.to_primitive();
Expand Down
10 changes: 8 additions & 2 deletions encodings/fastlanes/src/rle/vtable/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ use vortex_dtype::Nullability;
use vortex_dtype::PType;
use vortex_error::VortexResult;
use vortex_error::vortex_ensure;
use vortex_session::VortexSession;

use crate::RLEArray;
use crate::rle::array::rle_decompress::rle_decompress;
Expand Down Expand Up @@ -93,8 +94,13 @@ impl VTable for RLEVTable {
Ok(Some(metadata.0.encode_to_vec()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(RLEMetadata::decode(buffer)?))
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(RLEMetadata::decode(bytes)?))
}

fn build(
Expand Down
10 changes: 8 additions & 2 deletions encodings/fsst/src/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ use vortex_error::VortexResult;
use vortex_error::vortex_bail;
use vortex_error::vortex_ensure;
use vortex_error::vortex_err;
use vortex_session::VortexSession;

use crate::canonical::canonicalize_fsst;
use crate::canonical::fsst_decode_views;
Expand Down Expand Up @@ -98,9 +99,14 @@ impl VTable for FSSTVTable {
Ok(Some(metadata.serialize()))
}

fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata> {
fn deserialize(
bytes: &[u8],
_dtype: &DType,
_len: usize,
_session: &VortexSession,
) -> VortexResult<Self::Metadata> {
Ok(ProstMetadata(
<ProstMetadata<FSSTMetadata> as DeserializeMetadata>::deserialize(buffer)?,
<ProstMetadata<FSSTMetadata> as DeserializeMetadata>::deserialize(bytes)?,
))
}

Expand Down
Loading
Loading