pub struct WellKnownBinary;Expand description
An extension type for OGC Well-known Binary (WKB) data format.
This is one of the most common formats for sharing of geometry data between analytic systems, used by DuckDB, PostGIS and GeoParquet.
Trait Implementations§
Source§impl ArrowExportVTable for WellKnownBinary
impl ArrowExportVTable for WellKnownBinary
Source§fn arrow_ext_id(&self) -> Id
fn arrow_ext_id(&self) -> Id
The Arrow extension ID this plugin produces.
Source§fn vortex_id(&self) -> Id
fn vortex_id(&self) -> Id
The Vortex array or extension ID this plugin maps from. Used only for inference by
ArrowSession::to_arrow_field / ArrowSession::to_arrow_schema; never as a
dispatch key for execute_arrow.Source§fn to_arrow_field(
&self,
name: &str,
dtype: &DType,
session: &ArrowSession,
) -> VortexResult<Option<Field>>
fn to_arrow_field( &self, name: &str, dtype: &DType, session: &ArrowSession, ) -> VortexResult<Option<Field>>
Build the Arrow
Field this plugin produces for the given Vortex extension
dtype. Used during schema inference.Source§fn execute_arrow(
&self,
array: ArrayRef,
target: &Field,
ctx: &mut ExecutionCtx,
) -> VortexResult<ArrowExport>
fn execute_arrow( &self, array: ArrayRef, target: &Field, ctx: &mut ExecutionCtx, ) -> VortexResult<ArrowExport>
Convert a Vortex array into an Arrow array shaped to
target. Read moreSource§impl ArrowImportVTable for WellKnownBinary
impl ArrowImportVTable for WellKnownBinary
Source§fn arrow_ext_id(&self) -> Id
fn arrow_ext_id(&self) -> Id
The Arrow extension name this plugin handles.
Source§fn from_arrow_field(&self, field: &Field) -> VortexResult<Option<DType>>
fn from_arrow_field(&self, field: &Field) -> VortexResult<Option<DType>>
Build the Vortex
DType that corresponds to field (which carries this plugin’s
Arrow extension metadata).Source§fn from_arrow_array(
&self,
array: ArrowArrayRef,
field: &Field,
dtype: &DType,
) -> VortexResult<ArrowImport>
fn from_arrow_array( &self, array: ArrowArrayRef, field: &Field, dtype: &DType, ) -> VortexResult<ArrowImport>
Convert an Arrow array into a Vortex array of
dtype. Read moreSource§impl Clone for WellKnownBinary
impl Clone for WellKnownBinary
Source§fn clone(&self) -> WellKnownBinary
fn clone(&self) -> WellKnownBinary
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 WellKnownBinary
impl Debug for WellKnownBinary
Source§impl Default for WellKnownBinary
impl Default for WellKnownBinary
Source§fn default() -> WellKnownBinary
fn default() -> WellKnownBinary
Returns the “default value” for a type. Read more
impl Eq for WellKnownBinary
Source§impl ExtVTable for WellKnownBinary
impl ExtVTable for WellKnownBinary
Source§type Metadata = GeoMetadata
type Metadata = GeoMetadata
Associated type containing the deserialized metadata for this extension type.
Source§type NativeValue<'a> = Wkb<'a>
type NativeValue<'a> = Wkb<'a>
A native Rust value that represents a scalar of the extension type. Read more
Source§fn serialize_metadata(&self, metadata: &Self::Metadata) -> VortexResult<Vec<u8>>
fn serialize_metadata(&self, metadata: &Self::Metadata) -> VortexResult<Vec<u8>>
Serialize the metadata into a byte vector.
Source§fn deserialize_metadata(&self, metadata: &[u8]) -> VortexResult<Self::Metadata>
fn deserialize_metadata(&self, metadata: &[u8]) -> VortexResult<Self::Metadata>
Deserialize the metadata from a byte slice.
Source§fn validate_dtype(ext_dtype: &ExtDType<Self>) -> VortexResult<()>
fn validate_dtype(ext_dtype: &ExtDType<Self>) -> VortexResult<()>
Validate that the given storage type is compatible with this extension type. Read more
Source§fn unpack_native<'a>(
_ext_dtype: &'a ExtDType<Self>,
storage_value: &'a ScalarValue,
) -> VortexResult<Self::NativeValue<'a>>
fn unpack_native<'a>( _ext_dtype: &'a ExtDType<Self>, storage_value: &'a ScalarValue, ) -> VortexResult<Self::NativeValue<'a>>
Validate and unpack a native value from the storage
ScalarValue. Read moreSource§fn can_coerce_from(ext_dtype: &ExtDType<Self>, other: &DType) -> bool
fn can_coerce_from(ext_dtype: &ExtDType<Self>, other: &DType) -> bool
Can a value of
other be implicitly widened into this type? (e.g. GeographyType might
accept Point, LineString, etc.) Read moreSource§fn can_coerce_to(ext_dtype: &ExtDType<Self>, other: &DType) -> bool
fn can_coerce_to(ext_dtype: &ExtDType<Self>, other: &DType) -> bool
Can this type be implicitly widened into
other? Read moreSource§fn least_supertype(ext_dtype: &ExtDType<Self>, other: &DType) -> Option<DType>
fn least_supertype(ext_dtype: &ExtDType<Self>, other: &DType) -> Option<DType>
Given two types in a Uniform context, what is their least supertype? Read more
Source§fn validate_scalar_value(
ext_dtype: &ExtDType<Self>,
storage_value: &ScalarValue,
) -> Result<(), VortexError>
fn validate_scalar_value( ext_dtype: &ExtDType<Self>, storage_value: &ScalarValue, ) -> Result<(), VortexError>
Validate the given storage value is compatible with the extension type. Read more
Source§impl Hash for WellKnownBinary
impl Hash for WellKnownBinary
Source§impl PartialEq for WellKnownBinary
impl PartialEq for WellKnownBinary
Source§fn eq(&self, other: &WellKnownBinary) -> bool
fn eq(&self, other: &WellKnownBinary) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for WellKnownBinary
Auto Trait Implementations§
impl Freeze for WellKnownBinary
impl RefUnwindSafe for WellKnownBinary
impl Send for WellKnownBinary
impl Sync for WellKnownBinary
impl Unpin for WellKnownBinary
impl UnsafeUnpin for WellKnownBinary
impl UnwindSafe for WellKnownBinary
Blanket Implementations§
impl<T> Allocation for T
impl<A> Annotation for A
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<V> ExtDTypePlugin for Vwhere
V: ExtVTable,
impl<V> ExtDTypePlugin for Vwhere
V: ExtVTable,
Source§fn deserialize(
&self,
data: &[u8],
storage_dtype: DType,
) -> Result<ExtDTypeRef, VortexError>
fn deserialize( &self, data: &[u8], storage_dtype: DType, ) -> Result<ExtDTypeRef, VortexError>
Deserialize an extension type from serialized metadata.
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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<V> Matcher for Vwhere
V: ExtVTable,
impl<V> Matcher for Vwhere
V: ExtVTable,
Source§fn matches(ext_dtype: &ExtDTypeRef) -> bool
fn matches(ext_dtype: &ExtDTypeRef) -> bool
Check if the given extension dtype matches this matcher.
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.