@@ -18350,7 +18350,7 @@ impl vortex_array::session::ArraySession
1835018350
1835118351pub fn vortex_array::session::ArraySession::empty() -> vortex_array::session::ArraySession
1835218352
18353- pub fn vortex_array::session::ArraySession::register<V : vortex_array::VTable >(&self, vtable: V )
18353+ pub fn vortex_array::session::ArraySession::register<P : vortex_array::ArrayPlugin >(&self, plugin: P )
1835418354
1835518355pub fn vortex_array::session::ArraySession::registry(&self) -> &vortex_array::session::ArrayRegistry
1835618356
@@ -18370,7 +18370,7 @@ impl<S: vortex_session::SessionExt> vortex_array::session::ArraySessionExt for S
1837018370
1837118371pub fn S::arrays(&self) -> vortex_session::Ref<'_, vortex_array::session::ArraySession>
1837218372
18373- pub type vortex_array::session::ArrayRegistry = vortex_session::registry::Registry<vortex_array::DynVTableRef >
18373+ pub type vortex_array::session::ArrayRegistry = vortex_session::registry::Registry<vortex_array::ArrayPluginRef >
1837418374
1837518375pub mod vortex_array::stats
1837618376
@@ -18860,6 +18860,18 @@ impl<V: vortex_array::VTable> vortex_array::ValidityVTable<V> for vortex_array::
1886018860
1886118861pub fn vortex_array::ValidityVTableFromValiditySliceHelper::validity(array: vortex_array::ArrayView<'_, V>) -> vortex_error::VortexResult<vortex_array::validity::Validity>
1886218862
18863+ pub trait vortex_array::vtable::ArrayPlugin: 'static + core::marker::Send + core::marker::Sync
18864+
18865+ pub fn vortex_array::vtable::ArrayPlugin::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> vortex_error::VortexResult<vortex_array::ArrayRef>
18866+
18867+ pub fn vortex_array::vtable::ArrayPlugin::id(&self) -> vortex_array::ArrayId
18868+
18869+ impl<V: vortex_array::VTable> vortex_array::ArrayPlugin for V
18870+
18871+ pub fn V::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
18872+
18873+ pub fn V::id(&self) -> arcref::ArcRef<str>
18874+
1886318875pub trait vortex_array::vtable::ArrayVTable: 'static + core::clone::Clone + core::marker::Sized + core::marker::Send + core::marker::Sync + core::fmt::Debug
1886418876
1886518877pub type vortex_array::vtable::ArrayVTable::ArrayData: 'static + core::marker::Send + core::marker::Sync + core::clone::Clone + core::fmt::Debug + vortex_array::ArrayHash + vortex_array::ArrayEq
@@ -19784,38 +19796,6 @@ pub fn vortex_array::arrays::slice::Slice::slot_name(_array: vortex_array::Array
1978419796
1978519797pub fn vortex_array::arrays::slice::Slice::validate(&self, data: &Self::ArrayData, dtype: &vortex_array::dtype::DType, len: usize, slots: &[core::option::Option<vortex_array::ArrayRef>]) -> vortex_error::VortexResult<()>
1978619798
19787- pub trait vortex_array::vtable::DynVTable: 'static + core::marker::Send + core::marker::Sync + core::fmt::Debug
19788-
19789- pub fn vortex_array::vtable::DynVTable::build(&self, id: vortex_array::ArrayId, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> vortex_error::VortexResult<vortex_array::ArrayRef>
19790-
19791- pub fn vortex_array::vtable::DynVTable::clone_boxed(&self) -> alloc::boxed::Box<dyn vortex_array::DynVTable>
19792-
19793- pub fn vortex_array::vtable::DynVTable::execute(&self, array: vortex_array::ArrayRef, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<vortex_array::ExecutionResult>
19794-
19795- pub fn vortex_array::vtable::DynVTable::execute_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
19796-
19797- pub fn vortex_array::vtable::DynVTable::reduce(&self, array: &vortex_array::ArrayRef) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
19798-
19799- pub fn vortex_array::vtable::DynVTable::reduce_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
19800-
19801- pub fn vortex_array::vtable::DynVTable::with_slots(&self, array: vortex_array::ArrayRef, slots: alloc::vec::Vec<core::option::Option<vortex_array::ArrayRef>>) -> vortex_error::VortexResult<vortex_array::ArrayRef>
19802-
19803- impl<V: vortex_array::VTable> vortex_array::DynVTable for V
19804-
19805- pub fn V::build(&self, _id: arcref::ArcRef<str>, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
19806-
19807- pub fn V::clone_boxed(&self) -> alloc::boxed::Box<dyn vortex_array::DynVTable>
19808-
19809- pub fn V::execute(&self, array: vortex_array::ArrayRef, ctx: &mut vortex_array::ExecutionCtx) -> core::result::Result<vortex_array::ExecutionResult, vortex_error::VortexError>
19810-
19811- pub fn V::execute_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize, ctx: &mut vortex_array::ExecutionCtx) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
19812-
19813- pub fn V::reduce(&self, array: &vortex_array::ArrayRef) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
19814-
19815- pub fn V::reduce_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
19816-
19817- pub fn V::with_slots(&self, array: vortex_array::ArrayRef, slots: alloc::vec::Vec<core::option::Option<vortex_array::ArrayRef>>) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
19818-
1981919799pub trait vortex_array::vtable::OperationsVTable<V: vortex_array::VTable>
1982019800
1982119801pub fn vortex_array::vtable::OperationsVTable::scalar_at(array: vortex_array::ArrayView<'_, V>, index: usize, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
@@ -20960,7 +20940,7 @@ pub fn vortex_array::vtable::validity_nchildren(validity: &vortex_array::validit
2096020940
2096120941pub fn vortex_array::vtable::validity_to_child(validity: &vortex_array::validity::Validity, len: usize) -> core::option::Option<vortex_array::ArrayRef>
2096220942
20963- pub type vortex_array::vtable::DynVTableRef = alloc::sync::Arc<dyn vortex_array::DynVTable >
20943+ pub type vortex_array::vtable::ArrayPluginRef = alloc::sync::Arc<dyn vortex_array::ArrayPlugin >
2096420944
2096520945pub macro vortex_array::field_path!
2096620946
@@ -21710,6 +21690,8 @@ pub fn vortex_array::ArrayRef::dtype(&self) -> &vortex_array::dtype::DType
2171021690
2171121691pub fn vortex_array::ArrayRef::encoding_id(&self) -> vortex_array::ArrayId
2171221692
21693+ pub fn vortex_array::ArrayRef::execute_parent(&self, parent: &vortex_array::ArrayRef, child_idx: usize, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
21694+
2171321695pub fn vortex_array::ArrayRef::filter(&self, mask: vortex_mask::Mask) -> vortex_error::VortexResult<vortex_array::ArrayRef>
2171421696
2171521697pub fn vortex_array::ArrayRef::into_canonical(self) -> vortex_error::VortexResult<vortex_array::Canonical>
@@ -21750,6 +21732,10 @@ pub fn vortex_array::ArrayRef::nchildren(&self) -> usize
2175021732
2175121733pub fn vortex_array::ArrayRef::nth_child(&self, idx: usize) -> core::option::Option<vortex_array::ArrayRef>
2175221734
21735+ pub fn vortex_array::ArrayRef::reduce(&self) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
21736+
21737+ pub fn vortex_array::ArrayRef::reduce_parent(&self, parent: &vortex_array::ArrayRef, child_idx: usize) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
21738+
2175321739pub fn vortex_array::ArrayRef::scalar_at(&self, index: usize) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
2175421740
2175521741pub fn vortex_array::ArrayRef::slice(&self, range: core::ops::range::Range<usize>) -> vortex_error::VortexResult<vortex_array::ArrayRef>
@@ -21772,10 +21758,10 @@ pub fn vortex_array::ArrayRef::validity(&self) -> vortex_error::VortexResult<vor
2177221758
2177321759pub fn vortex_array::ArrayRef::validity_mask(&self) -> vortex_error::VortexResult<vortex_mask::Mask>
2177421760
21775- pub fn vortex_array::ArrayRef::vtable(&self) -> &dyn vortex_array::DynVTable
21776-
2177721761pub fn vortex_array::ArrayRef::with_slot(self, slot_idx: usize, replacement: vortex_array::ArrayRef) -> vortex_error::VortexResult<vortex_array::ArrayRef>
2177821762
21763+ pub fn vortex_array::ArrayRef::with_slots(self, slots: alloc::vec::Vec<core::option::Option<vortex_array::ArrayRef>>) -> vortex_error::VortexResult<vortex_array::ArrayRef>
21764+
2177921765impl vortex_array::ArrayRef
2178021766
2178121767pub fn vortex_array::ArrayRef::apply(self, expr: &vortex_array::expr::Expression) -> vortex_error::VortexResult<vortex_array::ArrayRef>
@@ -22600,6 +22586,30 @@ impl<T: vortex_array::ArrayHash> vortex_array::ArrayHash for core::option::Optio
2260022586
2260122587pub fn core::option::Option<T>::array_hash<H: core::hash::Hasher>(&self, state: &mut H, precision: vortex_array::Precision)
2260222588
22589+ pub trait vortex_array::ArrayPlugin: 'static + core::marker::Send + core::marker::Sync
22590+
22591+ pub trait vortex_array::ArrayPlugin: 'static + core::marker::Send + core::marker::Sync
22592+
22593+ pub fn vortex_array::ArrayPlugin::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> vortex_error::VortexResult<vortex_array::ArrayRef>
22594+
22595+ pub fn vortex_array::ArrayPlugin::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> vortex_error::VortexResult<vortex_array::ArrayRef>
22596+
22597+ pub fn vortex_array::ArrayPlugin::id(&self) -> vortex_array::ArrayId
22598+
22599+ pub fn vortex_array::ArrayPlugin::id(&self) -> vortex_array::ArrayId
22600+
22601+ impl<V: vortex_array::VTable> vortex_array::ArrayPlugin for V
22602+
22603+ impl<V: vortex_array::VTable> vortex_array::ArrayPlugin for V
22604+
22605+ pub fn V::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
22606+
22607+ pub fn V::deserialize(&self, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
22608+
22609+ pub fn V::id(&self) -> arcref::ArcRef<str>
22610+
22611+ pub fn V::id(&self) -> arcref::ArcRef<str>
22612+
2260322613pub trait vortex_array::ArrayVTable: 'static + core::clone::Clone + core::marker::Sized + core::marker::Send + core::marker::Sync + core::fmt::Debug
2260422614
2260522615pub type vortex_array::ArrayVTable::ArrayData: 'static + core::marker::Send + core::marker::Sync + core::clone::Clone + core::fmt::Debug + vortex_array::ArrayHash + vortex_array::ArrayEq
@@ -23564,38 +23574,6 @@ impl<T: vortex_array::ArrayHash + ?core::marker::Sized> vortex_array::DynArrayHa
2356423574
2356523575pub fn T::dyn_array_hash(&self, state: &mut dyn core::hash::Hasher, precision: vortex_array::Precision)
2356623576
23567- pub trait vortex_array::DynVTable: 'static + core::marker::Send + core::marker::Sync + core::fmt::Debug
23568-
23569- pub fn vortex_array::DynVTable::build(&self, id: vortex_array::ArrayId, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> vortex_error::VortexResult<vortex_array::ArrayRef>
23570-
23571- pub fn vortex_array::DynVTable::clone_boxed(&self) -> alloc::boxed::Box<dyn vortex_array::DynVTable>
23572-
23573- pub fn vortex_array::DynVTable::execute(&self, array: vortex_array::ArrayRef, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<vortex_array::ExecutionResult>
23574-
23575- pub fn vortex_array::DynVTable::execute_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
23576-
23577- pub fn vortex_array::DynVTable::reduce(&self, array: &vortex_array::ArrayRef) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
23578-
23579- pub fn vortex_array::DynVTable::reduce_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize) -> vortex_error::VortexResult<core::option::Option<vortex_array::ArrayRef>>
23580-
23581- pub fn vortex_array::DynVTable::with_slots(&self, array: vortex_array::ArrayRef, slots: alloc::vec::Vec<core::option::Option<vortex_array::ArrayRef>>) -> vortex_error::VortexResult<vortex_array::ArrayRef>
23582-
23583- impl<V: vortex_array::VTable> vortex_array::DynVTable for V
23584-
23585- pub fn V::build(&self, _id: arcref::ArcRef<str>, dtype: &vortex_array::dtype::DType, len: usize, metadata: &[u8], buffers: &[vortex_array::buffer::BufferHandle], children: &dyn vortex_array::serde::ArrayChildren, session: &vortex_session::VortexSession) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
23586-
23587- pub fn V::clone_boxed(&self) -> alloc::boxed::Box<dyn vortex_array::DynVTable>
23588-
23589- pub fn V::execute(&self, array: vortex_array::ArrayRef, ctx: &mut vortex_array::ExecutionCtx) -> core::result::Result<vortex_array::ExecutionResult, vortex_error::VortexError>
23590-
23591- pub fn V::execute_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize, ctx: &mut vortex_array::ExecutionCtx) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
23592-
23593- pub fn V::reduce(&self, array: &vortex_array::ArrayRef) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
23594-
23595- pub fn V::reduce_parent(&self, array: &vortex_array::ArrayRef, parent: &vortex_array::ArrayRef, child_idx: usize) -> core::result::Result<core::option::Option<vortex_array::ArrayRef>, vortex_error::VortexError>
23596-
23597- pub fn V::with_slots(&self, array: vortex_array::ArrayRef, slots: alloc::vec::Vec<core::option::Option<vortex_array::ArrayRef>>) -> core::result::Result<vortex_array::ArrayRef, vortex_error::VortexError>
23598-
2359923577pub trait vortex_array::Executable: core::marker::Sized
2360023578
2360123579pub fn vortex_array::Executable::execute(array: vortex_array::ArrayRef, ctx: &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<Self>
@@ -24956,10 +24934,12 @@ pub fn vortex_array::validity_nchildren(validity: &vortex_array::validity::Valid
2495624934
2495724935pub fn vortex_array::validity_to_child(validity: &vortex_array::validity::Validity, len: usize) -> core::option::Option<vortex_array::ArrayRef>
2495824936
24959- pub type vortex_array::ArrayContext = vortex_session::registry::Context<vortex_array::DynVTableRef >
24937+ pub type vortex_array::ArrayContext = vortex_session::registry::Context<vortex_array::ArrayPluginRef >
2496024938
2496124939pub type vortex_array::ArrayId = arcref::ArcRef<str>
2496224940
24963- pub type vortex_array::DonePredicate = fn(&vortex_array::ArrayRef) -> bool
24941+ pub type vortex_array::ArrayPluginRef = alloc::sync::Arc<dyn vortex_array::ArrayPlugin>
24942+
24943+ pub type vortex_array::ArrayPluginRef = alloc::sync::Arc<dyn vortex_array::ArrayPlugin>
2496424944
24965- pub type vortex_array::DynVTableRef = alloc::sync::Arc<dyn vortex_array::DynVTable>
24945+ pub type vortex_array::DonePredicate = fn(& vortex_array::ArrayRef) -> bool
0 commit comments