Struct ExtensionEncoding

Source
pub struct ExtensionEncoding;

Trait Implementations§

Source§

impl CompareFn<&ExtensionArray> for ExtensionEncoding

Source§

fn compare( &self, lhs: &ExtensionArray, 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 ComputeVTable for ExtensionEncoding

Source§

fn cast_fn(&self) -> Option<&dyn CastFn<&dyn Array>>

Implemented for arrays that can be casted to different types. Read more
Source§

fn compare_fn(&self) -> Option<&dyn CompareFn<&dyn Array>>

Binary operator implementation for arrays against other arrays. Read more
Source§

fn is_constant_fn(&self) -> Option<&dyn IsConstantFn<&dyn Array>>

Checks if an array is constant. Read more
Source§

fn is_sorted_fn(&self) -> Option<&dyn IsSortedFn<&dyn Array>>

Source§

fn scalar_at_fn(&self) -> Option<&dyn ScalarAtFn<&dyn Array>>

Single item indexing on Vortex arrays. Read more
Source§

fn slice_fn(&self) -> Option<&dyn SliceFn<&dyn Array>>

Perform zero-copy slicing of an array. Read more
Source§

fn sum_fn(&self) -> Option<&dyn SumFn<&dyn Array>>

Perform a sum of an array. Read more
Source§

fn take_fn(&self) -> Option<&dyn TakeFn<&dyn Array>>

Take a set of indices from an array. This often forces allocations and decoding of the receiver. Read more
Source§

fn to_arrow_fn(&self) -> Option<&dyn ToArrowFn<&dyn Array>>

Convert the array to an Arrow array of the given type. Read more
Source§

fn min_max_fn(&self) -> Option<&dyn MinMaxFn<&dyn Array>>

Compute the min, max of an array. Read more
Source§

fn uncompressed_size_fn(&self) -> Option<&dyn UncompressedSizeFn<&dyn Array>>

Approximates the uncompressed size of the array. Read more
Source§

fn between_fn(&self) -> Option<&dyn BetweenFn<&dyn Array>>

A ternary operator, returning bool if the values are between the other two given values. Read more
Source§

fn binary_boolean_fn(&self) -> Option<&dyn BinaryBooleanFn<&dyn Array>>

Implementation of binary boolean logic operations. Read more
Source§

fn binary_numeric_fn(&self) -> Option<&dyn BinaryNumericFn<&dyn Array>>

Implementation of binary numeric operations. Read more
Source§

fn fill_forward_fn(&self) -> Option<&dyn FillForwardFn<&dyn Array>>

Array function that returns new arrays a non-null value is repeated across runs of nulls. Read more
Source§

fn fill_null_fn(&self) -> Option<&dyn FillNullFn<&dyn Array>>

Fill null values with given desired value. Resulting array is NonNullable Read more
Source§

fn invert_fn(&self) -> Option<&dyn InvertFn<&dyn Array>>

Invert a boolean array. Converts true -> false, false -> true, null -> null. Read more
Source§

fn like_fn(&self) -> Option<&dyn LikeFn<&dyn Array>>

Perform a SQL LIKE operation on two arrays. Read more
Source§

fn mask_fn(&self) -> Option<&dyn MaskFn<&dyn Array>>

Replace masked values with null. Read more
Source§

fn optimize_fn(&self) -> Option<&dyn OptimizeFn<&dyn Array>>

Try and optimize the layout of an array. Read more
Source§

fn search_sorted_fn(&self) -> Option<&dyn SearchSortedFn<&dyn Array>>

Perform a search over an ordered array. Read more
Source§

fn search_sorted_usize_fn(&self) -> Option<&dyn SearchSortedUsizeFn<&dyn Array>>

Perform a search over an ordered array. Read more
Source§

fn take_from_fn(&self) -> Option<&dyn TakeFromFn<&dyn Array>>

Source§

impl Encoding for ExtensionEncoding

Source§

impl EncodingVTable for ExtensionEncoding

Source§

fn id(&self) -> EncodingId

Return the ID for this encoding implementation.
Source§

fn decode( &self, parts: &ArrayParts, ctx: &ArrayContext, dtype: DType, len: usize, ) -> VortexResult<ArrayRef>

Source§

fn encode( &self, input: &Canonical, _like: Option<&dyn Array>, ) -> VortexResult<Option<ArrayRef>>

Encode the canonical array into this encoding implementation. Read more
Source§

impl FilterKernel for ExtensionEncoding

Source§

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

Filter an array by the provided predicate. Read more
Source§

impl IsConstantFn<&ExtensionArray> for ExtensionEncoding

Source§

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

Preconditions Read more
Source§

impl IsSortedFn<&ExtensionArray> for ExtensionEncoding

Source§

impl MinMaxFn<&ExtensionArray> for ExtensionEncoding

Source§

impl ScalarAtFn<&ExtensionArray> for ExtensionEncoding

Source§

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

Source§

impl SliceFn<&ExtensionArray> for ExtensionEncoding

Source§

fn slice( &self, array: &ExtensionArray, 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 SumFn<&ExtensionArray> for ExtensionEncoding

Source§

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

Preconditions Read more
Source§

impl TakeFn<&ExtensionArray> for ExtensionEncoding

Source§

fn take( &self, array: &ExtensionArray, 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 ToArrowFn<&ExtensionArray> for ExtensionEncoding

Source§

fn to_arrow( &self, array: &ExtensionArray, data_type: &DataType, ) -> VortexResult<Option<ArrayRef>>

Convert the array to an Arrow array of the given type. Read more
Source§

fn preferred_arrow_data_type(&self, _array: A) -> VortexResult<Option<DataType>>

Return the preferred Arrow DataType of the encoding, or None of the canonical DataType for the array’s Vortex vortex_dtype::DType should be used.
Source§

impl UncompressedSizeFn<&ExtensionArray> for ExtensionEncoding

Source§

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

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

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<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<E> CompareFn<&dyn Array> for E
where E: Encoding + for<'a> CompareFn<&'a <E as Encoding>::Array>,

Source§

fn compare( &self, lhs: &dyn Array, rhs: &dyn Array, operator: Operator, ) -> Result<Option<Arc<dyn Array>>, VortexError>

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<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<E> IsConstantFn<&dyn Array> for E
where E: Encoding + for<'a> IsConstantFn<&'a <E as Encoding>::Array>,

Source§

fn is_constant( &self, array: &dyn Array, opts: &IsConstantOpts, ) -> Result<Option<bool>, VortexError>

Preconditions Read more
Source§

impl<E> IsSortedFn<&dyn Array> for E
where E: Encoding + for<'a> IsSortedFn<&'a <E as Encoding>::Array>,

Source§

fn is_sorted(&self, array: &dyn Array) -> Result<bool, VortexError>

Preconditions Read more
Source§

fn is_strict_sorted(&self, array: &dyn Array) -> Result<bool, VortexError>

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<E> MinMaxFn<&dyn Array> for E
where E: Encoding + for<'a> MinMaxFn<&'a <E as Encoding>::Array>,

Source§

fn min_max( &self, array: &dyn Array, ) -> Result<Option<MinMaxResult>, VortexError>

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<E> ScalarAtFn<&dyn Array> for E
where E: Encoding + for<'a> ScalarAtFn<&'a <E as Encoding>::Array>,

Source§

fn scalar_at( &self, array: &dyn Array, index: usize, ) -> Result<Scalar, VortexError>

Source§

impl<E> SliceFn<&dyn Array> for E
where E: Encoding + for<'a> SliceFn<&'a <E as Encoding>::Array>,

Source§

fn slice( &self, array: &dyn Array, start: usize, stop: usize, ) -> Result<Arc<dyn Array>, VortexError>

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<E> SumFn<&dyn Array> for E
where E: Encoding + for<'a> SumFn<&'a <E as Encoding>::Array>,

Source§

fn sum(&self, array: &dyn Array) -> Result<Scalar, VortexError>

Preconditions Read more
Source§

impl<E> TakeFn<&dyn Array> for E
where E: Encoding + for<'a> TakeFn<&'a <E as Encoding>::Array>,

Source§

fn take( &self, array: &dyn Array, indices: &dyn Array, ) -> Result<Arc<dyn Array>, VortexError>

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

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

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

impl<E> ToArrowFn<&dyn Array> for E
where E: Encoding + for<'a> ToArrowFn<&'a <E as Encoding>::Array>,

Source§

fn preferred_arrow_data_type( &self, array: &dyn Array, ) -> Result<Option<DataType>, VortexError>

Return the preferred Arrow DataType of the encoding, or None of the canonical DataType for the array’s Vortex vortex_dtype::DType should be used.
Source§

fn to_arrow( &self, array: &dyn Array, data_type: &DataType, ) -> Result<Option<Arc<dyn Array>>, VortexError>

Convert the array to an Arrow array of the given type. 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<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<E> UncompressedSizeFn<&dyn Array> for E
where E: Encoding + for<'a> UncompressedSizeFn<&'a <E as Encoding>::Array>,

Source§

fn uncompressed_size(&self, array: &dyn Array) -> Result<usize, VortexError>

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

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

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

Source§

impl<T> MaybeSendSync for T