Skip to content

Commit 4a377da

Browse files
committed
Merge remote-tracking branch 'origin/develop' into ji/mrege-expr-into-array
# Conflicts: # vortex-expr/Cargo.toml
2 parents 0ab99b2 + fe7aef6 commit 4a377da

File tree

7 files changed

+20
-9
lines changed

7 files changed

+20
-9
lines changed

Cargo.lock

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vortex-buffer/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ all-features = true
2020
arrow = []
2121
cuda = ["dep:cudarc"]
2222
memmap2 = ["dep:memmap2"]
23-
serde = ["dep:serde_core"]
23+
serde = ["dep:serde"]
2424
warn-copy = ["dep:log"]
2525

2626
[dependencies]
@@ -32,7 +32,7 @@ itertools = { workspace = true }
3232
log = { workspace = true, optional = true }
3333
memmap2 = { workspace = true, optional = true }
3434
num-traits = { workspace = true }
35-
serde_core = { workspace = true, optional = true }
35+
serde = { workspace = true, optional = true }
3636
simdutf8 = { workspace = true }
3737
vortex-error = { workspace = true }
3838

vortex-buffer/src/bit/buf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use crate::{Alignment, BitBufferMut, Buffer, BufferMut, ByteBuffer, buffer};
1212

1313
/// An immutable bitset stored as a packed byte buffer.
1414
#[derive(Debug, Clone, Eq)]
15+
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
1516
pub struct BitBuffer {
1617
buffer: ByteBuffer,
1718
/// Represents the offset of the bit buffer into the first byte.

vortex-buffer/src/serde.rs

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

44
use std::marker::PhantomData;
55

6-
use serde_core::de::Visitor;
7-
use serde_core::{Deserialize, Deserializer, Serialize, Serializer};
6+
use serde::de::Visitor;
7+
use serde::{Deserialize, Deserializer, Serialize, Serializer};
88

99
use crate::{Alignment, Buffer, BufferMut, ByteBuffer};
1010

@@ -44,31 +44,31 @@ where
4444

4545
fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
4646
where
47-
E: serde_core::de::Error,
47+
E: serde::de::Error,
4848
{
4949
let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::<T>());
5050
Ok(Buffer::from_byte_buffer(bytes))
5151
}
5252

5353
fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>
5454
where
55-
E: serde_core::de::Error,
55+
E: serde::de::Error,
5656
{
5757
let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::<T>());
5858
Ok(Buffer::from_byte_buffer(bytes))
5959
}
6060

6161
fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
6262
where
63-
E: serde_core::de::Error,
63+
E: serde::de::Error,
6464
{
6565
let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::<T>());
6666
Ok(Buffer::from_byte_buffer(bytes))
6767
}
6868

6969
fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
7070
where
71-
A: serde_core::de::SeqAccess<'de>,
71+
A: serde::de::SeqAccess<'de>,
7272
{
7373
let mut buffer = seq
7474
.size_hint()

vortex-mask/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ repository = { workspace = true }
1313
rust-version = { workspace = true }
1414
version = { workspace = true }
1515

16+
[features]
17+
serde = ["dep:serde", "vortex-buffer/serde"]
18+
1619
[dependencies]
1720
itertools = { workspace = true }
21+
serde = { workspace = true, optional = true, features = ["rc"] }
1822
vortex-buffer = { workspace = true, features = ["arrow"] }
1923
vortex-error = { workspace = true }
2024

vortex-mask/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ impl<T> Eq for AllOr<T> where T: Eq {}
9898
/// A [`Mask`] can be constructed from various representations, and converted to various
9999
/// others. Internally, these are cached.
100100
#[derive(Debug, Clone)]
101+
#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]
101102
pub enum Mask {
102103
/// All values are included.
103104
AllTrue(usize),
@@ -109,12 +110,15 @@ pub enum Mask {
109110

110111
/// Represents the values of a [`Mask`] that contains some true and some false elements.
111112
#[derive(Debug)]
113+
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
112114
pub struct MaskValues {
113115
buffer: BitBuffer,
114116

115117
// We cached the indices and slices representations, since it can be faster than iterating
116118
// the bit-mask over and over again.
119+
#[cfg_attr(feature = "serde", serde(skip))]
117120
indices: OnceLock<Vec<usize>>,
121+
#[cfg_attr(feature = "serde", serde(skip))]
118122
slices: OnceLock<Vec<(usize, usize)>>,
119123

120124
// Pre-computed values.

vortex/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ serde = [
7878
"vortex-array/serde",
7979
"vortex-dtype/serde",
8080
"vortex-buffer/serde",
81+
"vortex-mask/serde",
8182
"vortex-error/serde",
8283
]
8384
# This feature enabled unstable encodings for which we don't guarantee stability.

0 commit comments

Comments
 (0)