Skip to content

Commit 74e1e04

Browse files
committed
public apis
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
1 parent 02fa48e commit 74e1e04

6 files changed

Lines changed: 393 additions & 183 deletions

File tree

Lines changed: 68 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,129 @@
11
pub mod vortex_parquet_variant
22

3-
pub struct vortex_parquet_variant::ParquetVariantArray
3+
pub struct vortex_parquet_variant::ParquetVariant
44

5-
impl vortex_parquet_variant::ParquetVariantArray
5+
impl vortex_parquet_variant::ParquetVariant
66

7-
pub fn vortex_parquet_variant::ParquetVariantArray::from_arrow_variant(arrow_variant: &parquet_variant_compute::variant_array::VariantArray) -> vortex_error::VortexResult<vortex_array::array::ArrayRef>
7+
pub const vortex_parquet_variant::ParquetVariant::ID: vortex_array::vtable::dyn_::ArrayId
88

9-
pub fn vortex_parquet_variant::ParquetVariantArray::metadata_array(&self) -> &vortex_array::array::ArrayRef
9+
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariant
1010

11-
pub fn vortex_parquet_variant::ParquetVariantArray::try_new(metadata: vortex_array::array::ArrayRef, value: core::option::Option<vortex_array::array::ArrayRef>, typed_value: core::option::Option<vortex_array::array::ArrayRef>) -> vortex_error::VortexResult<Self>
11+
pub fn vortex_parquet_variant::ParquetVariant::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
1212

13-
pub fn vortex_parquet_variant::ParquetVariantArray::typed_value_array(&self) -> core::option::Option<&vortex_array::array::ArrayRef>
13+
impl vortex_array::vtable::VTable for vortex_parquet_variant::ParquetVariant
1414

15-
pub fn vortex_parquet_variant::ParquetVariantArray::value_array(&self) -> core::option::Option<&vortex_array::array::ArrayRef>
15+
pub type vortex_parquet_variant::ParquetVariant::Array = vortex_parquet_variant::ParquetVariantArray
1616

17-
impl vortex_parquet_variant::ParquetVariantArray
17+
pub type vortex_parquet_variant::ParquetVariant::Metadata = vortex_parquet_variant::ParquetVariantMetadata
1818

19-
pub fn vortex_parquet_variant::ParquetVariantArray::to_array(&self) -> vortex_array::array::ArrayRef
19+
pub type vortex_parquet_variant::ParquetVariant::OperationsVTable = vortex_parquet_variant::ParquetVariant
2020

21-
impl core::clone::Clone for vortex_parquet_variant::ParquetVariantArray
21+
pub type vortex_parquet_variant::ParquetVariant::ValidityVTable = vortex_parquet_variant::ParquetVariant
2222

23-
pub fn vortex_parquet_variant::ParquetVariantArray::clone(&self) -> vortex_parquet_variant::ParquetVariantArray
23+
pub fn vortex_parquet_variant::ParquetVariant::array_eq(array: &vortex_parquet_variant::ParquetVariantArray, other: &vortex_parquet_variant::ParquetVariantArray, precision: vortex_array::hash::Precision) -> bool
2424

25-
impl core::convert::AsRef<dyn vortex_array::array::DynArray> for vortex_parquet_variant::ParquetVariantArray
25+
pub fn vortex_parquet_variant::ParquetVariant::array_hash<H: core::hash::Hasher>(array: &vortex_parquet_variant::ParquetVariantArray, state: &mut H, precision: vortex_array::hash::Precision)
2626

27-
pub fn vortex_parquet_variant::ParquetVariantArray::as_ref(&self) -> &dyn vortex_array::array::DynArray
27+
pub fn vortex_parquet_variant::ParquetVariant::buffer(_array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> vortex_array::buffer::BufferHandle
2828

29-
impl core::convert::From<vortex_parquet_variant::ParquetVariantArray> for vortex_array::array::ArrayRef
29+
pub fn vortex_parquet_variant::ParquetVariant::buffer_name(_array: &vortex_parquet_variant::ParquetVariantArray, _idx: usize) -> core::option::Option<alloc::string::String>
3030

31-
pub fn vortex_array::array::ArrayRef::from(value: vortex_parquet_variant::ParquetVariantArray) -> vortex_array::array::ArrayRef
31+
pub fn vortex_parquet_variant::ParquetVariant::build(dtype: &vortex_array::dtype::DType, len: usize, metadata: &Self::Metadata, _buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren) -> vortex_error::VortexResult<vortex_parquet_variant::ParquetVariantArray>
3232

33-
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariantArray
33+
pub fn vortex_parquet_variant::ParquetVariant::child(array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> vortex_array::array::ArrayRef
3434

35-
pub fn vortex_parquet_variant::ParquetVariantArray::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
35+
pub fn vortex_parquet_variant::ParquetVariant::child_name(array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> alloc::string::String
3636

37-
impl core::ops::deref::Deref for vortex_parquet_variant::ParquetVariantArray
37+
pub fn vortex_parquet_variant::ParquetVariant::deserialize(bytes: &[u8], _dtype: &vortex_array::dtype::DType, _len: usize, _buffers: &[vortex_array::buffer::BufferHandle], _session: &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Metadata>
3838

39-
pub type vortex_parquet_variant::ParquetVariantArray::Target = dyn vortex_array::array::DynArray
39+
pub fn vortex_parquet_variant::ParquetVariant::dtype(array: &vortex_parquet_variant::ParquetVariantArray) -> &vortex_array::dtype::DType
4040

41-
pub fn vortex_parquet_variant::ParquetVariantArray::deref(&self) -> &Self::Target
41+
pub fn vortex_parquet_variant::ParquetVariant::execute(array: &Self::Array, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<vortex_array::executor::ExecutionStep>
4242

43-
impl vortex_array::array::IntoArray for vortex_parquet_variant::ParquetVariantArray
43+
pub fn vortex_parquet_variant::ParquetVariant::id(_array: &Self::Array) -> vortex_array::vtable::dyn_::ArrayId
4444

45-
pub fn vortex_parquet_variant::ParquetVariantArray::into_array(self) -> vortex_array::array::ArrayRef
45+
pub fn vortex_parquet_variant::ParquetVariant::len(array: &vortex_parquet_variant::ParquetVariantArray) -> usize
4646

47-
pub struct vortex_parquet_variant::ParquetVariantMetadata
47+
pub fn vortex_parquet_variant::ParquetVariant::metadata(array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_error::VortexResult<Self::Metadata>
4848

49-
pub vortex_parquet_variant::ParquetVariantMetadata::has_value: bool
49+
pub fn vortex_parquet_variant::ParquetVariant::nbuffers(_array: &vortex_parquet_variant::ParquetVariantArray) -> usize
5050

51-
pub vortex_parquet_variant::ParquetVariantMetadata::typed_value_dtype: core::option::Option<vortex_array::dtype::DType>
51+
pub fn vortex_parquet_variant::ParquetVariant::nchildren(array: &vortex_parquet_variant::ParquetVariantArray) -> usize
5252

53-
impl core::clone::Clone for vortex_parquet_variant::ParquetVariantMetadata
53+
pub fn vortex_parquet_variant::ParquetVariant::reduce_parent(array: &Self::Array, parent: &vortex_array::array::ArrayRef, child_idx: usize) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
5454

55-
pub fn vortex_parquet_variant::ParquetVariantMetadata::clone(&self) -> vortex_parquet_variant::ParquetVariantMetadata
55+
pub fn vortex_parquet_variant::ParquetVariant::serialize(metadata: Self::Metadata) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
5656

57-
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariantMetadata
57+
pub fn vortex_parquet_variant::ParquetVariant::stats(array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_array::stats::array::StatsSetRef<'_>
5858

59-
pub fn vortex_parquet_variant::ParquetVariantMetadata::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
59+
pub fn vortex_parquet_variant::ParquetVariant::with_children(array: &mut Self::Array, children: alloc::vec::Vec<vortex_array::array::ArrayRef>) -> vortex_error::VortexResult<()>
6060

61-
pub struct vortex_parquet_variant::ParquetVariant
61+
impl vortex_array::vtable::operations::OperationsVTable<vortex_parquet_variant::ParquetVariant> for vortex_parquet_variant::ParquetVariant
6262

63-
impl vortex_parquet_variant::ParquetVariant
63+
pub fn vortex_parquet_variant::ParquetVariant::scalar_at(array: &vortex_parquet_variant::ParquetVariantArray, index: usize) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
6464

65-
pub const vortex_parquet_variant::ParquetVariant::ID: vortex_array::vtable::dyn_::ArrayId
65+
impl vortex_array::vtable::validity::ValidityVTable<vortex_parquet_variant::ParquetVariant> for vortex_parquet_variant::ParquetVariant
6666

67-
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariant
67+
pub fn vortex_parquet_variant::ParquetVariant::validity(array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_error::VortexResult<vortex_array::validity::Validity>
6868

69-
pub fn vortex_parquet_variant::ParquetVariant::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
69+
pub struct vortex_parquet_variant::ParquetVariantArray
7070

71-
impl vortex_array::vtable::VTable for vortex_parquet_variant::ParquetVariant
71+
impl vortex_parquet_variant::ParquetVariantArray
7272

73-
pub type vortex_parquet_variant::ParquetVariant::Array = vortex_parquet_variant::ParquetVariantArray
73+
pub fn vortex_parquet_variant::ParquetVariantArray::from_arrow_variant(arrow_variant: &parquet_variant_compute::variant_array::VariantArray) -> vortex_error::VortexResult<vortex_array::array::ArrayRef>
7474

75-
pub type vortex_parquet_variant::ParquetVariant::Metadata = vortex_parquet_variant::ParquetVariantMetadata
75+
pub fn vortex_parquet_variant::ParquetVariantArray::metadata_array(&self) -> &vortex_array::array::ArrayRef
7676

77-
pub type vortex_parquet_variant::ParquetVariant::OperationsVTable = vortex_array::vtable::NotSupported
77+
pub fn vortex_parquet_variant::ParquetVariantArray::try_new(metadata: vortex_array::array::ArrayRef, value: core::option::Option<vortex_array::array::ArrayRef>, typed_value: core::option::Option<vortex_array::array::ArrayRef>) -> vortex_error::VortexResult<Self>
7878

79-
pub type vortex_parquet_variant::ParquetVariant::ValidityVTable = vortex_parquet_variant::ParquetVariant
79+
pub fn vortex_parquet_variant::ParquetVariantArray::try_new_with_validity(validity: vortex_array::validity::Validity, metadata: vortex_array::array::ArrayRef, value: core::option::Option<vortex_array::array::ArrayRef>, typed_value: core::option::Option<vortex_array::array::ArrayRef>) -> vortex_error::VortexResult<Self>
8080

81-
pub fn vortex_parquet_variant::ParquetVariant::array_eq(array: &vortex_parquet_variant::ParquetVariantArray, other: &vortex_parquet_variant::ParquetVariantArray, precision: vortex_array::hash::Precision) -> bool
81+
pub fn vortex_parquet_variant::ParquetVariantArray::typed_value_array(&self) -> core::option::Option<&vortex_array::array::ArrayRef>
8282

83-
pub fn vortex_parquet_variant::ParquetVariant::array_hash<H: core::hash::Hasher>(array: &vortex_parquet_variant::ParquetVariantArray, state: &mut H, precision: vortex_array::hash::Precision)
83+
pub fn vortex_parquet_variant::ParquetVariantArray::validity(&self) -> &vortex_array::validity::Validity
8484

85-
pub fn vortex_parquet_variant::ParquetVariant::buffer(_array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> vortex_array::buffer::BufferHandle
85+
pub fn vortex_parquet_variant::ParquetVariantArray::value_array(&self) -> core::option::Option<&vortex_array::array::ArrayRef>
8686

87-
pub fn vortex_parquet_variant::ParquetVariant::buffer_name(_array: &vortex_parquet_variant::ParquetVariantArray, _idx: usize) -> core::option::Option<alloc::string::String>
87+
impl vortex_parquet_variant::ParquetVariantArray
8888

89-
pub fn vortex_parquet_variant::ParquetVariant::build(dtype: &vortex_array::dtype::DType, len: usize, metadata: &Self::Metadata, _buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren) -> vortex_error::VortexResult<vortex_parquet_variant::ParquetVariantArray>
89+
pub fn vortex_parquet_variant::ParquetVariantArray::to_array(&self) -> vortex_array::array::ArrayRef
9090

91-
pub fn vortex_parquet_variant::ParquetVariant::child(array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> vortex_array::array::ArrayRef
91+
impl core::clone::Clone for vortex_parquet_variant::ParquetVariantArray
9292

93-
pub fn vortex_parquet_variant::ParquetVariant::child_name(array: &vortex_parquet_variant::ParquetVariantArray, idx: usize) -> alloc::string::String
93+
pub fn vortex_parquet_variant::ParquetVariantArray::clone(&self) -> vortex_parquet_variant::ParquetVariantArray
9494

95-
pub fn vortex_parquet_variant::ParquetVariant::deserialize(bytes: &[u8], _dtype: &vortex_array::dtype::DType, _len: usize, _buffers: &[vortex_array::buffer::BufferHandle], _session: &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Metadata>
95+
impl core::convert::AsRef<dyn vortex_array::array::DynArray> for vortex_parquet_variant::ParquetVariantArray
9696

97-
pub fn vortex_parquet_variant::ParquetVariant::dtype(_array: &vortex_parquet_variant::ParquetVariantArray) -> &vortex_array::dtype::DType
97+
pub fn vortex_parquet_variant::ParquetVariantArray::as_ref(&self) -> &dyn vortex_array::array::DynArray
9898

99-
pub fn vortex_parquet_variant::ParquetVariant::execute(array: &Self::Array, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<vortex_array::executor::ExecutionStep>
99+
impl core::convert::From<vortex_parquet_variant::ParquetVariantArray> for vortex_array::array::ArrayRef
100100

101-
pub fn vortex_parquet_variant::ParquetVariant::id(_array: &Self::Array) -> vortex_array::vtable::dyn_::ArrayId
101+
pub fn vortex_array::array::ArrayRef::from(value: vortex_parquet_variant::ParquetVariantArray) -> vortex_array::array::ArrayRef
102102

103-
pub fn vortex_parquet_variant::ParquetVariant::len(array: &vortex_parquet_variant::ParquetVariantArray) -> usize
103+
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariantArray
104104

105-
pub fn vortex_parquet_variant::ParquetVariant::metadata(array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_error::VortexResult<Self::Metadata>
105+
pub fn vortex_parquet_variant::ParquetVariantArray::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
106106

107-
pub fn vortex_parquet_variant::ParquetVariant::nbuffers(_array: &vortex_parquet_variant::ParquetVariantArray) -> usize
107+
impl core::ops::deref::Deref for vortex_parquet_variant::ParquetVariantArray
108108

109-
pub fn vortex_parquet_variant::ParquetVariant::nchildren(array: &vortex_parquet_variant::ParquetVariantArray) -> usize
109+
pub type vortex_parquet_variant::ParquetVariantArray::Target = dyn vortex_array::array::DynArray
110110

111-
pub fn vortex_parquet_variant::ParquetVariant::reduce_parent(array: &Self::Array, parent: &vortex_array::array::ArrayRef, child_idx: usize) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
111+
pub fn vortex_parquet_variant::ParquetVariantArray::deref(&self) -> &Self::Target
112112

113-
pub fn vortex_parquet_variant::ParquetVariant::serialize(metadata: Self::Metadata) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
113+
impl vortex_array::array::IntoArray for vortex_parquet_variant::ParquetVariantArray
114114

115-
pub fn vortex_parquet_variant::ParquetVariant::stats(array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_array::stats::array::StatsSetRef<'_>
115+
pub fn vortex_parquet_variant::ParquetVariantArray::into_array(self) -> vortex_array::array::ArrayRef
116116

117-
pub fn vortex_parquet_variant::ParquetVariant::with_children(array: &mut Self::Array, children: alloc::vec::Vec<vortex_array::array::ArrayRef>) -> vortex_error::VortexResult<()>
117+
pub struct vortex_parquet_variant::ParquetVariantMetadata
118118

119-
impl vortex_array::vtable::validity::ValidityVTable<vortex_parquet_variant::ParquetVariant> for vortex_parquet_variant::ParquetVariant
119+
pub vortex_parquet_variant::ParquetVariantMetadata::has_value: bool
120+
121+
pub vortex_parquet_variant::ParquetVariantMetadata::typed_value_dtype: core::option::Option<vortex_array::dtype::DType>
120122

121-
pub fn vortex_parquet_variant::ParquetVariant::validity(_array: &vortex_parquet_variant::ParquetVariantArray) -> vortex_error::VortexResult<vortex_array::validity::Validity>
123+
impl core::clone::Clone for vortex_parquet_variant::ParquetVariantMetadata
124+
125+
pub fn vortex_parquet_variant::ParquetVariantMetadata::clone(&self) -> vortex_parquet_variant::ParquetVariantMetadata
126+
127+
impl core::fmt::Debug for vortex_parquet_variant::ParquetVariantMetadata
128+
129+
pub fn vortex_parquet_variant::ParquetVariantMetadata::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result

encodings/parquet-variant/src/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ impl ParquetVariantArray {
234234
};
235235
let pv =
236236
ParquetVariantArray::try_new_with_validity(validity, metadata, value, typed_value)?;
237-
Ok(VariantArray::new_nullable(pv.into_array(), nullability).into_array())
237+
Ok(VariantArray::new(pv.into_array(), nullability).into_array())
238238
}
239239

240240
fn nchildren(&self) -> usize {
@@ -752,7 +752,7 @@ mod tests {
752752
let pv_array = ParquetVariantArray::try_new(metadata, None, Some(typed_value))?;
753753

754754
// Wrap it in a VariantArray
755-
let variant_array = VariantArray::new(pv_array.into_array());
755+
let variant_array = VariantArray::new(pv_array.into_array(), Nullability::NonNullable);
756756

757757
// Apply variant_get
758758
let target_dtype = DType::Primitive(PType::I32, Nullability::Nullable);
@@ -776,7 +776,7 @@ mod tests {
776776
let pv_array = ParquetVariantArray::try_new(metadata, Some(value), None)?;
777777

778778
// Wrap it in a VariantArray
779-
let variant_array = VariantArray::new(pv_array.into_array());
779+
let variant_array = VariantArray::new(pv_array.into_array(), Nullability::NonNullable);
780780

781781
// Apply variant_get - the rule returns None since there's no typed_value,
782782
// so the optimizer creates a lazy ScalarFnArray that will error on execute.
@@ -867,7 +867,8 @@ mod tests {
867867
let inner_value = VarBinViewArray::from_iter_bin([b"\x02", b"\x03", b"\x04"]).into_array();
868868
let inner_pv =
869869
ParquetVariantArray::try_new(inner_metadata, Some(inner_value), None).unwrap();
870-
let typed_value = VariantArray::new(inner_pv.into_array()).into_array();
870+
let typed_value =
871+
VariantArray::new(inner_pv.into_array(), Nullability::NonNullable).into_array();
871872

872873
let outer_pv =
873874
ParquetVariantArray::try_new(outer_metadata, None, Some(typed_value)).unwrap();

0 commit comments

Comments
 (0)