pub struct FilteredEngineData { /* private fields */ }Expand description
Engine data paired with a selection vector indicating which rows are logically selected.
A value of true in the selection vector means the corresponding row is selected (i.e., not
deleted), while false means the row is logically deleted and should be ignored. If the
selection vector is shorter than the number of rows in data then all rows not covered by the
selection vector are assumed to be selected.
Interpreting unselected (false) rows will result in incorrect/undefined behavior.
Implementations§
Source§impl FilteredEngineData
impl FilteredEngineData
pub fn try_new( data: Box<dyn EngineData>, selection_vector: Vec<bool>, ) -> DeltaResult<Self>
Sourcepub fn data(&self) -> &dyn EngineData
pub fn data(&self) -> &dyn EngineData
Returns a reference to the underlying engine data.
Sourcepub fn selection_vector(&self) -> &[bool]
pub fn selection_vector(&self) -> &[bool]
Returns a reference to the selection vector.
Sourcepub fn into_parts(self) -> (Box<dyn EngineData>, Vec<bool>)
pub fn into_parts(self) -> (Box<dyn EngineData>, Vec<bool>)
Consumes the FilteredEngineData and returns the underlying data and selection vector.
Sourcepub fn with_all_rows_selected(data: Box<dyn EngineData>) -> Self
pub fn with_all_rows_selected(data: Box<dyn EngineData>) -> Self
Creates a new FilteredEngineData with all rows selected.
This is a convenience method for the common case where you want to wrap
EngineData in FilteredEngineData without any filtering.
Sourcepub fn apply_selection_vector(self) -> DeltaResult<Box<dyn EngineData>>
pub fn apply_selection_vector(self) -> DeltaResult<Box<dyn EngineData>>
Apply the contained selection vector and return an engine data with only the selected rows
included. This consumes the FilteredEngineData.
Trait Implementations§
Source§impl From<Box<dyn EngineData>> for FilteredEngineData
impl From<Box<dyn EngineData>> for FilteredEngineData
Source§fn from(data: Box<dyn EngineData>) -> Self
fn from(data: Box<dyn EngineData>) -> Self
Converts EngineData into FilteredEngineData with all rows selected.
This is a convenience conversion that wraps the provided engine data
in a FilteredEngineData with an empty selection vector, meaning all
rows are logically selected.
§Example
let engine_data: Box<dyn EngineData> = ...;
let filtered: FilteredEngineData = engine_data.into();Source§impl HasSelectionVector for FilteredEngineData
impl HasSelectionVector for FilteredEngineData
Source§fn has_selected_rows(&self) -> bool
Available on crate feature internal-api only.
fn has_selected_rows(&self) -> bool
internal-api only.Returns true if any row in the selection vector is marked as selected
Auto Trait Implementations§
impl !RefUnwindSafe for FilteredEngineData
impl !UnwindSafe for FilteredEngineData
impl Freeze for FilteredEngineData
impl Send for FilteredEngineData
impl Sync for FilteredEngineData
impl Unpin for FilteredEngineData
impl UnsafeUnpin for FilteredEngineData
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ
fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name, since Any does not provide it and
Any::type_id is useless as a debugging aid (its Debug is just a mess of hex digits).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
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>
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>
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
Source§fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
arrow-conversion and (crate features arrow-conversion or declarative-plans or default-engine-base) only.Source§impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
Source§fn try_into_kernel(self) -> Result<KernelType, ArrowError>
fn try_into_kernel(self) -> Result<KernelType, ArrowError>
arrow-conversion and (crate features arrow-conversion or declarative-plans or default-engine-base) only.