pub struct StructArray(/* private fields */);
Implementations§
Source§impl StructArray
impl StructArray
pub fn validity(&self) -> Validity
pub fn children(&self) -> impl Iterator<Item = ArrayData> + '_
pub fn try_new( names: FieldNames, fields: Vec<ArrayData>, length: usize, validity: Validity, ) -> VortexResult<Self>
pub fn from_fields<N: AsRef<str>>( items: &[(N, ArrayData)], ) -> VortexResult<Self>
Sourcepub fn project(&self, projection: &[Field]) -> VortexResult<Self>
pub fn project(&self, projection: &[Field]) -> VortexResult<Self>
Return a new StructArray with the given projection applied.
Projection does not copy data arrays. Projection is defined by an ordinal array slice which specifies the new ordering of columns in the struct. The projection can be used to perform column re-ordering, deletion, or duplication at a logical level, without any data copying.
Trait Implementations§
Source§impl ArrayVariants for StructArray
impl ArrayVariants for StructArray
fn as_struct_array(&self) -> Option<&dyn StructArrayTrait>
fn as_null_array(&self) -> Option<&dyn NullArrayTrait>
fn as_null_array_unchecked(&self) -> &dyn NullArrayTrait
fn as_bool_array(&self) -> Option<&dyn BoolArrayTrait>
fn as_bool_array_unchecked(&self) -> &dyn BoolArrayTrait
fn as_primitive_array(&self) -> Option<&dyn PrimitiveArrayTrait>
fn as_primitive_array_unchecked(&self) -> &dyn PrimitiveArrayTrait
fn as_utf8_array(&self) -> Option<&dyn Utf8ArrayTrait>
fn as_utf8_array_unchecked(&self) -> &dyn Utf8ArrayTrait
fn as_binary_array(&self) -> Option<&dyn BinaryArrayTrait>
fn as_binary_array_unchecked(&self) -> &dyn BinaryArrayTrait
fn as_struct_array_unchecked(&self) -> &dyn StructArrayTrait
fn as_list_array(&self) -> Option<&dyn ListArrayTrait>
fn as_list_array_unchecked(&self) -> &dyn ListArrayTrait
fn as_extension_array(&self) -> Option<&dyn ExtensionArrayTrait>
fn as_extension_array_unchecked(&self) -> &dyn ExtensionArrayTrait
Source§impl AsRef<ArrayData> for StructArray
impl AsRef<ArrayData> for StructArray
Source§impl Clone for StructArray
impl Clone for StructArray
Source§fn clone(&self) -> StructArray
fn clone(&self) -> StructArray
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for StructArray
impl Debug for StructArray
Source§impl FilterFn<StructArray> for StructEncoding
impl FilterFn<StructArray> for StructEncoding
Source§fn filter(
&self,
array: &StructArray,
mask: FilterMask,
) -> VortexResult<ArrayData>
fn filter( &self, array: &StructArray, mask: FilterMask, ) -> VortexResult<ArrayData>
Filter an array by the provided predicate.
Source§impl IntoArrayData for StructArray
impl IntoArrayData for StructArray
fn into_array(self) -> ArrayData
Source§impl IntoCanonical for StructArray
impl IntoCanonical for StructArray
Source§fn into_canonical(self) -> VortexResult<Canonical>
fn into_canonical(self) -> VortexResult<Canonical>
StructEncoding is the canonical form for a DType::Struct array, so return self.
Source§impl ScalarAtFn<StructArray> for StructEncoding
impl ScalarAtFn<StructArray> for StructEncoding
fn scalar_at(&self, array: &StructArray, index: usize) -> VortexResult<Scalar>
Source§impl SliceFn<StructArray> for StructEncoding
impl SliceFn<StructArray> for StructEncoding
Source§fn slice(
&self,
array: &StructArray,
start: usize,
stop: usize,
) -> VortexResult<ArrayData>
fn slice( &self, array: &StructArray, start: usize, stop: usize, ) -> VortexResult<ArrayData>
Return a zero-copy slice of an array, between
start
(inclusive) and end
(exclusive).
If start >= stop, returns an empty array of the same type as self
.
Assumes that start or stop are out of bounds, may panic otherwise.Source§impl StatisticsVTable<StructArray> for StructEncoding
impl StatisticsVTable<StructArray> for StructEncoding
Source§fn compute_statistics(
&self,
array: &StructArray,
stat: Stat,
) -> VortexResult<StatsSet>
fn compute_statistics( &self, array: &StructArray, stat: Stat, ) -> VortexResult<StatsSet>
Compute the requested statistic. Can return additional stats.
Source§impl StructArrayTrait for StructArray
impl StructArrayTrait for StructArray
Source§impl TakeFn<StructArray> for StructEncoding
impl TakeFn<StructArray> for StructEncoding
fn take( &self, array: &StructArray, indices: &ArrayData, options: TakeOptions, ) -> VortexResult<ArrayData>
Source§impl<'a> TryFrom<&'a ArrayData> for &'a StructArray
impl<'a> TryFrom<&'a ArrayData> for &'a StructArray
Source§type Error = VortexError
type Error = VortexError
The type returned in the event of a conversion error.
Source§fn try_from(data: &'a ArrayData) -> VortexResult<Self>
fn try_from(data: &'a ArrayData) -> VortexResult<Self>
Performs the conversion.
Source§impl TryFrom<ArrayData> for StructArray
impl TryFrom<ArrayData> for StructArray
Source§type Error = VortexError
type Error = VortexError
The type returned in the event of a conversion error.
Source§fn try_from(data: ArrayData) -> VortexResult<Self>
fn try_from(data: ArrayData) -> VortexResult<Self>
Performs the conversion.
Source§impl TryFrom<StructArray> for RecordBatch
impl TryFrom<StructArray> for RecordBatch
Source§type Error = VortexError
type Error = VortexError
The type returned in the event of a conversion error.
Source§fn try_from(value: StructArray) -> VortexResult<Self>
fn try_from(value: StructArray) -> VortexResult<Self>
Performs the conversion.
Source§impl ValidityVTable<StructArray> for StructEncoding
impl ValidityVTable<StructArray> for StructEncoding
fn is_valid(&self, array: &StructArray, index: usize) -> bool
fn logical_validity(&self, array: &StructArray) -> LogicalValidity
Source§impl VisitorVTable<StructArray> for StructEncoding
impl VisitorVTable<StructArray> for StructEncoding
fn accept( &self, array: &StructArray, visitor: &mut dyn ArrayVisitor, ) -> VortexResult<()>
impl ArrayTrait for StructArray
Auto Trait Implementations§
impl !Freeze for StructArray
impl !RefUnwindSafe for StructArray
impl Send for StructArray
impl Sync for StructArray
impl Unpin for StructArray
impl !UnwindSafe for StructArray
Blanket Implementations§
Source§impl<T> ArrayEncodingRef for T
impl<T> ArrayEncodingRef for T
fn encoding(&self) -> &'static dyn EncodingVTable
Source§impl<A> ArrayNBytes for A
impl<A> ArrayNBytes for A
Source§impl<T> ArrayStatistics for T
impl<T> ArrayStatistics for T
fn statistics(&self) -> &dyn Statistics
fn inherit_statistics(&self, parent: &dyn Statistics)
Source§impl<A> ArrayValidity for A
impl<A> ArrayValidity for A
fn is_valid(&self, index: usize) -> bool
fn logical_validity(&self) -> LogicalValidity
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoArrayVariant for Twhere
T: IntoCanonical,
impl<T> IntoArrayVariant for Twhere
T: IntoCanonical,
fn into_null(self) -> Result<NullArray, VortexError>
fn into_bool(self) -> Result<BoolArray, VortexError>
fn into_primitive(self) -> Result<PrimitiveArray, VortexError>
fn into_struct(self) -> Result<StructArray, VortexError>
fn into_varbinview(self) -> Result<VarBinViewArray, VortexError>
fn into_extension(self) -> Result<ExtensionArray, VortexError>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more