pub struct NativeLoadCapability {
pub format: NativeFormat,
pub mechanism: &'static str,
pub write_modes: &'static [WriteMode],
}Expand description
An efficient native-load mechanism a sink offers. A sink returns one of
these per mechanism it supports from
Sink::native_load_capabilities.
A capability declares only what genuinely varies per mechanism: the format
and the write modes it can honor. Everything a byte passthrough can never
support — transforms, the quality/contract/masking governance passes,
per-row DLQ routing, exactly-once delivery — is gated unconditionally by
the pipeline (plan_native_transfer rejects those runs outright). No
capability can waive those gates: they need Value access or a commit-token
protocol the byte path structurally does not have, so a declarative opt-out
could only ship silently-unenforced governance.
Fields§
§format: NativeFormatThe wire format this mechanism consumes.
mechanism: &'static strA short, stable label for logs / metrics (e.g. "bigquery-load-job").
write_modes: &'static [WriteMode]Write modes this mechanism can honor (typically Append and/or
Overwrite; Upsert/Delete need per-row keys and so are never
passthrough-eligible — the pipeline rejects them before matching).
Trait Implementations§
Source§impl Clone for NativeLoadCapability
impl Clone for NativeLoadCapability
Auto Trait Implementations§
impl Freeze for NativeLoadCapability
impl RefUnwindSafe for NativeLoadCapability
impl Send for NativeLoadCapability
impl Sync for NativeLoadCapability
impl Unpin for NativeLoadCapability
impl UnsafeUnpin for NativeLoadCapability
impl UnwindSafe for NativeLoadCapability
Blanket Implementations§
impl<T> Allocation for T
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request