Struct ChunkedArray

Source
pub struct ChunkedArray { /* private fields */ }

Implementations§

Source§

impl ChunkedArray

Source

pub fn try_new(chunks: Vec<ArrayRef>, dtype: DType) -> VortexResult<Self>

Source

pub fn new_unchecked(chunks: Vec<ArrayRef>, dtype: DType) -> Self

Source

pub fn chunk(&self, idx: usize) -> VortexResult<&ArrayRef>

Source

pub fn nchunks(&self) -> usize

Source

pub fn chunk_offsets(&self) -> &[u64]

Source

pub fn chunks(&self) -> &[ArrayRef]

Source

pub fn non_empty_chunks(&self) -> impl Iterator<Item = &ArrayRef> + '_

Source

pub fn array_iterator(&self) -> impl ArrayIterator + '_

Source

pub fn array_stream(&self) -> impl ArrayStream + '_

Source

pub fn rechunk( &self, target_bytesize: usize, target_rowsize: usize, ) -> VortexResult<Self>

Trait Implementations§

Source§

impl ArrayCanonicalImpl for ChunkedArray

Source§

fn _to_canonical(&self) -> VortexResult<Canonical>

Returns the canonical representation of the array. Read more
Source§

fn _append_to_builder(&self, builder: &mut dyn ArrayBuilder) -> VortexResult<()>

Writes the array into the canonical builder. Read more
Source§

impl ArrayComputeImpl for ChunkedArray

Source§

const FILTER: Option<KernelRef>

Source§

fn _find_kernel(&self, _compute_fn: &dyn ComputeFn) -> Option<KernelRef>

Fallback implementation to lookup compute kernels at runtime.
Source§

impl ArrayImpl for ChunkedArray

Source§

type Encoding = ChunkedEncoding

Source§

fn _len(&self) -> usize

Source§

fn _dtype(&self) -> &DType

Source§

fn _vtable(&self) -> VTableRef

Source§

fn _with_children(&self, children: &[ArrayRef]) -> VortexResult<Self>

Replace the children of this array with the given arrays. Read more
Source§

impl ArrayStatisticsImpl for ChunkedArray

Source§

impl ArrayValidityImpl for ChunkedArray

Source§

fn _is_valid(&self, index: usize) -> VortexResult<bool>

Returns whether the index item is valid. Read more
Source§

fn _all_valid(&self) -> VortexResult<bool>

Returns whether the array is all valid.
Source§

fn _all_invalid(&self) -> VortexResult<bool>

Returns whether the array is all invalid.
Source§

fn _validity_mask(&self) -> VortexResult<Mask>

Returns the canonical validity mask for the array. Read more
Source§

fn _valid_count(&self) -> VortexResult<usize>

Returns the number of valid elements in the array. Read more
Source§

fn _invalid_count(&self) -> VortexResult<usize>

Returns the number of invalid elements in the array. Read more
Source§

impl ArrayVariantsImpl for ChunkedArray

Chunked arrays support all DTypes

Source§

fn _as_null_typed(&self) -> Option<&dyn NullArrayTrait>

Downcasts the array for null-specific behavior.
Source§

fn _as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>

Downcasts the array for bool-specific behavior.
Source§

fn _as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>

Downcasts the array for primitive-specific behavior.
Source§

fn _as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>

Downcasts the array for utf8-specific behavior.
Source§

fn _as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>

Downcasts the array for binary-specific behavior.
Source§

fn _as_struct_typed(&self) -> Option<&dyn StructArrayTrait>

Downcasts the array for struct-specific behavior.
Source§

fn _as_list_typed(&self) -> Option<&dyn ListArrayTrait>

Downcasts the array for list-specific behavior.
Source§

fn _as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>

Downcasts the array for extension-specific behavior.
Source§

impl ArrayVisitorImpl for ChunkedArray

Source§

impl BinaryBooleanFn<&ChunkedArray> for ChunkedEncoding

Source§

impl BinaryNumericFn<&ChunkedArray> for ChunkedEncoding

Source§

impl CastFn<&ChunkedArray> for ChunkedEncoding

Source§

fn cast(&self, array: &ChunkedArray, dtype: &DType) -> VortexResult<ArrayRef>

Source§

impl Clone for ChunkedArray

Source§

fn clone(&self) -> ChunkedArray

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CompareFn<&ChunkedArray> for ChunkedEncoding

Source§

fn compare( &self, lhs: &ChunkedArray, rhs: &dyn Array, operator: Operator, ) -> VortexResult<Option<ArrayRef>>

Compares two arrays and returns a new boolean array with the result of the comparison. Or, returns None if comparison is not supported for these arrays.
Source§

impl Debug for ChunkedArray

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ExtensionArrayTrait for ChunkedArray

Source§

fn storage_data(&self) -> ArrayRef

Returns the underlying ArrayRef, without the ExtDType.
Source§

fn ext_dtype(&self) -> &Arc<ExtDType>

Returns the extension logical DType.
Source§

impl FillNullFn<&ChunkedArray> for ChunkedEncoding

Source§

fn fill_null( &self, array: &ChunkedArray, fill_value: Scalar, ) -> VortexResult<ArrayRef>

Source§

impl FromIterator<Arc<dyn Array>> for ChunkedArray

Source§

fn from_iter<T: IntoIterator<Item = ArrayRef>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl InvertFn<&ChunkedArray> for ChunkedEncoding

Source§

fn invert(&self, array: &ChunkedArray) -> VortexResult<ArrayRef>

Logically invert a boolean array. Converts true -> false, false -> true, null -> null.
Source§

impl IsConstantFn<&ChunkedArray> for ChunkedEncoding

Source§

fn is_constant( &self, array: &ChunkedArray, opts: &IsConstantOpts, ) -> VortexResult<Option<bool>>

Preconditions Read more
Source§

impl IsSortedFn<&ChunkedArray> for ChunkedEncoding

Source§

impl MaskFn<&ChunkedArray> for ChunkedEncoding

Source§

fn mask(&self, array: &ChunkedArray, mask: Mask) -> VortexResult<ArrayRef>

Replace masked values with null in array.
Source§

impl MinMaxFn<&ChunkedArray> for ChunkedEncoding

Source§

impl PrimitiveArrayTrait for ChunkedArray

Source§

fn ptype(&self) -> PType

The logical primitive type of the array. Read more
Source§

impl ScalarAtFn<&ChunkedArray> for ChunkedEncoding

Source§

fn scalar_at(&self, array: &ChunkedArray, index: usize) -> VortexResult<Scalar>

Source§

impl SliceFn<&ChunkedArray> for ChunkedEncoding

Source§

fn slice( &self, array: &ChunkedArray, start: usize, stop: usize, ) -> VortexResult<ArrayRef>

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 StructArrayTrait for ChunkedArray

Source§

fn maybe_null_field_by_idx(&self, idx: usize) -> VortexResult<ArrayRef>

Return a field’s array by index, ignoring struct nullability
Source§

fn project(&self, projection: &[FieldName]) -> VortexResult<ArrayRef>

Source§

fn names(&self) -> &FieldNames

Source§

fn dtypes(&self) -> Vec<DType>

Source§

fn nfields(&self) -> usize

Source§

fn maybe_null_field_by_name(&self, name: &str) -> VortexResult<ArrayRef>

Return a field’s array by name, ignoring struct nullability
Source§

impl SumFn<&ChunkedArray> for ChunkedEncoding

Source§

fn sum(&self, array: &ChunkedArray) -> VortexResult<Scalar>

Preconditions Read more
Source§

impl TakeFn<&ChunkedArray> for ChunkedEncoding

Source§

fn take( &self, array: &ChunkedArray, indices: &dyn Array, ) -> VortexResult<ArrayRef>

Create a new array by taking the values from the array at the given indices. Read more
Source§

fn take_into( &self, array: A, indices: &dyn Array, builder: &mut dyn ArrayBuilder, ) -> VortexResult<()>

Has the same semantics as Self::take but materializes the result into the provided builder.
Source§

impl UncompressedSizeFn<&ChunkedArray> for ChunkedEncoding

Source§

fn uncompressed_size(&self, array: &ChunkedArray) -> VortexResult<usize>

Compute the approximated uncompressed size of the array, in bytes.
Source§

impl BinaryArrayTrait for ChunkedArray

Source§

impl BoolArrayTrait for ChunkedArray

Source§

impl ListArrayTrait for ChunkedArray

Source§

impl NullArrayTrait for ChunkedArray

Source§

impl Utf8ArrayTrait for ChunkedArray

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<A> Array for A
where A: ArrayImpl + 'static,

Source§

fn is_valid(&self, index: usize) -> Result<bool, VortexError>

Returns whether the item at index is valid.

Source§

fn is_invalid(&self, index: usize) -> Result<bool, VortexError>

Returns whether the item at index is invalid.

Source§

fn all_valid(&self) -> Result<bool, VortexError>

Returns whether all items in the array are valid.

This is usually cheaper than computing a precise valid_count.

Source§

fn all_invalid(&self) -> Result<bool, VortexError>

Returns whether the array is all invalid.

This is usually cheaper than computing a precise invalid_count.

Source§

fn valid_count(&self) -> Result<usize, VortexError>

Returns the number of valid elements in the array.

Source§

fn invalid_count(&self) -> Result<usize, VortexError>

Returns the number of invalid elements in the array.

Source§

fn validity_mask(&self) -> Result<Mask, VortexError>

Returns the canonical validity mask for the array.

Source§

fn to_canonical(&self) -> Result<Canonical, VortexError>

Returns the canonical representation of the array.

Source§

fn append_to_builder( &self, builder: &mut dyn ArrayBuilder, ) -> Result<(), VortexError>

Writes the array into the canonical builder.

The DType of the builder must match that of the array.

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns the array as a reference to a generic Any trait object.
Source§

fn as_any_arc(self: Arc<A>) -> Arc<dyn Any + Sync + Send>

Returns the array as an Arc reference to a generic Any trait object.
Source§

fn to_array(&self) -> Arc<dyn Array>

Returns the array as an ArrayRef.
Source§

fn into_array(self) -> Arc<dyn Array>

Converts the array into an ArrayRef.
Source§

fn len(&self) -> usize

Returns the length of the array.
Source§

fn dtype(&self) -> &DType

Returns the logical Vortex DType of the array.
Source§

fn encoding(&self) -> ArcRef<str>

Returns the encoding of the array.
Source§

fn vtable(&self) -> ArcRef<dyn EncodingVTable>

Returns the encoding VTable.
Source§

fn find_kernel(&self, compute_fn: &dyn ComputeFn) -> Option<ArcRef<dyn Kernel>>

Attempts to find a kernel for the given compute invocation.
Source§

fn statistics(&self) -> StatsSetRef<'_>

Returns the statistics of the array.
Source§

fn with_children( &self, children: &[Arc<dyn Array>], ) -> Result<Arc<dyn Array>, VortexError>

Replaces the children of the array with the given array references.
Source§

fn is_empty(&self) -> bool

Returns whether the array is empty (has zero rows).
Source§

fn is_encoding(&self, encoding: EncodingId) -> bool

Returns whether the array is of the given encoding.
Source§

fn is_arrow(&self) -> bool

Returns whether this array is an arrow encoding.
Source§

fn is_canonical(&self) -> bool

Whether the array is of a canonical encoding.
Source§

impl<A> ArrayExt for A
where A: Array + ?Sized,

Source§

fn as_<A: Array + 'static>(&self) -> &A

Returns the array downcast to the given A.
Source§

fn as_opt<A: Array + 'static>(&self) -> Option<&A>

Returns the array downcast to the given A.
Source§

fn is<A: Array + 'static>(&self) -> bool

Is self an array with encoding A.
Source§

impl<A> ArrayIteratorArrayExt for A
where A: Array + ?Sized,

Source§

fn to_array_iterator(&self) -> impl ArrayIterator + 'static

Create an ArrayIterator over the array.
Source§

impl<A> ArrayStatistics for A
where A: Array + 'static,

Source§

fn is_constant(&self) -> bool

Make a best effort attempt to try and figure out if the array is constant, without canonicalizing it.
Source§

fn as_constant(&self) -> Option<Scalar>

If Self::is_constant is true, return the actual constant value as a Scalar.
Source§

impl<A> ArrayStreamArrayExt for A
where A: Array + ?Sized,

Source§

fn to_array_stream(&self) -> impl ArrayStream + 'static

Create an ArrayStream over the array.
Source§

impl<A> ArrayVariants for A
where A: ArrayImpl,

Source§

fn as_null_typed(&self) -> Option<&dyn NullArrayTrait>

Downcasts the array for null-specific behavior.

Source§

fn as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>

Downcasts the array for bool-specific behavior.

Source§

fn as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>

Downcasts the array for primitive-specific behavior.

Source§

fn as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>

Downcasts the array for utf8-specific behavior.

Source§

fn as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>

Downcasts the array for binary-specific behavior.

Source§

fn as_struct_typed(&self) -> Option<&dyn StructArrayTrait>

Downcasts the array for struct-specific behavior.

Source§

fn as_list_typed(&self) -> Option<&dyn ListArrayTrait>

Downcasts the array for list-specific behavior.

Source§

fn as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>

Downcasts the array for extension-specific behavior.

Source§

impl<A> ArrayVisitor for A
where A: ArrayImpl,

Source§

fn children(&self) -> Vec<Arc<dyn Array>>

Returns the children of the array.
Source§

fn nchildren(&self) -> usize

Returns the number of children of the array.
Source§

fn children_names(&self) -> Vec<String>

Returns the names of the children of the array.
Source§

fn named_children(&self) -> Vec<(String, Arc<dyn Array>)>

Returns the array’s children with their names.
Source§

fn buffers(&self) -> Vec<Buffer<u8>>

Returns the buffers of the array.
Source§

fn nbuffers(&self) -> usize

Returns the number of buffers of the array.
Source§

fn metadata(&self) -> Option<Vec<u8>>

Returns the serialized metadata of the array.
Source§

fn metadata_fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats a human-readable metadata description.
Source§

impl<A> ArrayVisitorExt for A
where A: Array + ?Sized,

Source§

fn nbuffers_recursive(&self) -> usize

Count the number of buffers encoded by self and all child arrays.
Source§

fn depth_first_traversal(&self) -> impl Iterator<Item = ArrayRef>

Depth-first traversal of the array and its children.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T> NBytes for T
where T: Array + ?Sized,

Source§

fn nbytes(&self) -> usize

Total size of the array in bytes, including all children and buffers.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<A> ToCanonical for A
where A: Array + ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<A> TryFromArrayRef for A
where A: Array + Clone + 'static,

Source§

fn try_from_array(array: Arc<dyn Array>) -> Result<A, Arc<dyn Array>>

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T