pub struct OpaqueEncoding(pub u16);
Expand description
An encoding of an array that we cannot interpret.
Vortex allows for pluggable encodings. This can lead to issues when one process produces a file using a custom encoding, and then another process without knowledge of the encoding attempts to read it.
OpaqueEncoding
allows deserializing these arrays. Many common operations will fail, but it
allows deserialization and introspection in a type-erased manner on the children and metadata.
We hold the original 16-bit encoding ID for producing helpful error messages.
Tuple Fields§
§0: u16
Trait Implementations§
Source§impl CanonicalVTable<Array> for OpaqueEncoding
impl CanonicalVTable<Array> for OpaqueEncoding
fn into_canonical(&self, _array: Array) -> VortexResult<Canonical>
Source§impl Clone for OpaqueEncoding
impl Clone for OpaqueEncoding
Source§fn clone(&self) -> OpaqueEncoding
fn clone(&self) -> OpaqueEncoding
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 ComputeVTable for OpaqueEncoding
impl ComputeVTable for OpaqueEncoding
Source§fn binary_boolean_fn(&self) -> Option<&dyn BinaryBooleanFn<Array>>
fn binary_boolean_fn(&self) -> Option<&dyn BinaryBooleanFn<Array>>
Implementation of binary boolean logic operations. Read more
Source§fn binary_numeric_fn(&self) -> Option<&dyn BinaryNumericFn<Array>>
fn binary_numeric_fn(&self) -> Option<&dyn BinaryNumericFn<Array>>
Implementation of binary numeric operations. Read more
Source§fn cast_fn(&self) -> Option<&dyn CastFn<Array>>
fn cast_fn(&self) -> Option<&dyn CastFn<Array>>
Implemented for arrays that can be casted to different types. Read more
Source§fn compare_fn(&self) -> Option<&dyn CompareFn<Array>>
fn compare_fn(&self) -> Option<&dyn CompareFn<Array>>
Binary operator implementation for arrays against other arrays. Read more
Source§fn fill_forward_fn(&self) -> Option<&dyn FillForwardFn<Array>>
fn fill_forward_fn(&self) -> Option<&dyn FillForwardFn<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<Array>>
fn fill_null_fn(&self) -> Option<&dyn FillNullFn<Array>>
Fill null values with given desired value. Resulting array is NonNullable Read more
Source§fn filter_fn(&self) -> Option<&dyn FilterFn<Array>>
fn filter_fn(&self) -> Option<&dyn FilterFn<Array>>
Filter an array with a given mask. Read more
Source§fn invert_fn(&self) -> Option<&dyn InvertFn<Array>>
fn invert_fn(&self) -> Option<&dyn InvertFn<Array>>
Invert a boolean array. Converts true -> false, false -> true, null -> null. Read more
Source§fn like_fn(&self) -> Option<&dyn LikeFn<Array>>
fn like_fn(&self) -> Option<&dyn LikeFn<Array>>
Perform a SQL LIKE operation on two arrays. Read more
Source§fn scalar_at_fn(&self) -> Option<&dyn ScalarAtFn<Array>>
fn scalar_at_fn(&self) -> Option<&dyn ScalarAtFn<Array>>
Single item indexing on Vortex arrays. Read more
Source§fn search_sorted_fn(&self) -> Option<&dyn SearchSortedFn<Array>>
fn search_sorted_fn(&self) -> Option<&dyn SearchSortedFn<Array>>
Perform a search over an ordered array. Read more
Source§fn search_sorted_usize_fn(&self) -> Option<&dyn SearchSortedUsizeFn<Array>>
fn search_sorted_usize_fn(&self) -> Option<&dyn SearchSortedUsizeFn<Array>>
Perform a search over an ordered array. Read more
Source§fn slice_fn(&self) -> Option<&dyn SliceFn<Array>>
fn slice_fn(&self) -> Option<&dyn SliceFn<Array>>
Perform zero-copy slicing of an array. Read more
Source§impl Debug for OpaqueEncoding
impl Debug for OpaqueEncoding
Source§impl EncodingVTable for OpaqueEncoding
impl EncodingVTable for OpaqueEncoding
Source§impl MetadataVTable<Array> for OpaqueEncoding
impl MetadataVTable<Array> for OpaqueEncoding
fn validate_metadata(&self, _metadata: Option<&[u8]>) -> VortexResult<()>
fn display_metadata(&self, _array: &Array, f: &mut Formatter<'_>) -> Result
Source§impl StatisticsVTable<Array> for OpaqueEncoding
impl StatisticsVTable<Array> for OpaqueEncoding
Source§fn compute_statistics(
&self,
_array: &Array,
_stat: Stat,
) -> VortexResult<StatsSet>
fn compute_statistics( &self, _array: &Array, _stat: Stat, ) -> VortexResult<StatsSet>
Compute the requested statistic. Can return additional stats.
Source§impl ValidateVTable<Array> for OpaqueEncoding
impl ValidateVTable<Array> for OpaqueEncoding
Source§impl ValidityVTable<Array> for OpaqueEncoding
impl ValidityVTable<Array> for OpaqueEncoding
Source§fn is_valid(&self, _array: &Array, _index: usize) -> VortexResult<bool>
fn is_valid(&self, _array: &Array, _index: usize) -> VortexResult<bool>
Returns whether the
index
item is valid.Source§fn all_valid(&self, _array: &Array) -> VortexResult<bool>
fn all_valid(&self, _array: &Array) -> VortexResult<bool>
Returns whether the array is all valid. Read more
fn validity_mask(&self, _array: &Array) -> VortexResult<Mask>
Source§fn invalid_count(&self, array: &Array) -> VortexResult<usize>
fn invalid_count(&self, array: &Array) -> VortexResult<usize>
Returns the number of invalid elements in the array.
Source§impl VariantsVTable<Array> for OpaqueEncoding
impl VariantsVTable<Array> for OpaqueEncoding
fn as_null_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn NullArrayTrait>
fn as_bool_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn BoolArrayTrait>
fn as_primitive_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn PrimitiveArrayTrait>
fn as_utf8_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn Utf8ArrayTrait>
fn as_binary_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn BinaryArrayTrait>
fn as_struct_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn StructArrayTrait>
fn as_list_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn ListArrayTrait>
fn as_extension_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn ExtensionArrayTrait>
Source§impl VisitorVTable<Array> for OpaqueEncoding
impl VisitorVTable<Array> for OpaqueEncoding
fn accept( &self, _array: &Array, _visitor: &mut dyn ArrayVisitor, ) -> VortexResult<()>
impl Copy for OpaqueEncoding
Auto Trait Implementations§
impl Freeze for OpaqueEncoding
impl RefUnwindSafe for OpaqueEncoding
impl Send for OpaqueEncoding
impl Sync for OpaqueEncoding
impl Unpin for OpaqueEncoding
impl UnwindSafe for OpaqueEncoding
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> 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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
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>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.