Skip to main content

DeltaProviderScanExecutionOptions

Struct DeltaProviderScanExecutionOptions 

Source
pub struct DeltaProviderScanExecutionOptions {
    pub reader_backend: DeltaProviderReaderBackend,
    pub max_concurrent_file_reads_per_scan: Option<usize>,
    pub max_concurrent_file_reads_per_partition: usize,
    pub output_buffer_capacity_per_partition: usize,
    pub native_async_prefetch_file_count_per_partition: usize,
}
Expand description

Bounded scheduling options for one Delta DataFusion provider scan.

These limits apply to provider-scheduled physical Delta file reads. The official-kernel sync fallback limits a conservative file-level handoff: reading one file and sending its batches into the bounded DataFusion output channel. The native async reader preserves the same active-read semantics with async semaphore-style permits.

Fields§

§reader_backend: DeltaProviderReaderBackend

File-reader backend used by normal provider scan execution.

§max_concurrent_file_reads_per_scan: Option<usize>

Maximum file-read handoffs that may run at once across the whole scan.

This is the scan-wide concurrency cap shared by all DataFusion execution partitions for one provider scan.

§max_concurrent_file_reads_per_partition: usize

Maximum file-read handoffs that one execution partition may own at once.

This prevents a single DataFusion execution partition from consuming all scan-wide read capacity when multiple scan partitions are active.

§output_buffer_capacity_per_partition: usize

Bounded output channel capacity for each DataFusion execution partition.

This is the producer-to-DataFusion handoff queue used after file reads produce Arrow batches. A value of 1 preserves the historical behavior.

§native_async_prefetch_file_count_per_partition: usize

Native async file reads to prefetch ahead of downstream demand per partition.

A value of 0 keeps the native async backend fully lazy: each file is opened only after the previous file is drained. Positive values allow the native async backend to begin opening additional files while the current file is still producing batches. This setting is internal hardening and benchmark surface; the official-kernel backend ignores it.

Implementations§

Source§

impl DeltaProviderScanExecutionOptions

Source

pub fn try_new( max_concurrent_file_reads_per_scan: usize, max_concurrent_file_reads_per_partition: usize, ) -> Result<Self, DeltaFunnelError>

Builds validated Delta provider scan execution options.

Source

pub fn try_new_with_reader_backend( reader_backend: DeltaProviderReaderBackend, max_concurrent_file_reads_per_scan: usize, max_concurrent_file_reads_per_partition: usize, ) -> Result<Self, DeltaFunnelError>

Builds validated Delta provider scan execution options with a reader backend.

Source

pub fn with_output_buffer_capacity_per_partition( self, output_buffer_capacity_per_partition: usize, ) -> Result<Self, DeltaFunnelError>

Sets the per-partition bounded output buffer capacity.

Source

pub fn with_native_async_prefetch_file_count_per_partition( self, native_async_prefetch_file_count_per_partition: usize, ) -> Result<Self, DeltaFunnelError>

Sets native async file-read prefetch depth per execution partition.

Source

pub fn validate(&self) -> Result<(), DeltaFunnelError>

Validates provider scan execution bounds before registration or scan execution.

Trait Implementations§

Source§

impl Clone for DeltaProviderScanExecutionOptions

Source§

fn clone(&self) -> DeltaProviderScanExecutionOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for DeltaProviderScanExecutionOptions

Source§

impl Debug for DeltaProviderScanExecutionOptions

Source§

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

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

impl Default for DeltaProviderScanExecutionOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for DeltaProviderScanExecutionOptions

Source§

impl PartialEq for DeltaProviderScanExecutionOptions

Source§

fn eq(&self, other: &DeltaProviderScanExecutionOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for DeltaProviderScanExecutionOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

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

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> AsAny for T
where T: Any + Send + Sync,

Source§

fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)

Obtains a dyn Any reference to the object: Read more
Source§

fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Obtains an Arc<dyn Any> reference to the object: Read more
Source§

fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts the object to Box<dyn Any>: Read more
Source§

fn type_name(&self) -> &'static str

Convenient wrapper for 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> 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DynEq for T
where T: Eq + Any,

Source§

fn dyn_eq(&self, other: &(dyn Any + 'static)) -> bool

Source§

impl<T> DynPartialEq for T
where T: PartialEq + AsAny,

Source§

fn dyn_eq(&self, other: &(dyn Any + 'static)) -> bool

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<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<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelType
where ArrowType: TryFromKernel<KernelType>,

Source§

fn try_into_arrow(self) -> Result<ArrowType, ArrowError>

Source§

impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowType
where KernelType: TryFromArrow<ArrowType>,

Source§

fn try_into_kernel(self) -> Result<KernelType, ArrowError>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more